完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文将讲述如何使用nodemcu开发板与DHT11温湿度传感器获取当前环境温湿度数据,并从串口打印出来。
硬件连接 硬件连接如图所示, 黑线为地线,红线为接3.3V,蓝色的线为数据线。使用杜邦线进行连接。 软件代码 硬件连接好后就可以开始写代码了,首先打开arduino IDE软件。 相关开发板设置与库文件下载不在这里进行详细描述。 本次使用的是DHT sensor library库,在管理库界面搜索“DHT”即可找到该库进行下载安装。 定义库的头文件 #include 《DHT.h》//定义库的头文件 设置相关参数 #define DHTTYPE DHT11//温湿度传感器型号#define DHT11_PIN 2//温湿度检测引脚 这里注意一下就是引脚的问题,在官方库里有说到可以使用3、4、5、13、14等GPIO,本人一开始使用16就没有得到正确的输出。 构造实例化 DHT dht(DHT11_PIN,DHTTYPE);//实例化 温湿度数据获取函数 void dht11(){ float tem; float hum; //读取温湿度数据 dht.begin();//本人也没有弄懂这句是什么意思,请大佬指点一二! tem=dht.readTemperature();//获取温度值,带小数点 hum=dht.readHumidity();//获取湿度值,带小数点 delay(300);//读取数值时需要250us,所以这里延时了300us Serial.print(“t=”); Serial.print(tem); Serial.print(“*C,h=”); Serial.print(hum); Serial.print(“%n”);} 全部代码 #include 《DHT.h》//定义库的头文件#define DHTTYPE DHT11//温湿度传感器型号#define DHT11_PIN 2//温湿度检测引脚DHT dht(DHT11_PIN,DHTTYPE);//实例化void dht11(){ float tem; float hum; //读取温湿度数据 dht.begin();//本人也没有弄懂这句是什么意思,请大佬指点一二! tem=dht.readTemperature();//获取温度值,带小数点 hum=dht.readHumidity();//获取湿度值,带小数点 delay(300);//读取数值时需要250us,所以这里延时了300us Serial.print(“t=”); Serial.print(tem); Serial.print(“*C,h=”); Serial.print(hum); Serial.print(“%n”);}void setup() { pinMode(DHT11_PIN, INPUT);//对DHT数据端口进行端口设置 Serial.begin(115200);//设置串口波特率}void loop() { delay(1000);//延时处理 dht11();//获取数据并通过串口打印} 重点难点 这里主要注意的是丝印上的引脚号与arduino里的数字标号不一样的。像本人一开始使用的16,是在丝印D0的脚位。以下是丝印与GPIO的对应表 [tr]nodemcu板上丝印代码对应编号[/tr]D016 D15 D24 D30 D42 D514 D612 D713 D815 以上如有错误的地方,麻烦看官们指正! |
|
|
|
只有小组成员才能发言,加入小组>>
2553 浏览 0 评论
1152浏览 2评论
750浏览 1评论
504浏览 0评论
269浏览 0评论
433浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 22:46 , Processed in 1.344313 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号