DHT11驱动通过串口打印采集到的环境温湿度数据

MEMS/传感技术

1292人已加入

描述

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度综合传感器,常用于暖通空调、汽车、除湿器、自动控制等领域。本篇介绍DHT11的驱动,通过串口打印采集到的环境温湿度数据。

1. DHT11介绍

DHT11是一款温湿度一体的数字传感器,内部包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机连接。外部只需要简单的电路连接,就能实时采集本地温湿度。DHT11与单片机等控制器采用简单的单总线进行通讯,只需要一个I/O口。传感器内部温湿度数据40Bit一次性传给单片机,数据采用校验和的方式进行校验,有效地保证数据传输的准确性。

DHT11技术参数如下:

  • 工作电压:3.3V-5.5V
  • 工作电流:平均0.5mA
  • 输出:单总线数字信号
  • 测量范围:湿度20-95%RH,温度0-50℃
  • 精度:湿度±5%,温度±2℃
  • 分辨率:湿度1%,温度1℃

DHT11的管脚排列,窗孔朝上,从左到右依次为VCC、Dout、NC、GND。

DHT11在电路连接中,通常会在数据引脚外加上拉电阻,如下为DHT11模块:

2. 安装驱动库

在Arduino IDE中点击「项目」—「加载库」—「管理库」,输入"dht11",会看到有很多的库,可根据情况自己选择安装使用。本文选择第二个「DHT sensor library」进行安装。

Vcc

安装库

要使用「DHT sensor library」,我们还要下载安装「Adafruit_Sensor」,需要注意的是,此库并没有在管理库中找到

Vcc

下载库

下载到压缩包后,在IDE中点击「项目」—「加载库」—「添加一个.ZIP库」,定位到刚才下载的压缩包进行安装。

Vcc

添加库

3. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • DHT11传感器模块

4. 实验步骤

1. 根据原理图搭建电路图。

DHT11的单总线连接非常简单,模块VCC、GND分别连接到开发板的3.3V、GND,模块的DATA引脚连接开发板的任意数字引脚,本文连接数字引脚2。

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

1#include "DHT.h"
 2
 3#define DHTPIN  2
 4#define DHTTYPE DHT11
 5
 6DHT dht(DHTPIN, DHTTYPE);
 7
 8void setup() {
 9  Serial.begin(9600);
10  Serial.println("DHT11 test");
11  dht.begin();
12}
13
14void loop() {
15  float h = dht.readHumidity();//读湿度
16  float t = dht.readTemperature();//读温度(摄氏度)
17
18  Serial.print("Humidity:");
19  Serial.print(h);
20  Serial.print("% Temperature:");
21  Serial.print(t);
22  Serial.println("℃");
23  delay(2000);
24}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

Vcc

程序下载

5. 实验现象

打开串口监视器,波特率设置成与程序中相一致,可以看到间隔打印采集到的温湿度数据。

Vcc

实验现象

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分