利用温湿度传感器DHT11检测环境数据,发送给串口,通过串口监视器检查数据,通过LCD1602进行实时数据显示,并通过LED灯实现不同温湿度范围的预警。 说明:温度大于30℃红灯亮,湿度大于30%黄灯亮,LCD1602显示温度和湿度。
时间: 2024-05-01 19:23:15 浏览: 77
基于DHT11的温湿度监控(LCD1602).
3星 · 编辑精心推荐
这个项目的实现需要几个硬件和软件组件,包括:
硬件:
- Arduino开发板
- 温湿度传感器DHT11
- LED灯(红色和黄色)
- LCD1602液晶屏
- 杜邦线(用于连接各个模块)
软件:
- Arduino IDE开发环境
- DHT11库(用于读取DHT11传感器数据)
- LiquidCrystal库(用于LCD1602液晶屏显示)
- Serial库(用于串口通讯)
接下来是实现步骤:
1. 连接硬件:将DHT11传感器的三个引脚分别连接到Arduino开发板的数字引脚2(DATA)、正电源和地,将红色LED灯连接到数字引脚3,黄色LED灯连接到数字引脚4,将LCD1602液晶屏的引脚分别连接到Arduino开发板的数字引脚7-12,正电源和地。
2. 编写代码:打开Arduino IDE开发环境,编写代码,首先需要包含DHT11、LiquidCrystal和Serial库,然后定义DHT11传感器连接的引脚、LED灯连接的引脚和液晶屏连接的引脚。在setup()函数中初始化串口和液晶屏,然后在loop()函数中读取DHT11传感器数据,并将温湿度数据发送到串口和液晶屏上,并根据预警条件控制LED灯的亮灭。
以下是示例代码:
```
#include <dht11.h>
#include <LiquidCrystal.h>
dht11 DHT;
#define DHT11_PIN 2
#define RED_LED_PIN 3
#define YELLOW_LED_PIN 4
#define LCD_RS_PIN 7
#define LCD_EN_PIN 8
#define LCD_D4_PIN 9
#define LCD_D5_PIN 10
#define LCD_D6_PIN 11
#define LCD_D7_PIN 12
LiquidCrystal lcd(LCD_RS_PIN, LCD_EN_PIN, LCD_D4_PIN, LCD_D5_PIN, LCD_D6_PIN, LCD_D7_PIN);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(RED_LED_PIN, OUTPUT);
pinMode(YELLOW_LED_PIN, OUTPUT);
}
void loop() {
int chk = DHT.read11(DHT11_PIN);
float temp = DHT.temperature;
float hum = DHT.humidity;
Serial.print("Temperature: ");
Serial.print(temp);
Serial.print("°C Humidity: ");
Serial.print(hum);
Serial.println("%");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print("%");
if (temp > 30) {
digitalWrite(RED_LED_PIN, HIGH);
} else {
digitalWrite(RED_LED_PIN, LOW);
}
if (hum > 30) {
digitalWrite(YELLOW_LED_PIN, HIGH);
} else {
digitalWrite(YELLOW_LED_PIN, LOW);
}
delay(2000);
}
```
3. 上传代码:将代码上传到Arduino开发板中,打开串口监视器,可以看到温湿度数据的实时输出。同时,LED灯和LCD1602液晶屏也会根据预警条件实时显示。
这个项目可以作为学习Arduino基础的一个例子,也可以作为环境监测系统的基础框架进行扩展。
阅读全文