找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1440|回复: 0
收起左侧

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

[复制链接]
ID:349555 发表于 2019-5-14 11:11 | 显示全部楼层 |阅读模式
1、说明MCU:零知开源开发板-标准板

零知标准板 (2).jpg

模块:DHT11模块
DHT11图片.png

开发工具:零知开源开发工具
开发工具界面.png

DHT11模块是单总线的接口,使用非常简单,供电3.3-5V,可以直接在零知实验室平台上使用。接线如下所示,把模块的OUT脚与零知标准板的A0引脚相连接即可。
接线.jpg

2、测试
相应连线接好后,只需打开零知开源开发工具找到相应的代码,上传程序打开调试窗口即可看到调试结果。
DHT11界面.png

调试结果:
测试结果.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. }
复制代码
完整代码可到零知实验室官网免费获取。

回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表