DHT11溫溼度感測器模組
Last updated
Was this helpful?
Last updated
Was this helpful?
使用「LinkIt 7697 NANO Breakout」連接「DHT11溫溼度感測器模組」, 每1秒讀取DHT11溫溼度感測器模組溫度和濕度數值 。
此DHT11溫溼度感測器模組包含於「洞洞么教學材料包 」內。
LinkIt 7697 NANO Breakout
DHT11溫溼度感測器模組
DHT11溫溼度感測器模組是數位訊號輸出, 可以接「D2」的 LinkIt 7697 NANO Breakout訊號端上。 本範例連接到「D2」。
每秒鐘讀取DHT溫溼度感測器的溫度和濕度一次,並顯示在序列埠監控視窗上。
#include <DHT.h>
DHT dht11_p2(2, DHT11);
void setup()
{
Serial.begin(9600);
dht11_p2.begin();
}
void loop()
{
Serial.print("溫度:");
Serial.println(dht11_p2.readTemperature());
Serial.print("濕度:");
Serial.println(dht11_p2.readHumidity());
delay(1000);
}
使用「micro:bit搭配科易KEYES micro:bit 感測器擴充板 V2」連接「DHT11溫溼度感應器模組」, 每1秒讀取DHT11溫溼度應器模組溫度和濕度數值 。
此DHT11溫溼度感應器模組包含於「洞洞么教學材料包」內。
DHT11溫溼度感應器模組
DHT11溫溼度感應器模組是數位訊號輸出, 可以接「0、 1、 2、 8、 12、13、14、 15、 16、 19、20」的 micro:bit訊號端上,建議使用的是0、1、2腳位。本範例連接到「P0」。
在使用DHT11溫溼度感應器之前,需要擴展DHT11溫溼度感應器的指令庫。打開makecode程式設計平臺,滾動至指令區最底部,依序點擊進階----擴展,並使用以下網址安裝套件。
DHT11溫溼度感應器套件安裝網址:https://github.com/lioujj/pxt-sensors
每按下A或B按鈕會讀取並顯示DHT11溫溼度感應器的溫度和濕度一次,並可透過micro:bit顯示指示燈看到DHT11溫溼度感應器的溫度和濕度的狀態。
let temp = 0
let humi = 0
input.onButtonPressed(Button.A, function () {
temp = sensors.get_DHT11_value(
DigitalPin.P0,
sensors.Dht11Result.Celsius
)
basic.showString("TEMP:")
basic.showNumber(temp)
})
input.onButtonPressed(Button.B, function () {
humi = sensors.get_DHT11_value(
DigitalPin.P0,
sensors.Dht11Result.humidity
)
basic.showString("HUMI:")
basic.showNumber(humi)
})
basic.forever(function () {
})
DHT11溫溼度感應器模組
DHT11溫溼度感應器模組是數位訊號輸出, 可以接「0、 1、 2、 8、 12、13、14、 15、 16、 19、20」的 micro:bit訊號端上,建議使用的是0、1、2腳位。本範例連接到「P0」。
在使用DHT11溫溼度感應器之前,需要擴展DHT11溫溼度感應器的指令庫。打開makecode程式設計平臺,滾動至指令區最底部,依序點擊進階----擴展,並使用以下網址安裝套件。
DHT11溫溼度感應器套件安裝網址:https://github.com/alankrantas/pxt-DHT11_DHT22
新增後在上方可以看見增加的DHT11/DHT22套件
使用pxt-DHT11_DHT22此函式庫時(完整程式如下),需先宣告你要使用攝氏溫度還是華氏溫度
並且要設定此感測器Query為DHT11
設定Data pin為P0
Pin pull up為true
Serial output為false
Wait 2 sec after query為true
可透過micro:bit顯示指示燈看到DHT11溫溼度感應器的溫度和濕度的狀態。會四捨五入小數點輪流顯示T:目前溫度H:目前濕度。
basic.forever(function () {
basic.pause(100)
dht11_dht22.selectTempType(tempType.celsius)
dht11_dht22.queryData(
DHTtype.DHT11,
DigitalPin.P0,
true,
false,
true
)
basic.showString("T:")
basic.showString("" + (Math.round(dht11_dht22.readData(dataType.temperature))))
basic.showString("H:")
basic.showString("" + (Math.round(dht11_dht22.readData(dataType.humidity))))
})