找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 12|回复: 0

I2C-1602液晶显示屏+DHT11温湿度检测

[复制链接]

15

主题

0

回帖

73

积分

管理员

积分
73
发表于 2026-6-24 09:18:55 | 显示全部楼层 |阅读模式
本课学习目标
1. 掌握I2C通信接线规则,学会第三方库安装方法
2. 掌握DHT11温湿度传感器读取逻辑
3. 实现液晶屏实时显示温湿度数据
所需器材
Uno主板、I2C1602液晶屏、DHT11温湿度模块、杜邦线
一、核心理论
• I2C液晶屏:仅4线接线,Uno固定SDA=A4SCL=A5
屏幕常用地址:0x270x3F,不通显示切换地址即可
• DHT11:读取环境温度+湿度,读取间隔≥1000ms,数据稳定
必备库:LiquidCrystal_I2CDHT sensor library
二、图文接线
【插图点位8】图7-1 液晶+DHT11接线示意图
1.1602液晶:VCC-5VGND-GNDSDA-A4SCL-A5
2.DHT11VCC-5VGND-GNDDATA-2号引脚
库安装步骤IDE顶部项目加载库管理库搜索名称一键安装即可
三、整合显示代码
arduino
//导入必备库
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

//屏幕地址二选一,不显示就更换
LiquidCrystal_I2C lcd(0x27,16,2);
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);

void setup() {
  lcd.init();       //初始化屏幕
  lcd.backlight();  //开启背光
  dht.begin();      //启动温湿度模块
}

void loop() {
  float temp = dht.readTemperature();
  float humi = dht.readHumidity();
  
  //第一行显示温度
  lcd.setCursor(0,0);
  lcd.print("Temp:");
  lcd.print(temp);
  lcd.print(" C");
  
  //第二行显示湿度
  lcd.setCursor(0,1);
  lcd.print("Humi:");
  lcd.print(humi);
  lcd.print(" %");
  
  delay(1000);
}
避坑要点
DHT11读取间隔不能小于1秒;屏幕不亮优先更换I2C地址;A4A5引脚不可再接其他通信模块
课后作业
编写代码,实现温度大于30℃时,屏幕背光闪烁提醒
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表