零知开源分享- 温湿度模块DHT11的使用
本帖最后由 零知实验室-roc 于 2019-5-13 16:06 编辑1、说明MCU:零知开源开发板-标准板
https://www.amobbs.com/data/attachment/forum/201905/13/151704uws3p70j0p6lcc2j.jpg
模块:DHT11模块
https://www.amobbs.com/data/attachment/forum/201905/13/151111pkixnn28sjspjsi1.png
开发工具:零知开源开发工具
https://www.amobbs.com/data/attachment/forum/201905/13/151335qhjxv8777nv7nt2t.png
DHT11模块是单总线的接口,使用非常简单,供电3.3-5V,可以直接在零知实验室平台上使用。接线如下所示,把模块的OUT脚与零知标准板的A0引脚相连接即可。
https://www.amobbs.com/data/attachment/forum/201905/13/152105b27squ9mq2d2mmbq.jpg
2、测试
相应连线接好后,只需打开零知开源开发工具找到相应的代码,上传程序打开调试窗口即可看到调试结果。
https://www.amobbs.com/data/attachment/forum/201905/13/154309c71m7fqlrf8zclg8.png
https://www.amobbs.com/data/attachment/forum/201905/13/154446sv3adaqy0l0vceu3.png
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;
// 格式化输出
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);
}
完整工程代码可到零知实验室免费获取。
页:
[1]