3. robit智能小车案例01:超声波测距

3.1. 目的


  • 了解什么是超声波,如何用超声波测距。

  • 使用Robit智能小车来测距。

3.2. 使用材料


  • 1 x Robit智能小车

3.3. 背景知识


什么是超声波

超声波是一种频率高于20000赫兹的声波,它的方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距、测速、清洗、焊接、碎石、杀菌消毒等。超声波因其频率下限大于人的听觉上限而得名。

超声波测距原理

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据接收器接到超声波时的时间计算距离,与雷达测距原理相似。

microbitKit\robit_smart_car\./images/vSFTiuw.jpg

超声波模块

  • Sonar:bit是一个3线宽压超声波模块,它可以工作电压为3.0V-5V,3.3v或5V的单片机系统均能使用;它只需要3根线(G、V、S)就可以工作,比常规的4线超声波模块节省一个IO口。Sonar:bit量程为4cm~400cm,测量数据稳定准确,误差仅为±1cm。可应用于短距离测量、智能小车、机器人等场合。

../../_images/wZIpIu7.jpg../../_images/7QseHWh.jpg

3.4. 硬件连接图


如图所示,将超声波模块与Robit主板P1口使用3pin杜邦线连接。

../../_images/xb7vuYW.jpg

../../_images/Hz4ZGz3.jpg

3.5. 软件


微软makecode

3.6. 编程


步骤 1

  • 在MakeCode的代码抽屉中点击Advanced,查看更多代码选项。

../../_images/2qCyzQ72.png

  • 为了给robit智能小车编程,我们需要添加一个扩展库。在代码抽屉底部找到“Extension”,并点击它。这时会弹出一个对话框。搜索“robit”,然后点击下载这个代码库。

../../_images/CyQSlJk.png

注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。

步骤 2

Basic中拖出一个forever积木块,在其中插入show number积木块。

Sonarbit中拖出Ulirasonic distance积木块,选择cmP1。这条语句作用为连接超声波模块到P1口返回数据为cm

../../_images/EhBi4Sm.png

程序

请参考程序连接:https://makecode.microbit.org/_DdTdurbyrVvH

你也可以通过以下网页直接下载程序。

注意: 该超声波模块检测的最大距离大约为400cm。

现象

超声波模块会实时返回距离,并且显示在Micro:bit的5X5点阵上,距离单位为厘米CM。

../../_images/pKxQMu8.jpg

3.7. 思考


超声波测距显示距离为0有几种情况?

3.8. 常见问题


3.9. 相关阅读