1. 程式人生 > >003用LabVIEW和Arduino開發一個溫度採集系統

003用LabVIEW和Arduino開發一個溫度採集系統

1背景

其實滿打滿算,今天是自己接觸LabVIEW的第四天,只是是由於國慶節之前報名參加了一個比賽,國慶節期間又沒有引起足夠的重視,所以當比賽只剩下四天的時候才開始研究LabVIEW。雖然趕在截止時間幾個鐘頭前完成了預期任務,雖然加班加點、廢寢忘食的狀態甚是酸爽,但是不得不承認在這麼短的時間內以一己之力(雖然是三人組對報名)完成這麼一個任務還是太消耗精力了。四天過來,損失的是睡眠和學習的效率以及落下一堆作業,但是看到自己經過四天高強度的學習能拿出一個東西還是萬分欣慰,幾度覺得自己要完蛋了,但是終究還是堅持下來了,尤其是週三,貌似除了晚上去上了個選修課就一直在學,終於在最後一天昇華了,不容易啊。很多時候,打敗你的不是困難,而是你的懶惰和隨著年齡增長日趨銷蝕的耐性啊!

2介紹

1、LabVIEW:LabVIEW是一種程式開發環境,由美國國家儀器(NI)公司研製開發,類似於C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是採用基於文字的語言產生程式碼,而LabVIEW使用的是圖形化編輯語言G編寫程式,產生的程式是框圖的形式。 LabVIEW軟體是NI設計平臺的核心,也是開發測量或控制系統的理想選擇。 LabVIEW開發環境集成了工程師和科學家快速構建各種應用所需的所有工具,旨在幫助工程師和科學家解決問題、提高生產力和不斷創新。 2、Arduino:Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的Arduino板)和軟體(Arduino IDE)。由一個歐洲開發團隊最早於2005年冬季開發。

3功能預期

1實時顯示溫度; 2顯示溫度在一定時期內的變化; 3使用者能設定一些相關引數; 4報警功能; 5將歷史溫度儲存到excel表格中;

4開發流程

1更具要求的功能設計前面板(具體如何提高美觀程度可自行探索),這是我設計的前面板:
可能對新手難一點的是設定控制元件透明和加入圖片。 值得一提的是設計LabVIEW時,一般先根據要達到的功能把前面板上的控制元件選擇好,然後再進行程式框圖的設計(關於LabVIEW前面板和程式框圖的實用知識可以網上學習,推薦谷歌搜尋)。 前面板設計好後不要急於美化,因為程式設計序框圖時可能會有改動。 現在還只是有了個外殼,想要讓它投入使用還要對程式圖進行程式設計。程式設計用到的主要是VISA和LIFA,這兩個工具都要自己用VIPM配置,具體如何配置也可以找到大量教程。編好後大概如下圖


畫完程式框圖還是不能投入使用!!因為我們只是編好了上位機,下位機的問題還沒有解決。一般情況下下位機要自己根據需要自己用C語言編寫,但這裡NI已經幫我們全部編好了,我們要做的就是把它燒錄到Arduino開發板中,這個LIFA_Base.ino檔案在路徑....LabVIEW 2014\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base中,燒錄進Arduino就可以了。 至此,這個溫度採集系統的上位機和下位機已經全部寫好了。我用的是LM35 DZ這個溫度感測器,用什麼常感器其實不重要,只要閱讀技術手冊就可以以不變應萬變了。 最後看看採集的溫度excel表格。

5總結

1科學的使用搜索引擎,否則你會得到一大堆無用的資訊(比如YouTube能直接收到相關視訊); 2不要熬夜,早做準備,曾經熬得夜都是今後受的罪(我這兩天就高燒不止、渾身痠痛); 3擅長閱讀軟體自帶的幫助文件,逐漸習慣在相關社群提問,不要在大量冗雜資訊中迷失了; 4自己的硬體知識學的確實不過關,這個採集系統還要依靠“調節電阻”來修正,預設電阻是10k歐姆,但是這個系統設定為1000歐姆左右就行了,對LM35的特效能夠理解,但具體到開發板中就凌亂了。而且自己今天已經決定退出基地,因為自己下午去“網際網路+”工作室,發現自己還是跟喜歡那些東西,也想學硬體,奈何時間和精力都不允許,而且模電和電路分析也還學的模模糊糊,還是應該重視學習。這次比大一順利多了,用了一個多月已經確定了自己喜歡的方向,一年之後,期待成為web方面的大神,當然退出基地也讓自己有更多的自由支配時間,可以做自己喜歡的事,期待明天感冒能好,期待大二的成長。(2015-10-17)