回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

DFRobot DHT20温湿度传感器测评 简单

头像 InfiniteImagination 2022.04.12 1643 0

就在最近,DFRobot又发布了一个新品——IIC温湿度传感器DHT20。

project-image

我们也是很快就收到了DFRobot寄过来的测评产品。

步骤1 开箱

在我们打开它的包装后,随包装附送的有这些

project-image

这是它的背面

project-image

他和DHT11的外观也非常相似

project-image

这是他和LM35的对比图

project-image

步骤2 介绍

DHT20是一款智能温湿度传感器模块,是DHT11的全新升级产品。模块内配置一颗全新设计的ASIC专用芯片、经过改进的MEMS半导体电容式湿度传感元件和一个标准的温度传感元件,在测量精度、供电电压、测量范围、响应时间、稳定性等方面的性能参数相交DHT11都有大幅提升。具有出厂标定、低功耗、高精度、高稳定性等特点,采用完全校准的数字I2C接口,响应迅速,抗干扰能力强,性价比更高。可应用于消费电子、汽车、工业、气象等领域,例如:智能空调、温湿度调节、温湿度检测设备及其他相关温湿度控制产品。

所以简单来说DHT20的亮点是:

1. 支持更稳定的IIC通信

2. 测量精度及稳定性等综合性能相比DHT11有提升

步骤3 对比

材料清单

  • I2C温湿度传感器-DHT20 X1 链接
  • I2C OLED-2864 显示屏 X1 链接
  • DFRduino UNO R3 X1 链接

我们也将DHT20与LM35和普通的温湿度计测得的结果做了对比

这是与LM35做的对比

project-image

这是与普通的温湿度计做的对比

project-image

可以看出,DHT20还是有一点误差的

步骤4 编程

这款传感器兼容Arduino系列、micro:bit、ESP32、掌控板、树莓派

当然它也支持mind+编程

首先我们要导入库文件

打开mind+

project-image

点击扩展

project-image

选择板型

project-image

然后找到用户库选项卡

project-image

输入DHT20

project-image

点击即可加载,加载完后会出现在工作台上

project-image

我们也准备了Arduino LDE的库文件

这是我们在OLED屏幕打印温湿度的程序

图形化编程如下

project-image

代码编程如下

代码
#include<DFRobot_DHT20.h>
#include <DFRobot_SSD1306_I2C.h>
// 静态常量
const chCode chBuf[] = {
	{0x6e29,0xe6b8a9,0xCEC2,{0x00,0x00,0x73,0xf8,0x3b,0xfc,0x3f,0x18,0xdf,0xf8,0xef,0xf8,0x7b,0x18,0x7b,0xf8,0x1b,0x1c,0x37,0xfe,0x77,0xfe,0xf7,0xbc,0x77,0xbc,0x77,0xbc,0x7f,0xff,0x7f,0xff}},
	{0x5ea6,0xe5baa6,0xB6C8,{0x00,0x00,0x01,0xc4,0x30,0xce,0x3f,0xfe,0x33,0xb6,0x3b,0x36,0x3f,0xff,0x33,0x30,0x33,0xf0,0x33,0x30,0x3f,0xf8,0x3b,0x78,0x31,0xf0,0x71,0xe0,0x63,0xfc,0x6f,0x3f}},
	{0x6e7f,0xe6b9bf,0xCAAA,{0x00,0x00,0x33,0xfe,0x3b,0xfe,0x1f,0x06,0x4f,0xfe,0x7f,0x06,0x7b,0x06,0x3b,0xfe,0x1b,0xfe,0x3d,0xb7,0x7f,0xb7,0x77,0xbe,0x37,0xbc,0x33,0xba,0x79,0xb7,0x7f,0xff}}
};

DFRobot_DHT20       dht20;
DFRobot_SSD1306_I2C oled12864;


void setup() {
	oled12864.setChCode(chBuf);
	while(dht20.begin()){delay(1000);}
	oled12864.begin(0x3c);
}
void loop() {
	oled12864.setCursorLine(1);
	oled12864.printLine((String("DHT11温度:") + String((dht20.getTemperature()))));
	oled12864.setCursorLine(2);
	oled12864.printLine((String("DHT11湿度:") + String((dht20.getHumidity()*100))));
	delay(1000);
}

步骤5 总结

这款DHT20IIC温湿度传感器还是十分推荐的,IIC接口,响应迅速,抗干扰能力强,不过对IIC接口比较少的主控板不太友好,需要再添加一个IIC扩展器。

project-image

评论

user-avatar