如何使用HC-SR04进行超声波距离测量
扫描二维码
随时随地手机看文章
HC-SR04是一款超声波测距模块。它的外观看起来像一双眼睛,这就是为什么它经常被安装在机器人汽车或机器昆虫上作为他们的“视觉”。
工作原理很简单:
1. 首先,将三角引脚设置为HIGH(快速HIGH→LOW脉冲)。
2. HC-SR04发送8超声波脉冲在40千赫,并提高回声引脚高。
3. 当反射声波返回时,ECHO引脚再次变为LOW。
如何计算距离
假设声速为340m /s,则在空气中传播1cm所需的时间为:
340 × 100 × 10⁻26 = 29 μs
因为声波在物体之间来回传播,所以总传播距离是原来的两倍。因此,公式为:
距离=(时间/ 29)/ 2 =时间/ 58
重要事项:电压注意事项
HC-SR04工作电压为5V。当ECHO引脚输出5V HIGH信号时,可能会损坏BW21-CBV-Kit的GPIO引脚。
为了避免这种情况,必须使用电阻或电平移位器降压。
接线图(BW21-CBV-Kit +电阻)
使用1:2的电阻分压器(任何合适的值都可以,避免过高的电阻)。如果没有电阻器,可以使用逻辑电平转换器。
示例代码
打开示例:File→Examples→AmebaGPIO→HCSR04_Ultrasonic
将其编译并上传到BW21-CBV-Kit中,然后按复位按钮。打开串行监视器-测量结果每2秒打印一次。
笔记
由于HC-SR04使用的是反射声波,因此测量到的距离可能会因物体表面的材料而异:
•粗糙的表面会使声音分散
•柔软的表面会吸收声音
代码引用
触发测量脉冲高10µs:
digitalWrite (trigger_pin、高);delayMicroseconds (10);digitalWrite (trigger_pin、低);
测量ECHO引脚上HIGH脉冲的持续时间:
duration = pulseIn(echo_pin, HIGH);
计算距离:
距离=持续时间/ 58;
本文编译自hackster.io





