课程目标
相关知识
**DHT11数字温湿度传感器:**DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。
**DHT11结构:**DHT11是一款温湿度一体的数字传感器,内部包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机连接。外部只需要简单的电路连接,就能实时采集本地温湿度。
**DHT11的引脚排列:**窗孔朝上,从左到右依次为VCC、Dout、NC、GND。
DHT11在电路连接中,通常会在数据引脚外加上拉电阻,常用的DHT11模块如下:
DHT11驱动库: 在Arduino IDE中点击「项目」—「加载库」—「管理库」,输入"dht11",选择第二个「DHT sensor library」进行安装。安装的时候会跳出提示,告诉你如果安装这个库文件,还需要另外的配套库文件,选择全部安装即可。
电路搭建
所需材料
ArduinoUNO * 1
DHT11温湿度传感器 *1
OLED显示屏 * 1
杜邦线若干
电路连接
OLED屏的VCC和GND分别连接开发板的5V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。DHT11模块VCC、GND分别连接到开发板的5V、GND,模块的DATA引脚连接开发板数字引脚2。
程序编写
练习一:串口读取温湿度
通过串口打印出读取导电温湿度传感器测得的值。
图形化方式:
代码方式:
/* 项目名称:串口显示温湿度
* 项目时间:2022.03.24
* 项目作者:MRX
*/
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();//获取湿度
float t = dht.readTemperature();//获取温度
Serial.print("Humidity:");
Serial.print(h);
Serial.print("% Temperature:");
Serial.print(t);
Serial.println("℃");
delay(2000);
}
演示图片:
练习二:温湿度测量仪
将测得的温湿度值显示在OLED屏幕上。
图形化方式:
代码方式:
/* 项目名称:串口显示温湿度
* 项目时间:2022.03.24
* 项目作者:MRX
*/
#include < U8g2lib.h >
#include < Wire.h >
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
//iic驱动方式
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
u8g2.begin();
dht.begin();
}
float h;
float t;
void loop() {
h = dht.readHumidity();//读湿度
t = dht.readTemperature();//读温度(摄氏度)
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_timR10_tf);
u8g2.setCursor(25,10);
u8g2.print("T&H Report");
u8g2.setCursor(5,30);
u8g2.print(String("Temperature:") + String(t) + String(" C"));
u8g2.setCursor(5,50);
u8g2.print(String("Humidity:") + String(h) + String("%"));
} while ( u8g2.nextPage() );
delay(1000);
}
演示图片:
-
NTC
+关注
关注
7文章
403浏览量
51988 -
测量仪
+关注
关注
1文章
654浏览量
32843 -
OLED屏
+关注
关注
0文章
162浏览量
20818 -
温湿度传感器
+关注
关注
5文章
573浏览量
35654 -
DHT11
+关注
关注
19文章
277浏览量
57530
发布评论请先 登录
相关推荐
评论