|
本课学习目标 1. 掌握I2C通信接线规则,学会第三方库安装方法 2. 掌握DHT11温湿度传感器读取逻辑 3. 实现液晶屏实时显示温湿度数据 所需器材 Uno主板、I2C版1602液晶屏、DHT11温湿度模块、杜邦线 一、核心理论 • I2C液晶屏:仅4线接线,Uno固定SDA=A4、SCL=A5 • 屏幕常用地址:0x27、0x3F,不通显示切换地址即可 • DHT11:读取环境温度+湿度,读取间隔≥1000ms,数据稳定 • 必备库:LiquidCrystal_I2C、DHT sensor library 二、图文接线 【插图点位8】图7-1 液晶+DHT11接线示意图 1.1602液晶:VCC-5V、GND-GND、SDA-A4、SCL-A5
2.DHT11:VCC-5V、GND-GND、DATA-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℃时,屏幕背光闪烁提醒
|