溫濕度感測器
溫濕度感測器(DHT11),其電子零件樣貌如下圖,其腳位由左至右的功能依序為:VCC、Data、無作用、GND。因第三支接腳無作用,所以控制此模組,只需要三條線,若再扣除電源(VCC、GND),只需要一條線就可以接收溫度及濕度數據,是否覺得很厲害呢!
不過魔鬼總是隱藏在細節中,只透過一條線就能取得溫度與濕度的數據,表示透過這條線要進行的通訊協定不簡單。
# 實作步驟
- 學習使用
- 設計電路圖
- 連接電路
- 搭建積木程式 & 執行
# 學習使用
學習使用溫濕度感測器對應的積木,每秒進行一次量測,並將量測的結果顯示在LX終端機畫面上。實驗過程中,可透過對DHT11元件呼氣,來觀察其量測到的溫度及濕度的變化。
在LX終端機的輸出中,每一行是一組數據(溫度, 濕度),可以看到呼氣後,濕度大幅上升,溫度些微增加。
隨著時間逐漸的流逝,溫度與濕度也漸漸恢復到環境數據的穩定狀態。
# 設計電路圖
電路圖設計如下:
# 連接電路
實際線路如下圖,建議連接步驟如下,若您要移除電路時,請使用相反的順序進行即可。
- 於麵包板上連接相關元件
- 資料、控制腳位連接上樹莓派
- GND腳位連接上樹莓派
- VCC(5V or 3.3V)腳位連接上樹莓派
# 搭建積木程式 & 執行
開啟積木程式畫面如下,若您已經下載代理程式,並且完成「rp_agent」設定,可以將首次使用須知下方的框框,勾選「不再顯示此訊息」,並按下「確定」按鈕。
PS. cwBlockly頁面請於樹莓派中執行。
初始畫面如下。
控制溫濕度感測器的積木位於「感測元件」→「溫濕度感測器」。
拖曳「溫濕度感測器定義積木」至RPi預設積木中,並將腳位編號改為11。
要使用溫濕度感測器來量測溫度與濕度。請再次打開「溫濕度感測器」積木區,拖曳並放置「量測溫濕度」積木。
發現量測溫濕度積木,無法加入上方的積木塊中,因為此積木的作用方式不同,我們必須決定將取回的數值,做什麼動作,例如:顯示在LX終端機中;或放在判斷積木中,進行數值的判斷,實現自動開關冷氣、除濕機等應用。
此處我們以最簡單的觀察方式,就是讓這個數值,輸出在LX終端機上,「輸出」的積木位於「文字」積木區中。
還記得上方輸入的樣式嗎?如下圖,先取得「溫度」,後面接著一個「,」符合,再接著量測「濕度」。
所以我們需要使用一個組合輸出文字的積木,其一樣位於「文字」積木區中。
將量測「溫度」及「濕度」的積木,連接至「字串組合」積木。第二個量測「濕度」的積木,可以從積木區中,新搬移出來,或是在第一個量測「溫度」積木上,滑鼠右鍵複製出來。
發現字串組合積木,已經沒有空間可以接上「,」符號了!別擔心,是否有注意到「字串組合」積木,有個藍色的齒輪呢?滑鼠左鍵點一下藍色齒輪,會開啟擴展項目的功能視窗。
拖曳新的「項目」,至原來兩個項目中間,放置後字串組合積木,就多了一個接口可用囉!
要關閉這個擴展視窗,就再點一次藍色齒輪即可關閉。
用來要設定「,」的字串積木,位於「文字」積木區中。
放置好「字串」積木後,記得內容改成「,」。
還沒完成喔!還記得我們希望間隔一秒量測一次,而目前僅會量測一次,程式就結束了,相信各位知道怎麼調整,就能實現預定目標對吧!
「執行」程式,請點擊右上方紅色Play按鈕。
在您的樹莓派環境中,第一次使用DHT11模組並執行時,會需要稍等片刻,因系統會自動安裝必要的程式庫(DHT11)如下圖。(這邊呼應開頭所說的,不簡單的通訊協定,所以直接使用高手已經開發的程式庫,體驗站在巨人肩膀上的成果。)
下載本範例積木程式 DHT11_01.rpb。
若您對基礎電子套件有興趣,可至蝦皮賣場購買,若是學校團體亦可來信訂購,謝謝。
若對本篇教學文章有任何建議或問題,歡迎您來信:chipwaygo@gmail.com,謝謝。