避障功能

在本项目中,PiCrawler 将使用超声波模块来检测前方障碍物。 当 PiCrawler 检测到障碍物时,会发出信号,并寻找其他方向继续前进。

Program

备注

  • 你可以按照下图编写程序,详细操作请参考教程:How to Create a New Project?

  • 或者在 EzBlock Studio 的 Examples 页面找到同名示例代码,直接点击 RunEdit 运行或修改。

../_images/avoid.png

工作原理

你可以在 Module 分类中找到以下模块,用于实现距离检测:

../_images/sp210928_103046.png

需要注意的是,模块的两个引脚必须与实际接线对应,即 trig-D2,echo-D3。

以下是主程序逻辑:

  • 读取超声波模块检测到的 distance ,并过滤掉小于 0 的数值(当超声波模块距离障碍物过远或无法正确读取数据时,会出现 distance<0 的情况)。

  • distance 小于 alert_distance``(预设阈值,这里设为 10)时,播放音效 ``sign.wav ,PiCrawler 执行 turn left

  • distance 大于 alert_distance 时,PiCrawler 执行 forward