使用DHT11温湿度传感器获取温湿度
一、前言
老规矩,再来一句名言激励激励大家,当然,也激励自己(狗头):
读书百遍,其义自见。——晋·陈寿
二、DHT11介绍
DHT11采用单总线协议,具有体积小、功耗低、抗干扰能力强等优点,同时也不贵,作为温湿度测量的使用最适合不过了。DHT11的型号主要有两款,一种是三个引脚的,另外一种则是四个引脚的,下面是我从网上扒来的图片,有点模糊,大家看下对比就可以了。
虽然两种型号引脚数量不同,但是平常使用我们也就用到3个引脚:VCC、GND和DATA引脚,最后一个引脚悬空即可。DHT11的主要规格参数如下表所示:
变量 | 规格 |
---|---|
工作电压 | 3.3V~5V |
工作电流 | 约0.5mA |
温度测量范围 | 0℃~50℃ |
湿度测量范围 | 20%~95 |
精度 | 湿度:±5%RH;温度:±2℃ |
三、准备工作
硬件:
- Arduino Uno开发板
- DHT11(温湿度传感器)一个
- 杜邦线若干和面包板一个
软件:
- Arduino IDE(没安装可看我的另一篇博客点击跳转)
- DHT11支持库(DHT sensor library,IDE内部自行下载安装即可)
电路图:
四、程序代码
#include <DHT.h> //导入DHT库
#include <DHT_U.h>
#define pin_dht 7 //为引脚定义别名
DHT dht(pin_dht, DHT11); //设置传感器类型及引脚
float temperature = 0.0; // 初始化温湿度
float humidity = 0.0;
void setup() {
Serial.begin(9600);
dht.begin(); //dht工作
}
void loop() {
temperature = dht.readTemperature(); //获取温度
humidity = dht.readHumidity(); //获取湿度
// 输出温度/湿度
Serial.print(temperature, 1);
Serial.print("/");
Serial.println(humidity, 1);
delay(2000); //延迟2秒
}
五、运行结果
按照电路图接好线,把上面代码烧录进Arduino后,打开串口调试窗口,设置好波特率9600,可以看到获取到的温湿度。
六、结束语
标签:引脚,温湿度,Arduino,Serial,dht,DHT11 From: https://blog.csdn.net/2401_85774947/article/details/141816547好咯,对于Arduino中DHT11温湿度传感器的使用就先介绍到这里了,后续我还会更新Arduino的其他,然后把所学过的都整合在一个有意思的项目里(毕竟学习都是一个循环渐进的过程嘛),让大家真正的入门Arduino。我是风行男孩,咱们有缘再见!