超声波传感器具有两个圆形探头,如图4-2-7 所示,一个是发射头(带T 标识),用于发射超声波;一个是接收头(带R 标识),用于接收被障碍物反射回来的超声波,通过测量某段超声波从反射到接收的时间从而计算出障碍物的距离。超声波传感器一般设置于机器人的前方或侧面,如图4-2-8 所示,用于智能机器人避障、跟随等。
图4-2-7 SR05 超声波传感器
图4-2-8 Arduino 机器人中超声波传感器的位置
工作原理:超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为340 m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即s=340 m/s×t/2。这就是所谓的时间差测距法。
程序原理(见图4-2-9):
第一步,使用Arduino 采用数字引脚给SR05 的Trig 引脚至少10 μs的高电平信号,触发SR05 模块测距功能。
第二步,触发后,模块会自动发送8 个40 kHz 的超声波脉冲,并自动检测是否有信号返回。这一步会在模块内部自动完成。
第三步,如有信号返回,Echo 引脚会输出高电平,高电平持续的时间就是超声波从发射到返回的时间。此时,可使用 pulseIn()函数获取到测距的结果,并计算出距被测物的实际距离。
图4-2-9 超声波工作原理
本实验利用超声波测得的距离从串口中显示。(www.daowen.com)
(1)超声波传感器4 个引脚的具体定义:
ECHO:信号接收引脚,按照配套的机器人,本书设置与Arduino 的8 号数字接口连接;
TRIG:信号触发引脚,按照配套的机器人,本书设置与Arduino 的9 号数字接口连接;
GND:电源地引线;
VCC:电源+5 V。
(2)超声波传感器检测距离的测试程序如下:
(3)超声波传感器的测距数据监视:
编译通过后,上传程序至Arduino UNO 开发板,待上传成功后,点击菜单栏中的“工具”,打开串口监视器,弹出窗口并显示距离数据,如图4-2-10 所示,尝试用手挡在超声波传感器的前面,观察数据变化情况。
图4-2-10 超声波传感器检测距离监视窗口
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。