做一个基于单片机的小项目,把具体的实际应用实现了温湿度检测显示,电路图,原代码及注释,芯片引脚使用,真正的算法流程,最终实现效果。
时间: 2023-06-26 16:08:21 浏览: 86
STM32F103ZET6单片机DHT11温湿度应用(函数库版)源码+开发板原理图.zip
5星 · 资源好评率100%
好的,我们可以做一个基于Arduino的温湿度检测显示小项目。
#### 1. 硬件准备
- Arduino UNO板
- DHT11温湿度传感器
- 16x2字符LCD屏幕
- 杜邦线等
#### 2. 电路连接
- 将DHT11的信号引脚连接到Arduino板的数字引脚2上
- 将LCD屏幕的RS、E、D4、D5、D6、D7引脚分别连接到Arduino板的数字引脚8、9、4、5、6、7上
![电路图](https://img-blog.csdnimg.cn/20210416173540481.png)
#### 3. 代码实现
```C++
#include <LiquidCrystal.h> // 导入LCD库
#include <dht11.h> // 导入DHT11库
#define DHT11_PIN 2 // DHT11信号引脚
dht11 DHT11; // 创建DHT11对象
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // 创建LCD对象
void setup() {
lcd.begin(16, 2); // 初始化LCD
lcd.setCursor(0, 0); // 设置光标位置
lcd.print("Temp: "); // 显示“Temp: ”
lcd.setCursor(0, 1); // 设置光标位置
lcd.print("Humidity: "); // 显示“Humidity: ”
}
void loop() {
int chk = DHT11.read(DHT11_PIN); // 读取DHT11数据
lcd.setCursor(6, 0); // 设置光标位置
lcd.print(DHT11.temperature); // 显示温度
lcd.print((char)223); // 显示温度单位“℃”
lcd.setCursor(10, 1); // 设置光标位置
lcd.print(DHT11.humidity); // 显示湿度
lcd.print("%"); // 显示湿度单位“%”
delay(2000); // 延时2s
}
```
#### 4. 代码解析
- 导入LCD库和DHT11库
- 定义DHT11信号引脚和创建DHT11对象
- 创建LCD对象
- 在`setup()`函数中初始化LCD并显示“Temp: ”和“Humidity: ”
- 在`loop()`函数中读取DHT11数据并显示温湿度,并延时2秒钟,然后再次读取并显示。
#### 5. 效果演示
![效果演示](https://img-blog.csdnimg.cn/2021041617345047.gif)
以上就是一个基于Arduino的温湿度检测显示小项目的实现,希望能对你有所帮助。
阅读全文