Chapter 10 of KitiBot for Micro:bit

来自Waveshare Wiki
跳转至: 导航搜索

第十章 超声波避障

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

知识要点

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

Kitibot ultrasonic sensor.png

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

第一节

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

Ultrasonic sensor.png

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

Ultrasonic sensor code.gif

Ultrasonic sensor code1.png

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

第二节

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

Ultrasonic sensor led.gif

Ultrasonic sensor led1.png

第三节

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

Ultrasonic obstracle.gif

Ultrasonic obstracle1.png

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

第四节

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

Ultrasonic obstracle2.gif

Ultrasonic obstracle3.png

第五节

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

Ultrasonic obstracle4.gif

Ultrasonic obstracle5.png

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

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

其他章节