arduino+DHT11采集温湿度
1、连线如下:
我用的DHT11是3个引脚的,标“—”的引脚接地,中间的接5V或3.3V都可以,剩下的接数据口,我接的是8。
如果接错引脚一般不会报错,可以在串口监视器打印,但是采集到的数据都为0,如果采集到的数据为0,建议检查引脚接线是否正确。
2、代码:
#include <dht11.h> //引用dht11库文件,使得下面可以调用相关参数
#define DHT11PIN 8 //定义温湿度针脚号为8号引脚
dht11 DHT11; //实例化一个对象
//int ledPin=11;
void setup(){ //初始化设置
Serial.begin(9600); //设置波特率参数
pinMode(DHT11PIN,OUTPUT);
// pinMode(ledPin,OUTPUT); //定义输出口
}
void loop(){ //循环
int chk = DHT11.read(DHT11PIN); //将读取到的值赋给chk
int hum=(float)DHT11.humidity; //将湿度值赋给hum
Serial.print("hum:");
Serial.print(hum);
Serial.print("%/t");
int tem=(float)DHT11.temperature; //将湿度值赋给tem
Serial.print(" tem:");
Serial.print(tem);
Serial.println("*C");
delay(2000);
}
3、执行结果
4、注意事项
目前从arduino官网下载的IDE是缺失DHT11库文件的,所以执行上面代码或者其它地方的类似代码都会报错,到arduino的安装文件中的“libraries”库文件目录下查看没有DHT11库文件,所以需要手动添加,百度“DHT11库文件”就可以找到。