溫濕度感測器

最後更新日期:2022-03-24 10:27:42

溫濕度感測器(DHT11),其電子零件樣貌如下圖,其腳位由左至右的功能依序為:VCC、Data、無作用、GND。因第三支接腳無作用,所以控制此模組,只需要三條線,若再扣除電源(VCC、GND),只需要一條線就可以接收溫度及濕度數據,是否覺得很厲害呢!

DHT11感測器正面

不過魔鬼總是隱藏在細節中,只透過一條線就能取得溫度與濕度的數據,表示透過這條線要進行的通訊協定不簡單。

# 實作步驟

  • 學習使用
  • 設計電路圖
  • 連接電路
  • 搭建積木程式 & 執行

# 學習使用

學習使用溫濕度感測器對應的積木,每秒進行一次量測,並將量測的結果顯示在LX終端機畫面上。實驗過程中,可透過對DHT11元件呼氣,來觀察其量測到的溫度及濕度的變化。

對著DHT11呼氣

在LX終端機的輸出中,每一行是一組數據(溫度, 濕度),可以看到呼氣後,濕度大幅上升,溫度些微增加。

LX終端機讀數

隨著時間逐漸的流逝,溫度與濕度也漸漸恢復到環境數據的穩定狀態。

LX終端機讀數 LX終端機讀數

# 設計電路圖

電路圖設計如下:

溫濕度感測電路圖

# 連接電路

實際線路如下圖,建議連接步驟如下,若您要移除電路時,請使用相反的順序進行即可。

  1. 於麵包板上連接相關元件
  2. 資料、控制腳位連接上樹莓派
  3. GND腳位連接上樹莓派
  4. VCC(5V or 3.3V)腳位連接上樹莓派

溫濕度感測電路連接-正面

溫濕度感測電路連接-背面

# 搭建積木程式 & 執行

開啟積木程式畫面如下,若您已經下載代理程式,並且完成「rp_agent」設定,可以將首次使用須知下方的框框,勾選「不再顯示此訊息」,並按下「確定」按鈕。

PS. cwBlockly頁面請於樹莓派中執行。

積木程式首次使用須知

初始畫面如下。

積木程式初始畫面

控制溫濕度感測器的積木位於「感測元件」→「溫濕度感測器」。

溫濕度感測器元件

拖曳「溫濕度感測器定義積木」至RPi預設積木中,並將腳位編號改為11。

溫濕度感測器定義積木

要使用溫濕度感測器來量測溫度與濕度。請再次打開「溫濕度感測器」積木區,拖曳並放置「量測溫濕度」積木。

拖曳量測溫濕度積木

放置量測溫濕度積木

發現量測溫濕度積木,無法加入上方的積木塊中,因為此積木的作用方式不同,我們必須決定將取回的數值,做什麼動作,例如:顯示在LX終端機中;或放在判斷積木中,進行數值的判斷,實現自動開關冷氣、除濕機等應用。

此處我們以最簡單的觀察方式,就是讓這個數值,輸出在LX終端機上,「輸出」的積木位於「文字」積木區中。

輸出積木

放置輸出積木

還記得上方輸入的樣式嗎?如下圖,先取得「溫度」,後面接著一個「,」符合,再接著量測「濕度」。

輸出樣式

所以我們需要使用一個組合輸出文字的積木,其一樣位於「文字」積木區中。

字串組合積木

放置字串組合積木

將量測「溫度」及「濕度」的積木,連接至「字串組合」積木。第二個量測「濕度」的積木,可以從積木區中,新搬移出來,或是在第一個量測「溫度」積木上,滑鼠右鍵複製出來。

組合至字串組合積木

發現字串組合積木,已經沒有空間可以接上「,」符號了!別擔心,是否有注意到「字串組合」積木,有個藍色的齒輪呢?滑鼠左鍵點一下藍色齒輪,會開啟擴展項目的功能視窗。

擴展字串組合積木項目

拖曳新的「項目」,至原來兩個項目中間,放置後字串組合積木,就多了一個接口可用囉!

擴展字串組合積木項目

擴展字串組合積木項目

要關閉這個擴展視窗,就再點一次藍色齒輪即可關閉。

關閉擴展字串組合積木項目視窗

用來要設定「,」的字串積木,位於「文字」積木區中。

字串積木

放置好「字串」積木後,記得內容改成「,」。

放置字串積木

還沒完成喔!還記得我們希望間隔一秒量測一次,而目前僅會量測一次,程式就結束了,相信各位知道怎麼調整,就能實現預定目標對吧!

間隔時間量測溫濕度程式

「執行」程式,請點擊右上方紅色Play按鈕。

執行積木程式

在您的樹莓派環境中,第一次使用DHT11模組並執行時,會需要稍等片刻,因系統會自動安裝必要的程式庫(DHT11)如下圖。(這邊呼應開頭所說的,不簡單的通訊協定,所以直接使用高手已經開發的程式庫,體驗站在巨人肩膀上的成果。)

下載必要的程式庫

下載本範例積木程式 DHT11_01.rpb


若您對基礎電子套件有興趣,可至蝦皮賣場購買,若是學校團體亦可來信訂購,謝謝。

若對本篇教學文章有任何建議或問題,歡迎您來信:chipwaygo@gmail.com,謝謝。