当前位置: 首页 > 产品大全 > Micropython教程 TpyBoard DIY超声波测距仪实例演示

Micropython教程 TpyBoard DIY超声波测距仪实例演示

Micropython教程 TpyBoard DIY超声波测距仪实例演示

超声波测距仪是电子爱好者入门和教学演示中的经典项目。借助TpyBoard开发板和Micropython编程语言,我们可以快速实现一个功能完整、易于理解的测距装置。本教程将详细介绍其工作原理、硬件连接和代码实现,非常适合在“电子产品世界”等论坛分享或作为教学演示用品。

一、 项目简介与原理

本项目使用HC-SR04超声波传感器和TpyBoard(一款兼容Micropython的开发板)来测量前方障碍物的距离。HC-SR04模块通过发射超声波并接收回波,根据时间差计算距离。其公式为:距离 = (声速 × 时间差) / 2。声速在常温下约为340米/秒。

二、 所需材料清单

  1. TpyBoard开发板 x1(或其他支持Micropython的ESP32/ESP8266开发板)
  2. HC-SR04超声波传感器模块 x1
  3. 面包板 x1
  4. 杜邦线 若干
  5. 可选:OLED显示屏(用于直接显示距离数值)

三、 硬件连接

将HC-SR04模块与TpyBoard按以下方式连接(以TpyBoard的GPIO引脚为例,请根据具体板型调整):

  • VCC -> 开发板 5V3.3V(根据模块规格)
  • GND -> 开发板 GND
  • Trig(触发)-> 开发板 GPIO15(或其他任意数字输出引脚)
  • Echo(回波)-> 开发板 GPIO2(或其他任意数字输入引脚)

注意:部分HC-SR04模块工作电压为5V,若TpyBoard的IO口为3.3V电平,可能需要电平转换电路或使用电阻分压,以避免损坏开发板。

四、 Micropython代码实现

在TpyBoard上运行以下代码。确保开发板已刷入Micropython固件,并能通过串口工具(如PuTTY、Thonny)连接。

`python from machine import Pin, Timer import time

初始化引脚

trig = Pin(15, Pin.OUT) # 触发引脚,输出
echo = Pin(2, Pin.IN) # 回波引脚,输入

定义测量函数

def measure_distance():
# 确保触发信号为低电平起始

trig.low()
time.sleep_us(2)
# 发送一个10微秒的高脉冲作为触发信号

trig.high()
time.sleep_us(10)
trig.low()

# 等待回波引脚变为高电平(开始接收回波)

while echo.value() == 0:
pass
pulsestart = time.ticksus() # 记录回波开始时间

# 等待回波引脚变为低电平(回波结束)

while echo.value() == 1:
pass
pulseend = time.ticksus() # 记录回波结束时间

# 计算时间差(微秒)

pulseduration = time.ticksdiff(pulseend, pulsestart)

# 计算距离:时间差 * 声速(340 m/s) / 2,转换为厘米

声速 340 m/s = 0.034 cm/微秒。公式为:距离 = (脉冲时间 * 0.034) / 2

distancecm = (pulseduration * 0.034) / 2

return distance_cm

主循环,持续测量并打印距离

while True:
dist = measure_distance()
# 通常有效测距范围为2cm-400cm,可做简单过滤

if dist > 2 and dist < 400:
print("距离: {:.2f} cm".format(dist))
else:
print("测量值超出有效范围或无效")
time.sleep(1) # 每秒测量一次
`

五、 功能扩展与教学演示建议

  1. 增加显示:连接一个I2C接口的OLED屏幕,将距离数值实时显示出来,视觉效果更直观。
  2. 增加报警:当距离小于设定阈值(如20厘米)时,让板载LED闪烁或蜂鸣器鸣响,实现简易防撞报警。
  3. 数据上报:利用TpyBoard的Wi-Fi功能,将距离数据上传到物联网平台,实现远程监控。
  4. 教学重点:在演示时,可以重点讲解超声波测距的物理原理、时间差测量方法、Micropython的GPIO控制以及简单的数据处理(如单位换算、范围过滤)。通过改变障碍物的位置,让学生直观理解传感器的工作原理和程序运行逻辑。

六、 常见问题排查

  • 无输出或输出恒定:检查接线是否正确、牢固;确保传感器供电电压合适。
  • 测量值不稳定:避免传感器正对着柔软或吸音材料测量;检查环境中是否有强烈的声波干扰。
  • 程序报错:确认引脚编号与物理连接一致;检查Micropython固件版本。

通过这个项目,学习者不仅可以掌握Micropython的基本编程和硬件控制,还能深入理解超声波传感器的应用,为后续更复杂的物联网或智能硬件项目打下坚实基础。此装置成本低廉、效果直观,非常适合作为电子实训课程或兴趣小组的演示与DIY项目。

如若转载,请注明出处:http://www.cexqv.com/product/20.html

更新时间:2026-04-07 00:13:09