[Studio] 零知开源分享- 温湿度模块DHT11的使用

[复制链接]
1080|0
 楼主| roc2two 发表于 2019-5-13 17:22 | 显示全部楼层 |阅读模式
1、说明MCU:零知开源开发板-标准板
535885cd93673906c3.png
模块:DHT11模块
227815cd9369d39e0e.png
开发工具:零知开源开发工具
743305cd936b8c564e.png
DHT11模块是单总线的接口,使用非常简单,供电3.3-5V,可以直接在零知实验室平台上使用。接线如下所示,把模块的OUT脚与零知标准板的A0引脚相连接即可。
38445cd936cec8996.png
2、测试
相应连线接好后,只需打开零知开源开发工具找到相应的代码,上传程序打开调试窗口即可看到调试结果。
410225cd936ec4e109.png
108135cd936f6a6122.png
3、核心代码
  1. // DHT11温湿度传感器demo演示
  2. #include "dht11.h"
  3. //使用DHT11
  4. DHT sensor;
  5. void setup()
  6. {
  7.     Serial.begin(9600);
  8.      //使用A0引脚连接到DHT11模块的输出脚
  9.     sensor.attach(A0);
  10.      delay(1000);
  11. }
  12. void loop()
  13. {
  14.     //开始获取温湿度数据
  15.     sensor.update();
  16.      switch (sensor.getLastError())
  17.     {
  18.         case DHT_ERROR_OK:
  19.             char msg[128];
  20.             // 格式化输出
  21.             sprintf(msg, "Temperature = %dC, Humidity = %d%%",
  22.                     sensor.getTemperatureInt(), sensor.getHumidityInt());
  23.             Serial.println(msg);
  24.             break;
  25.         case DHT_ERROR_START_FAILED_1:
  26.             Serial.println("Error: start failed (stage 1)");
  27.             break;
  28.         case DHT_ERROR_START_FAILED_2:
  29.             Serial.println("Error: start failed (stage 2)");
  30.             break;
  31.         case DHT_ERROR_READ_TIMEOUT:
  32.             Serial.println("Error: read timeout");
  33.             break;
  34.         case DHT_ERROR_CHECKSUM_FAILURE:
  35.             Serial.println("Error: checksum error");
  36.             break;
  37.     }
  38.      delay(2000);
  39. }

您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

85

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部