温湿度传感器 DHT20

简介

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.软硬件准备

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:电源波动造成,将传感器在控制器上连接好以后再给整个系统供电即可解决

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

DFshopping_car1.png DFRobot商城购买链接