温湿度传感器 DHT20

简介

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

产品功能描述

产品参数

引脚说明

标号 名称 功能描述
1 D I2C数据线SDA
2 C I2C时钟线SCL
3 - GND电源负极
4 + 电源正极

Arduino使用教程

将程序下载到UNO,打开串口监视器查看温湿度信息。

1.软硬件准备

2.接线图

3.样例代码

/*!
 *@file getData.ino
 *@brief 读取环境温度和相对湿度,并打印到串口
 *@copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://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、下载及安装软件,确保为最新版本。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装

2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程

3、“扩展”中选择“主控板”中的“Arduino Uno”,“用户库”中搜索输入DHT20或https://gitee.com/liliang9693/ext-DHT20_I2C ,详细教程:Mind+基础wiki教程-加载扩展库流程

4、进行编程,程序如下图。

5、菜单“连接设备”,“上传到设备”

6、程序上传完毕后,打开串口即可看到数据输出。详细教程:Mind+基础wiki教程-串口打印

结果

树莓派使用教程

1.准备

2.配置树莓派

教程:树莓派基础配置

3.下载传感器驱动库

在终端中,依次键入如下指令,并回车:

cd ~
git clone https://github.com/cdjq/DFRobot_DHT20
cd DFRobot_DHT20/python/raspberrypi
sudo python DFRobot_DHT20.py

4.运行样例代码

在终端中,依次键入如下指令,并回车:

cd ~/DFRobot_DHT20/python/raspberrypi/examples
sudo python get_data.py

常见问题

Q1:上传代码后无数据输出或输出数值明显不对?
A:电源波动造成,将传感器在控制器上连接好以后再给整个系统供电即可解决

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

更多