DHT11 温度湿度传感器 ESP8266 开发资料制作:BlackBox
+ 预备知识 |
+ 材料清单 |
+ 制作步骤 |
+ 更多信息 |
预备知识
- ESP8266基本编程知识 – 会编写ESP8266基本程序,会编译并上传程序给ESP8266。
- DHT11温湿度传感器基本知识– 了解DHT11基本原理,会将DHT11应用到电路中
- 安装第三方库–将DHT11库下载并安装到Arduino IDE中 (如需了解如何将第三方库安装到Arduino IDE中,请点击此处)
- 搭建简单电路 – 面包板、 电源模块等基本电子元件搭建简单电路。假如您对以上知识还不熟悉,那么可以点击以上知识点的文字链接,您将打开我们太极创客团队为您制作的免费教程页面,以便您学习掌握这些信息。
材料清单
- – NodeMCU-ESP8266开发板X 1
- – DHT11温湿度传感器 X 1
- – 面包板跳线 X 1
- – 面包板跳线 X 3
制作步骤
第一步-连接电路
可点击电路图将其放大显示。↓
连线:
DHT11端——— ESP8266端
S(信号线)——— D4引脚
+(电源) ——— 3v3引脚
-(电源) ——— gnd引脚
不同厂家的DHT11模块信号线排列可能会不同,只需注意信号线连接NodeMCU-ESP8266开发板D4引脚即可。
实物搭建完毕后效果如下图(左侧排列的是不同厂家生产的DHT11传感器)。
第2步-选择合适开发板烧录
1. 将NodeMCU-ESP8266开发板与电脑通过数据线连接好。
2. 确保您已经安装好Arduino IDE的ESP8266开发插件,(如您不确定如何实现此项工作,请点击这里进入本操作说明教程页面。)
3. 请将以下示例程序下载并使用Arduino IDE打开。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : dht11esp8266温湿度读取 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小黑 日期/Date(YYYYMMDD) : 20200617 程序目的/Purpose : 演示用esp8266读取DHT11采集的温湿度值,并用串口打印采集到的温湿度数值 使用的第三方库/Library DHT11库 下载请前往 http://www.taichi-maker.com/homepage/download/#library-download ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/ ***********************************************************************/ /********************###库文件声明###********************/ #include <dht11.h>//引入DHT11库 /********************###定义###********************/ dht11 DHT11;//定义传感器类型 #define DHT11PIN 2//定义传感器连接引脚。此处的PIN2在NodeMcu8266开发板上对应的引脚是D4 /********************###子函数###********************/ double Fahrenheit(double celsius) { return 1.8 * celsius + 32; //摄氏温度度转化为华氏温度 } double Kelvin(double celsius) { return celsius + 273.15; //摄氏温度转化为开氏温度 } /********************###程序初始化###********************/ void setup() { Serial.begin(115200);//设置波特率为115200 Serial.println("\n"); Serial.println("esp8266读取DHT11传感器数值 "); Serial.println("串口会分别打印当前湿度(%),当前摄氏度温度,当前华氏度温度和当前开式温度 "); Serial.print("DHT11库文件版本: "); Serial.println(DHT11LIB_VERSION); Serial.println(); } /********************###主函数###********************/ void loop() { Serial.println("\n"); DHT11.read(DHT11PIN); //更新传感器所有信息 Serial.print("当前湿度 (%): "); Serial.println((float)DHT11.humidity, 2); Serial.print("当前温度 (℃): "); Serial.println((float)DHT11.temperature, 2); Serial.print("当前温度 (℉): "); Serial.println(Fahrenheit(DHT11.temperature), 2); Serial.print("当前温度 (K): "); Serial.println(Kelvin(DHT11.temperature), 2); delay(2000);//每两秒打印一次 } |
4. 添加库文件。请在点击此处进入太极创客Arduino库文件下载页面,下载DHT11库,并添加进ArduinoIDE。若对此步骤有疑问,请先学习太极创客的教程:Arduino IDE安装第三方库。成功添加库后,看到这样的效果。↓
dht1库已经成功导入到IDE中。
5. 选择开发板进行烧录。若对此步骤有疑问,请先学习太极创客的教程:ESP8266基本编程知识 。正确选择开发板的示例如下。↓
6. 选择对应COM口后,点击左上角“上传”来上传我们的程序。若上传成功,则可以看到如下提示。↓
上传成功后,程序开始自动运行。遵照下一个步骤打开串口监视器即可看到输出结果。
第3步-观察运行效果
确保开发板已经正确上传程序,并在ArduinoIDE中选择对应COM口后打开串口监视器。若对此步骤有疑问,请先学习太极创客的教程:ESP8266基本编程知识 。
打开串口监视器后,选择我们在程序中设置好的波特率115200。 ↓
按下开发板上的RST复位键,即可看到程序复位,开始启动。
可以看到串口收到的来自开发板的信息。开头的乱码是一些基本启动信息,用其他的波特率可以读取到,本教程在此不赘述。串口收到了来自ESP8266发送的DHT11温湿度传感器读取数据。第一次读取数据为0,是因为还未更新传感器数据。后续读取即为正常运行数据,您可以对传感器吹一口气,观察传感器数据变化。
更多信息
到这里我们就实现了使用ESP8266开发板读取DHT11温湿度传感器数据,若配合ESP8266的网络功能,或是驱动一块小屏幕,可以拓展出更多炫酷的制作。如果您想学习更多物联网开发相关知识,请访问太极创客官网获取更多教程。