项目四:超声波测距原理
首先先来了解下超声波测距的原理: 人们可以听到的声音的频率为20Hz~2KHz,也就是可听声波,超出此频率范围的声音,20Hz以下的声音称为低频声波,20KHz以上的声音称为超声波(Ultrasound),一般说话的频率范围是10Hz-8KHz。超声波方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,超声波因其频率下限大约等于人的听觉上限而得名。
超声波测距原理超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。首先,超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为C=340m/s,根据计时器记录的时间T秒,就可以计算出发射点距障碍物的距离L,即:L= C×T /2 。这就是所谓的时间差测距法。 VCC、trig(控制端)、 echo(接收端)、 GND
初始化时将trig和echo端口都置低,首先向给trig 发送至少10 us的高电平脉冲(这里是一个触发条件,所以也可以设置为20us),用于触发检测方波,之后模块会自动向外发送8个40K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照 测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。 备注:t*340m/s = t/(1/340)s/m=t/(2.9)ms/m=0.029ms/cm=29us/cm
注明下pulseIn(pin,value): 参数:pin你要进行脉冲计时的引脚,value你要读取脉冲的类型可以为high或者low,
作用:引脚从要读取的脉冲类型开始出现计时,到脉冲结束。返回这种类型脉冲的长度,单位是微秒。(1秒=1000000微秒)