基于nodemcu开发板与DHT11获取温湿度数值

本文详细介绍如何使用NodeMCU开发板配合DHT11温湿度传感器,通过Arduino IDE编写代码获取并打印当前环境的温度和湿度数据。涉及硬件连接、库文件设置、关键代码段解析以及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将讲述如何使用nodemcu开发板与DHT11温湿度传感器获取当前环境温湿度数据,并从串口打印出来。

硬件连接

在这里插入图片描述
硬件连接如图所示,
黑线为地线,红线为接3.3V,蓝色的线为数据线。使用杜邦线进行连接。

软件代码

硬件连接好后就可以开始写代码了,首先打开arduino IDE软件。
相关开发板设置与库文件下载不在这里进行详细描述。
在这里插入图片描述
本次使用的是DHT sensor library库,在管理库界面搜索“DHT”即可找到该库进行下载安装。
这里附上该库的仓库GitHub地址
https://github.com/adafruit/DHT-sensor-library
定义库的头文件

#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的对应表

nodemcu板上丝印代码对应编号
D016
D15
D24
D30
D42
D514
D612
D713
D815

以上如有错误的地方,麻烦看官们指正!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值