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

dht11数字温湿度传感器是一款含有已校准数字信号输出的温湿度综合传感器,在arduino提高篇中已对其进行了介绍,本篇使用esp8266来驱动iot kit板载dht11温湿度传感器,并通过oled进行显示。
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。
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 dht22dht 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将显示当前环境温湿度数据。
实验现象

高质量的导热塑料体现在哪几个方面?
品英Pickering发布新款基于PXI/PXIe的微波开关产品
瑞萨电子推出适用于ADAS和自动驾驶的集成软件开发环境
AMD:高端处理器最高温度为90度是正常的
济南邮储银行采用B.E.G. KNX智能照明系统实现大楼照明系统智能控制
使用ESP8266驱动DHT11温湿度传感器
Linux系统用户与用户组管理(下)
触摸屏的应用与工作原理
电动汽车开久了电池还耐用吗
拜登政府被曝要求沙特撤资硅谷AI芯片企业,美监管机构坚称“维护国家安全”
Heilind联同领先供应商参加2015慕尼黑上海电子展
华为P10发来坏消息,竟再次被自家荣耀V9秒杀!
小米6黑科技三项:骁龙835、取消3.5mm耳机孔、IP67防水
如何使深度学习系统在超级计算机上测试运行?
剩余电流监测仪在施工场地的应用
大联大携手展讯打造新一代2.5G手机平台解决方案
集成数字下变频器功能的高速ADC的奇怪行为
采样保持输出噪声有两个关键分量!
人工智能指出有天体撞地球?
AWTK 串口屏开发(5) - MCU端 SDK 用法