简介
DHT20是一款智能温湿度传感器模块,是DHT11的全新升级产品。模块内配置一颗全新设计的ASIC专用芯片、经过改进的MEMS半导体电容式湿度传感元件和一个标准的温度传感元件,在测量精度、供电电压、测量范围、响应时间、稳定性等方面的性能参数相交DHT11都有大幅提升。具有出厂标定、低功耗、高精度、高稳定性等特点,采用完全校准的数字I2C接口,响应迅速,抗干扰能力强,性价比更高。可应用于消费电子、汽车、工业、气象等领域,例如:智能空调、温湿度调节、温湿度检测设备及其他相关温湿度控制产品。
产品功能描述
- 兼容3.3~5.5V主控器
- 出厂标定,无需校准
- 数字输出,I2C 接口
- 优异的长期稳定性
- 响应迅速、抗干扰能力强
- 低功耗、低成本
- 兼容Arduino系列、micro:bit、ESP32、掌控板、树莓派
产品参数
- 工作电压: 3.3~5.5V DC
- 工作电流:<1mA
- 输出信号: I2C(0x38)
- 温度范围:-40~+80℃ ±0.5℃
- 湿度范围:0~100%RH ±3%RH(25℃)
- 分辨率:0.01℃、0.024%RH
- 存储: 10℃-50℃、20-60%RH
- 电路板尺寸:22mm*33mm
- 安装孔尺寸:内径3.1mm/外径6mm
引脚说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | D | I2C数据线SDA |
2 | C | I2C时钟线SCL |
3 | - | GND电源负极 |
4 | + | 电源正极 |
Arduino使用教程
将程序下载到UNO,打开串口监视器查看温湿度信息。
1.软硬件准备
- 硬件
- DFRuino UNO R3 x1
- SEN0497 温湿度传感器-DHT20 x1
- Gravity 4Pin传感器连接线 x1
- 软件
- Arduino IDE 点击下载Arduino IDE
- 下载并安装DFRobot_DHT20库。如何安装库?
2.接线图
3.样例代码
- 将模块与Arduino按照上方的连线图相连,当然你也可以配合Gravity I/O扩展板使用,可以更方便、更快速的完成项目原型搭建。
- 下载并安装DFRobot_DHT20库。如何安装库?
- 打开Arduino IDE,将下面的代码上传到Arduino UNO。
- 打开Arduino IDE的串口监控视器,把波特率调至115200,观察串口打印结果。
/*!
*@file getData.ino
*@brief 读取环境温度和相对湿度,并打印到串口
*@copyright Copyright (c) 2010 DFRobot Co.Ltd (https://www.dfrobot.com)
*@licence The MIT License (MIT)
*@author [fengli](li.feng@dfrobot.com)
*@version V1.0
*@date 2021-6-24
*@get from https://www.dfrobot.com
*@https://github.com/DFRobot/DFRobot_DHT20
*/
#include <DFRobot_DHT20.h>
/*!
* @brief Construct the function
* @param pWire IC bus pointer object and construction device, can both pass or not pass parameters, Wire in default.
* @param address Chip IIC address, 0x38 in default.
*/
DFRobot_DHT20 dht20;
void setup(){
Serial.begin(115200);
//传感器初始化
while(dht20.begin()){
Serial.println("传感器初始化失败");
delay(1000);
}
}
void loop(){
//获取环境温度
Serial.print("temperature:"); Serial.print(dht20.getTemperature());Serial.print("C");
//获取相对湿度
Serial.print(" humidity:"); Serial.print(dht20.getHumidity()*100);Serial.println(" %RH");
delay(1000);
}
4.结果
打开串口监视器,波特率调节为115200,即可观察到温湿度数据。
Mind+使用教程
1、下载及安装软件,确保为最新版本。下载地址:https://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程
3、“扩展”中选择“主控板”中的“Arduino Uno”,传感器中加载DHT20温湿度传感器(1.7.2以下版本可在用户库搜索DHT20加载用户库),详细教程:Mind+基础wiki教程-加载扩展库流程
4、进行编程,程序如下图。
5、菜单“连接设备”,“上传到设备”
6、程序上传完毕后,打开串口即可看到数据输出。详细教程:Mind+基础wiki教程-串口打印
结果
树莓派使用教程
1.准备
-
硬件
- 树莓派(或类似)主控板 x1
- SEN0497 温湿度传感器-DHT20 x1
- Gravity 4pin传感器连接线(或若干杜邦线) x1
-
软件
2.配置树莓派
教程:树莓派基础配置
3.下载传感器驱动库
在终端中,依次键入如下指令,并回车:
cd ~
git clone https://github.com/DFRobot/DFRobot_DHT20
cd DFRobot_DHT20/python/raspberrypi
sudo python DFRobot_DHT20.py
4.运行样例代码
在终端中,依次键入如下指令,并回车:
cd ~/DFRobot_DHT20/python/raspberrypi/examples
sudo python get_data.py
Mind+ Python模式编程(行空板)
Mind+Python模式为完整Python编程,因此需要能运行完整Python的主控板,此处以行空板为例说明
连接图
操作步骤
1、下载及安装官网最新软件。下载地址:https://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“Python模式”。“扩展”中选择“官方库”中的“行空板”和“pinpong库”中的”pinpong初始化“和“DHT20温湿度传感器”。切换模式和加载库的详细操作链接
3、进行编程
4、连接行空板,程序点击运行后,可在终端查看数据。行空板官方文档-行空板快速上手教程 (unihiker.com)
代码编程
以pinpong库为例,行空板官方文档-行空板快速上手教程 (unihiker.com)
# -*- coding: UTF-8 -*-
# MindPlus
# Python
from pinpong.libs.dfrobot_dht20 import DHT20
from pinpong.board import Board
import time
Board().begin()
p_dht20 = DHT20()
while True:
print((str("温度:") + str(p_dht20.temp_c())))
print((str("湿度:") + str(p_dht20.humidity())))
time.sleep(1)
常见问题
Q1:上传代码后无数据输出或输出数值明显不对? |
---|
A:电源波动造成,将传感器在控制器上连接好以后再给整个系统供电即可解决 |
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。