1. 项目概述与硬件选型
树莓派作为一款性价比极高的微型计算机,在创客圈和嵌入式开发领域一直备受欢迎。HC-SR04超声波测距模块和TM1637数码管显示模块的组合,是入门级硬件项目中非常经典的搭配方案。这个项目通过树莓派GPIO控制这两个模块,实现实时距离测量并直观显示,整个过程涉及硬件连接、信号时序控制、数据处理等多个环节。
选择HC-SR04的原因在于其价格低廉(约5-10元)、测距范围适中(2cm-400cm)、精度够用(约3mm),特别适合DIY和小型机器人项目。而TM1637驱动的4位数码管模块,相比直接驱动数码管节省了IO口资源,自带驱动芯片简化了电路设计,亮度可调且显示稳定。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件连接与引脚定义
2.1 所需材料清单
- 树莓派主板(推荐3B+/4B型号)
- HC-SR04超声波模块
- TM1637 4位数码管模块
- 杜邦线若干(建议使用母对母)
- 可选:面包板(方便临时搭建电路)
2.2 引脚连接示意图
code复制树莓派 HC-SR04 TM1637
GPIO 23 ---> Trig
GPIO 24 <--- Echo
5V ---> VCC
GND ---> GND
GPIO 2 ---> CLK
GPIO 3 ---> DIO
注意:部分树莓派版本GPIO2/3默认有上拉电阻,若遇到通信问题可尝试更换其他GPIO引脚
2.3 电源注意事项
HC-SR04的工作电压为5V,而树莓派GPIO逻辑电平为3.3V。虽然Echo引脚输出5V电平,但实测多数情况下可直接连接树莓派GPIO而不会损坏。为保险起见,可在Echo信号线上添加分压电路(如1kΩ和2kΩ电阻分压)。
3. 超声波测距原理与实现
3.1 HC-SR04工作原理详解
模块工作时序分为三个阶段:
- 触发阶段:给Trig引脚至少10μs的高电平脉冲
- 发射阶段:模块自动发送8个40kHz超声波脉冲
- 回波检测:Echo引脚输出高电平,持续时间与距离成正比
距离计算公式:
code复制距离(cm) = (高电平时间(μs) × 声速(343m/s)) / 2
≈ 高电平时间 / 58
3.2 Python实现代码
python复制import RPi.GPIO as GPIO
import time
TRIG = 23
ECHO = 24
def setup():
GPIO.setmode(GPIO.BCM)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
GPIO.output(TRIG, GPIO.LOW)
time.sleep(0.5)
def get_dist
