示例52:TM1637 数码管显示温湿度
大约 3 分钟
示例52:TM1637 数码管显示温湿度
场景概述
使用 DHT11/DHT22 温湿度传感器采集数据,通过 TM1637 四位数码管交替显示温度和湿度值。适合需要远距离观察数据的场景(如大棚、机房温度监控)。
所需硬件
| 模块 | 型号 | 用途 |
|---|---|---|
| 温湿度传感器 | DHT11 / DHT22 | 采集温湿度 |
| 数码管 | TM1637 四位 | 显示数值 |
| ESP32 开发板 | 普中 ESP32 | 主控 |
硬件接线
DHT11 接线
| DHT11 引脚 | ESP32 GPIO | 说明 |
|---|---|---|
| VCC | 3.3V | 电源 |
| DATA | GPIO 32 | 数据引脚 |
| GND | GND | 地 |
TM1637 数码管接线
| TM1637 引脚 | ESP32 GPIO | 说明 |
|---|---|---|
| VCC | 3.3V / 5V | 电源 |
| GND | GND | 地 |
| CLK | GPIO 18 | 时钟引脚 |
| DIO | GPIO 19 | 数据引脚 |
外设执行联动配置
场晦1:交替显示温度和湿度(定时触发)
功能:每6秒交替显示温度和湿度(温度3秒,湿度3秒)
Web界面配置步骤
规则1:显示温度
点击左侧菜单 外设配置 → 切换到 外设执行管理 标签
点击 新增规则 按钮
填写基础配置:
- 规则名称:
显示温度 - 上报数据:✅ 启用
- 启用:✅ 启用
- 规则名称:
配置触发器:
- 触发类型:选择 定时触发
- 定时模式:选择 固定间隔
- 间隔时间:
6000(6秒) - 时间偏移:
0(偏移0秒)
配置动作(需要2个动作):
- 动作1:选择 传感器读取,目标
dht1 - 动作2:选择 数码管显示,目标
tm1637_1,模板{dht1.temperature}
- 动作1:选择 传感器读取,目标
点击 保存 按钮
规则2:显示湿度
- 再次创建规则,名称:
显示湿度 - 触发器配置:
- 触发类型:选择 定时触发
- 间隔时间:
6000(6秒) - 时间偏移:
3000(偏移3秒,与温度错开)
- 动作配置:
- 动作1:选择 传感器读取,目标
dht1 - 动作2:选择 数码管显示,目标
tm1637_1,模板{dht1.humidity}
- 动作1:选择 传感器读取,目标
- 点击 保存
场晦2:温度报警闪烁(轮询触发)
功能:温度超过35°C时数码管闪烁显示并触发蜂鸣器
配置步骤:
- 创建规则,名称:
高温闪烁 - 触发器配置:
- 触发类型:选择 轮询触发
- 目标外设:选择
dht1 - 数据字段:
temperature - 运算符:
> - 阈值:
35 - 轮询间隔:
5000
- 动作配置(需要2个动作):
- 动作1:选择 数码管显示,目标
tm1637_1,模板{dht1.temperature},✅ 启用闪烁 - 动作2:选择 高电平,目标
buzzer1(需提前配置蜂鸣器)
- 动作1:选择 数码管显示,目标
- 点击 保存
完整配置导入
[
{
"id": "dht1",
"name": "DHT11温湿度",
"type": 38,
"enabled": false,
"pins": [32],
"params": {
"driver": "DHT",
"model": "DHT11",
"interval": 3000
}
},
{
"id": "tm1637_1",
"name": "四位数码管",
"type": 47,
"enabled": false,
"pins": [18, 19],
"params": {
"brightness": 4,
"colon": true
}
}
]显示效果说明
TM1637 四位数码管显示:
温度模式:25.3(显示 25.3,冒号闪烁表示正在采集)
湿度模式:60.5(显示 60.5)- 支持显示 0-9999 的数值
- 支持一个小数点位
- 冒号可用于指示状态(闪烁=正常,常亮=报警)
与 OLED 方案对比
| 特性 | TM1637 数码管 | SSD1306 OLED |
|---|---|---|
| 显示内容 | 仅数字 | 文字+图形 |
| 可视距离 | 远(5-10m) | 近(< 1m) |
| 功耗 | 较高 | 极低 |
| 适用场景 | 工厂/大棚/机房 | 桌面/便携设备 |
| 信息量 | 少(4位数字) | 多(多行文本) |
注意事项
- 显示精度:TM1637 只有 4 位,温度显示为
25.3,湿度为60.5 - 数据格式:传感器值会自动截取为可显示的位数
- 亮度调节:根据环境光调整 brightness 参数(0=最暗,7=最亮)
- 刷新频率:建议 ≥ 1000ms 刷新一次,过快会导致闪烁
- 引脚冲突:CLK/DIO 可使用任意 GPIO,注意不要与 SPI 设备冲突
