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

第十章 超声波避障

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

知识要点

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


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

第一节

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


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


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

第二节

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


第三节

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


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

第四节

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


第五节

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


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

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

TAG: ESP32-S3开发板4寸LCD显示触摸屏 480x480 86盒中控兼容Arduino LVGL TVbox SHT20温湿度 继电器 RS485 树莓派X630转接板 兼容HDMI转CSI-2模块 支持音视频 1080p60fps ESP32显示屏 Bus-Servo-Adapter-A教程 DTOF激光雷达 UNO R3 ATmega328 树莓派10.1寸QLED量子点电容触摸显示屏1280x720 PC电脑游戏副屏 荔枝派糖Lichee Tang Nano 9K高云FPGA GOAI Sipeed GW1NR-9 显示配置教程 RoArm-M3-S 手柄控制 树莓派5/4B不启动更新BootLoader EEPROM教程 ESP32 S3小木马开发板1.54寸LCD小智muma虾哥AI DeepSeek人工智能语音聊天机器人N16R8 PCIE M.2 NVME双SSD固态硬盘 5.79寸电子墨水屏黑白ePaper适用于Arduino/树莓派STM32/Jetson HMI显示屏 SIMCom SIM7600G-H MiniPCIe GNSS全球定位4G通讯模块LTE Cat-4 树莓派14寸2K Type C LCD显示屏HDMI触摸2160x1440迷你PC电脑副屏 M.2 5G模块 ESP32-S3开发发板 ESP32 S3开发板4寸LCD触摸显示屏480x480 TVBOX HMI LVGL带CAN/RS485/I2C/传感器接口