2018年4月19日 星期四

數位溫度計實作(四):將所有功能整合

將溫度計測到結果,利用LCD顯示,並以藍牙發送手機。
接線雖然看起來有些複雜,只要照順序接,也就不會混亂。
請將以下Arduino的程式上傳:

(記得函式庫裏要有之前裝的3個library)
(上傳程式時,Arduino的TX、RX腳的線要斷開)







數位溫度計實作(三):測試LCD

       要離線讀取溫度,除了利用藍牙與手機,最方便的方式就是利用液晶螢幕了,這裡使用的是I2C介面的LCD,只需要4條接線就能控制,一次可以顯示2列,各16個字元,可以參考CooperMa這篇的介紹。
先將4條接線與Arduino接上

I2C介面的LCD需要使用函式庫,一樣下載後,複製資料夾到Arduino主程式裏:

現在來寫些訊息,測試LCD輸出吧!
                          
執行後,這就是你的 Hello World! 程式。









數位溫度計實作(二):裝上藍牙,利用手機看結果

如果在不使用電腦的情況下,如何將測到的溫度結果show出來呢?
這時候藍牙傳輸+手機顯示或許是不錯的選擇。只需要在剛寫好的程式裡加上1行:
這樣手機的APP就知道要顯示底下數值。
請將修改好的程式上傳到Arduino:
藍牙的接線(接到Arduino的TX、RX):
(請注意:上傳程式到Arduino時,TX、RX與藍牙的接線要先拔起)

另外,手機上(Android)安裝 Bluetooth Graphics這個App,就可以把數值畫出來。
請參考操作影片





數位溫度計實作(一):安裝DS18B20溫度計

DS18B20溫度計的測量範圍為-55°C to +125°C (請看原廠datasheet),使用時需要外接1個4.7k歐姆的電阻,將電源5VDS18B20的信號腳連接在一起。例如,如果我們是用Arduino的第5腳(D5)來讀取DS18B20的訊號:
那麼就把電阻跨接在電源5V、Arduino的第5腳。
將DS18B20溫度計的電源正、負端與信號線都插入麵包板上的相對位置:
接下來就要借助程式部分來把溫度計讀到的訊號,翻譯成真正的溫度數值。DS18B20需要用到2個函式庫(原廠已經寫好,方便用戶可以用簡單語法讀到感測器結果),需要先下載後,解壓縮2個資料夾、將資料夾複製到Arduino主程式的library資料夾:


函式庫複製好後,就可以下指令使用DS18B20,請下載以下程式,並在Arduino IDE中開啟:
將這個程式上傳到Arduino(記得要先接上USB線,選好板子、port):
打開電腦的序列埠監控視窗,就可以看到執行結果。
只要更改ds18b.ino程式裡delay(括號)的毫秒數,就可以選擇需要的時間輸出間隔。