Example 52: TM1637 seven-segment displaytemperature and humidity
About 4 min
Example 52: TM1637 seven-segment displaytemperature and humidity
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Hardware purpose, wiring requirements, and firmware edition notes.
- Peripheral configuration fields and JSON examples.
- Validation steps, PeriphExec linkage, and field-operation notes.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
示例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 设备冲突
