1、說明MCU:零知開源開發板-標準板
零知標準板 (2).jpg (186.54 KB, 下載次數: 21)
下載附件
2019-5-14 11:04 上傳
模塊:DHT11模塊
DHT11圖片.png (145.46 KB, 下載次數: 19)
下載附件
2019-5-14 11:05 上傳
開發工具:零知開源開發工具
開發工具界面.png (72.3 KB, 下載次數: 16)
下載附件
2019-5-14 11:05 上傳
DHT11模塊是單總線的接口,使用非常簡單,供電3.3-5V,可以直接在零知實驗室平臺上使用。接線如下所示,把模塊的OUT腳與零知標準板的A0引腳相連接即可。
接線.jpg (449.08 KB, 下載次數: 24)
下載附件
2019-5-14 11:05 上傳
2、測試
相應連線接好后,只需打開零知開源開發工具找到相應的代碼,上傳程序打開調試窗口即可看到調試結果。
DHT11界面.png (111.34 KB, 下載次數: 13)
下載附件
2019-5-14 11:07 上傳
調試結果:
測試結果.png (28.61 KB, 下載次數: 14)
下載附件
2019-5-14 11:07 上傳
從調試窗口得出的數據可以看到溫度和濕度都有在變化。
3、核心代碼
- // DHT11溫濕度傳感器demo演示
-
- #include "dht11.h"
-
- //使用DHT11
- DHT sensor;
-
- void setup()
- {
- Serial.begin(9600);
-
- //使用A0引腳連接到DHT11模塊的輸出腳
- sensor.attach(A0);
-
- delay(1000);
- }
-
- void loop()
- {
- //開始獲取溫濕度數據
- sensor.update();
-
- switch (sensor.getLastError())
- {
- case DHT_ERROR_OK:
- char msg[128];
- // 格式化輸出
- sprintf(msg, "Temperature = %dC, Humidity = %d%%",
- sensor.getTemperatureInt(), sensor.getHumidityInt());
- Serial.println(msg);
- break;
- case DHT_ERROR_START_FAILED_1:
- Serial.println("Error: start failed (stage 1)");
- break;
- case DHT_ERROR_START_FAILED_2:
- Serial.println("Error: start failed (stage 2)");
- break;
- case DHT_ERROR_READ_TIMEOUT:
- Serial.println("Error: read timeout");
- break;
- case DHT_ERROR_CHECKSUM_FAILURE:
- Serial.println("Error: checksum error");
- break;
- }
-
- delay(2000);
- }
復制代碼 完整代碼可到零知實驗室官網免費獲取。
|