模块,其Trig引脚是触发引脚,向其引脚发10us以上的高电平即可触发它发送超声波指令,HC-SR04模块会自动发送8个40kHz的方波,当发送完成后,Echo引脚会输出高电平,当收到反射回来的声波后,Echo会重新变回低电平。因此,在使用HC-SR04模块时,我们只需要通过向Trig引脚加高电平触发测量指令,之后监听Echo引脚高电平的持续时间,通过计算印刷即可完成测距工作。

超声波HC-SR04模块,其Trig引脚是触发引脚,向其引脚发10us以上的高电平即可触发它发送超声波指令,HC-SR04模块会自动发送8个40kHz的方波,当发送完成后,Echo引脚会输出高电平,当收到反射回来的声波后,Echo会重新变回低电平。因此,在使用HC-SR04模块时,我们只需要通过向Trig引脚加高电平触发测量指令,之后监听Echo引脚高电平的持续时间,即可完成测距工作。
| HC-SR04原理图 | 模块全套资料 | 🛒超声波产品链接 |

| 超声波HC-SR04模块 | 树莓派Pico |
| VCC | 3.3V |
| GND | GND |
| Trig | GP17 |
| Echo | GP16 |

下载源代码后,上传至树莓派Pico内,直接运行代码查看结果。 可以遮挡超声波探头测试距离,非常精准~(如下)

引脚配置:
Trig 引脚配置为输出模式,用于发送触发信号,Echo 引脚配置为输入模式,用于接收回响信号
测量函数:
measure_distance()函数实现了完整的测距逻辑
使用time_pulse_us()函数精确测量 Echo 引脚高电平持续时间
通过公式计算距离,并进行四舍五入处理
距离计算公式:
声速在空气中约为 343.2 米 / 秒 = 0.03432 厘米 / 微秒
超声波往返一次,所以需要除以 2
最终公式:距离(厘米) = 时间(微秒) × 0.0343 ÷ 2
注意事项:
避免在强电磁干扰环境中使用,可能影响测量精度,测量距离过近(<2cm)或过远(>400cm)时会测量不准确,对于光滑平面,测量精度较高;对于柔软或不规则表面,精度可能下降,建议两次测量之间保留至少 50ms 的间隔,避免回声干扰
通过以上代码我们精准的测试距离功能,我们在前代码里在添加新功能。 设定一个阈值,比如低于20cm发出报警声!距离越近报警声频率就越高
蜂鸣器接法:-负极接GND,S接GP0。 中间不用接

下载源代码后,上传至树莓派Pico内,直接运行代码查看结果。 可以遮挡超声波探头测试距离,及报警功能。距离越近报警声频率越高(如下)

引脚配置:
将蜂鸣器配置GP0引脚,输出高电平就能触发报警声
报警功能:
ALARM_THRESHOLD:报警触发阈值(20cm)
MIN_INTERVAL/MAX_INTERVAL:控制蜂鸣器鸣叫间隔的范围
核心逻辑 :根据距离动态调整蜂鸣器频率
1. 报警条件判断 :当距离小于 20cm 时进入报警模式
2. 距离范围限制 :确保距离在 2-20cm 的有效区间内,避免计算异常
3. 频率计算 :ratio:将距离转换为 0~1 的比例(2cm 对应 0,20cm 对应 1),使用四次方关系(ratio**4)计算间隔时间,使近距离的频率提升更显著(非线性变化),蜂鸣器控制:通过高低电平交替产生声音,间隔时间越短,频率越高,非报警状态:距离≥20cm 时,蜂鸣器保持低电平
联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意
提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...