第十章 超声波避障:Chapter 10 of KitiBot for Micro:bit

第十章 超声波避障

本章节我们学习使用超声波传感器,并且利用超声波传感器来实现机器人避障效果

知识要点

通常我们的耳朵听不到 20 千赫 (kHZ)以上的声音,(前面章节我们说过 声音是由振动产生的,10KHz,就是 相当于每秒中振动 20 千次,就是 2 万 次) ,这种 20 千赫以上的音波被称 为”超声波”,在夜间飞行的蝙蝠能够 发出这类超音波,蝙蝠的眼睛是弱 视,很难看清东西。它主要依靠超声 波来定位而不至于撞到墙壁上。声波 由蝙蝠的喉咙发出,并由耳朵接收, 根据接收到的声波可以判断前方物体 的位置。超声波传感器就是根据蝙蝠这个特点发明的。


机器人的两个眼睛就是超声波模块。一个眼睛是发送,一个眼睛是接收,超声波传感器可 以探知前方物体的距离。

第一节

使用下面这个积木就可以读取超声波的数据了,返回的是一个整数的距离数值。


下面通过一个简单是示例程序演示如果使用超声波模块,使用显示数字积木显示当前的超声波数值


程序下载到板子上运行后点阵屏会显示超声波测量的距离,如果数值超过个位数,屏幕会滚动显示。

第二节

当然也可以通过条形图的方式显示,距离越远点亮的LED越多,距离越近点亮的LED越少。


第三节

这一节我们通过超声波来实现检测障碍物的功能,机器人开机时向前运动,直到遇到障碍物停止。


程序不断从超声波检测前方障碍物的距离,当距离大于15cm时向前运动,当距离小于15cm时停止运动。需要注意的是开机时设置舵机为90度,确保超声波面向正前方。

第四节

这一节我们稍微修改一下程序,让机器人遇到障碍物时右转避开障碍物。


第五节

这一节我们加上舵机控制,遇到障碍物试,测量左右两边的距离,根据左边两边的距离选择最远的方向前进。


程序中添加rdis ,ldis变量分别表示右边距离和左边距离。通过判读这两个距离选择左转还是右转。

需要注意的是舵机转动的时候需要一定的转动时间,所以需要添加一定的延时等待舵机转动到指定的角度才测量距离。

TAG: 4合1USB逻辑分析仪Sipeed SLogic Combo DAPLink/CKLink/UART串口 树莓派X850扩展板 OPS扩展教程资料程序代码PDF手册 ESP32开发板 X1005树莓派5 PCIE转M.2 NVME双SSD固态硬盘2230/2242/2260/2280 ESP32-S3 DC-DC降压迷你模块5~36V电压输入5V/3.3V 输出4A 8.8寸USB电脑机箱副屏RGB/桌搭氛围屏LCD1920x480带拾音功能 树莓派5散热风扇 树莓派5串口终端 T-Call&PMU IMX219 树莓派Pico 2 RP2350 1.43寸AMOLED开发板显示触摸屏 466x466 板载 QMI8658 6轴 | PCF85063 RTC | SD | 电池口 双通道RS485转以太网 X1011树莓派5 PCIE转M.2 NVME 4口SSD固态硬盘扩展板Pi5四倍 树莓派RP2040 HM01B0 树莓派RP2040键盘 ESP32 C6开发板1.9寸LCD显示触摸屏172×320带RGB灯SD ST7789 CST816 幸狐Luckfox Pico Core1106 瑞芯微Rockchip RV1106 Linux开发板 树莓派5 RTC配置