隨著科技的發展和人們生活水平的提高,溫溼度成為人們普遍關注的問題之一。 據研究表明,室內最適合溫度應保持在室溫達 18℃ 時,相對溼度應保持在30—40%,室溫達 25℃ 時,相對溼度應保持在 40—50% 為最宜。家庭有寶寶的家庭,一般情況下,室內溫度以20℃左右為宜,溼度宜保持在50%~60%。可根據小兒怕冷、怕熱的特點適當調節。
今天我們就藉助DHT11最常見的溫溼度感測器,用蝸牛控制器做一個最簡單實用的家用溫溼計。
一、所需器件
- 蝸牛控制器
- DHT11感測器
二、DHT11溫溼度感測器介紹
DHT11是一款有已校準數字訊號輸出的溫溼度感測器,內部包括一個電阻式感溼元件和一個NTC測溫元件, 其溼度精度為±5%RH, 溫度精度為±2℃,溼度量程為5~95%RH, 溫度量程為-20~+60℃。
DHT11體積小、功耗低,訊號傳輸距離長(可達20米以上),而且最最關鍵的是價格便宜,從而使其成為各類應用場合的最佳選擇。
三、電路連線
DHT11感測器的電源VDD管腳接至蝸牛控制器的5V引腳,GND管腳接至控制器的接地引腳,資料管腳DATA接至控制器的D2引腳,同時串聯一個5000歐姆的電阻上拉至5V電源。
四、程式設計實現
1.開啟串列埠
在“串列埠”積木組中選擇“開啟串列埠”積木,將其拖放到右側的“初始化區”,完成後的程式碼如下。
注意:蝸牛控制器的波特率必須設定為115200
2.DHT11獲取溫溼度
DHT11利用單匯流排協議控制,時序嚴格而且複雜。但好在Arduino的開發者們為它開發了一整套的開發函式,創客們只需呼叫幾條函式語句即可。蝸牛控制器對DHT11的使用更勝一籌,因為全程只需要一個積木。
溫溼度感測器積木位於“感測器”積木組中。將其拖放至程式區後,只需指定它的連線引腳(DATA管腳連在蝸牛控制器的IO埠編號)即可,這裡選擇2。
因為我們要同時顯示溫度和溼度,所以就拖放了兩次,當然你也可以採取複製的方式進行,具體方法是手指長按該積木塊,鬆開後選擇“複製積木”。
3.溫溼度顯示
蝸牛端透過串列埠將讀取到的溫溼度值傳送出去,手機端透過藍芽接收後,在“互動”視窗進行顯示。
串列埠傳送溫溼度值用到了“串列埠列印”和“串列埠列印(換行)”兩種串列埠傳送積木。
- 前者輸出後不換行,保證下一次輸出內容在同一行;
- 後者輸出後換行,下一次輸出內容顯示在下一行。
這些積木組合後拼接成如下的樣式。
4.延遲等待
因為微控制器執行速度很快,執行上述語句大概只需要幾十微秒,為防止串列埠堵塞,必須加一個延遲等待,同時溫溼度也不需要特別快的顯示頻率。
延時等待積木位於左側的“控制”積木組。
注意:延時等待積木的時間單位是毫秒,1秒=1000毫秒。
最終的程式積木形式如下。
五、程式下載
1.蝸牛控制器供電
供電後,其上的藍色指示燈會處於閃爍狀態,表明蝸牛控制器正常工作了。
2.手機環境配置
使用蝸牛手機APP時,需要開啟手機的藍芽和GPS定位功能,同時保證藍芽未被其它裝置連線。
3.連線蝸牛控制器
點選左上角的“連線”按鈕,按鈕由灰底“連線”切換為黃底“斷開”,表明連線成功。
點選“下載”按鈕開始程式編繹和下載,可以看到“下載”按鈕切換為百分號數字進度條,指示著下載進度。
六、溫溼度顯示
程式下載完成後,點選APP最上面的“互動”按鈕,開啟手機與蝸牛控制器的互動視窗。可以看到,每隔1秒鐘左右,蝸牛控制器上傳一次環境溫溼度值到手機上。
點選手機螢幕黃色以外的灰度區域,可立即退出互動視窗。
七、拓展
1.關於精度說明
DHT11的溼度精度為±5%RH, 溫度精度為±2℃,在要求不高的場合可以使用,如果對精度要求高,可以選擇DHT22等型號。
值得一提的是,蝸牛的溫溼度感測器同時支援DHT11、DHT21、DHT22、DHT33和DHT44,使用時在積木的型別下拉選單中進行修改就可以了。
2.程式改進
上面的程式只是簡單地重複測量和上傳,並不智慧;可以改進成問答式的方式,即手機發送測量命令後再進行溫溼度測量和傳送,參考程式碼如下。
歡迎有能力的小夥伴們使用蝸牛控制器開發出更好玩、更實用的溫溼度計。[比心]