一、元件介绍
LCD1602 IIC液晶显示屏:

温湿度传感器:

当然啦我们还需要Arduino主板(型号就没有要求啦,我们用UNO r3为例)

二、接线图
| LCD1602IIC引脚 | Arduino引脚 |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
| 传感器引脚 | Arduino引脚 |
|---|---|
| -(GND) | GND |
| S | 2 |
| +(VCC) | 5V |
| NC | 不连 |
三、代码
直接照搬就对了,包没错的。
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
const int Pin = 2;
DHT dht(Pin, DHT11);
LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long previousMillis = 0;
const long interval = 1000; // 更新间隔
void setup()
{
Serial.begin(9600);
lcd.init(); // 初始化LCD
lcd.backlight(); // 设置LCD背景灯亮
lcd.clear();
}
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
float tempC = dht.readTemperature(true); // 读取温度,转换为摄氏度
float Humi = dht.readHumidity();; // 读取湿度
if (isnan(tempC) || isnan(Humi))
{
lcd.setCursor(0, 0);
lcd.print("TM:ERROR");
lcd.setCursor(0, 1);
lcd.print("HM:ERROR");
}
else
{
lcd.clear();
// 显示温度和湿度
lcd.setCursor(0, 0);
lcd.print("TM:");
lcd.print(tempC, 1);
lcd.print("`C");
lcd.setCursor(0, 1);
lcd.print("HM:");
lcd.print(Humi, 1);
lcd.print("%");
}
}
}

效果图
附件
DHT库
这里主要解决你在编译器里面安装了DHT库,还是无法编译的情况。
分享名称:arduino-DHT-master.zip
分享链接:http://47.113.180.251:8180/#s/-gPxP1kw
访问密码:NDXE8
或者你直接在GitHub下载








Comments NOTHING