DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度综合传感器,在Arduino提高篇中已对其进行了介绍,本篇使用ESP8266来驱动IOT Kit板载DHT11温湿度传感器,并通过OLED进行显示。
1. DHT11介绍
DHT11是一款温湿度一体的数字传感器,内部包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机连接。外部只需要简单的电路连接,就能实时采集本地温湿度。DHT11与单片机等控制器采用简单的单总线进行通讯,只需要一个I/O口。传感器内部温湿度数据40Bit一次性传给单片机,数据采用校验和的方式进行校验,有效地保证数据传输的准确性。
DHT11技术参数如下:
DHT11的管脚排列,窗孔朝上,从左到右依次为VCC、Dout、NC、GND。
2. 安装驱动库
在Arduino IDE中点击「项目」—「加载库」—「管理库」,输入"dht11",选择「DHT sensor library」进行安装。

查找库
在弹出的对话框中选择Install all,安装全部的关联库。

安装关联库
3. 硬件连接及程序下载
在IOT Kit上,DHT11温湿度传感器通过跳线帽连接到ESP8266的GPIO14。

电路连接
在Arduino IDE中新建sketch,拷贝如下代码保存并下载到开发板。
/*
* dht11
* ESP8266驱动DHT11温湿度传感器
* OLED显示
*/
#include
#include
#include
#include "DHT.h"
#define DHT_Pin 14 //控制引脚
#define DHTTYPE DHT11 //传感器类型 DHT11 DHT21 DHT22
DHT dht(DHT_Pin, DHTTYPE);
Adafruit_SSD1306 oled(128, 64, &Wire,-1);
void setup() {
oled.begin(SSD1306_SWITCHCAPVCC,0x3C);
oled.setTextColor(WHITE);//开像素点发光
oled.clearDisplay();//清屏
oled.setTextSize(2); //设置字体大小
oled.display(); // 开显示
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
oled.clearDisplay();//清屏
oled.setCursor(10, 10);//设置显示位置
oled.print("T:");
oled.print(t);
oled.println(" C");
oled.setCursor(10, 40);//设置显示位置
oled.print("H:");
oled.print(h);
oled.println(" %");
oled.display(); // 开显示
delay(1000);
}
上传成功后,OLED将显示当前环境温湿度数据。

实验现象
-
OLED
+关注
关注
121文章
6331浏览量
232466 -
温湿度传感器
+关注
关注
6文章
628浏览量
37351 -
Arduino
+关注
关注
190文章
6514浏览量
195904 -
DHT11
+关注
关注
19文章
277浏览量
59327 -
ESP8266
+关注
关注
51文章
966浏览量
48992
发布评论请先 登录
基于arduino的dht11温湿度传感器的使用
基于DHT11和ESP8266如何去实现温湿度数据无线传输
DHT11温湿度传感器
数字温湿度传感器 DHT11
51单片机DHT11温湿度ESP8266WiFi手机APP显示设计
使用 NodeMCU 和 DHT11 传感器通过 MQTT 上传温湿度数据
ESP8266+DHT11温湿度传感器+小爱同学语音智能LED灯(状态可视化)
Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示

使用ESP8266驱动DHT11温湿度传感器
评论