12. 案例09:智能避障行驶#

12.1. 目的#


  • 让你的Cute:bot智能赛车完成自动避障行驶。

12.2. 使用材料#


  • 1 x Cutebot套件

  • 1 x 超声波探头(自备或使用Cutebot套装内探头)

12.3. 软件平台#


微软 makecode

12.4. 编程#


步骤 1#

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

../../_images/cutebot-pk-13.png

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

../../_images/cutebot-pk-111.png

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

步骤 2#

  • 当开机时积木块中插入全速前进积木块;

../../_images/case_09_011.png

步骤 3#

  • 无限循环积木块中设置一个Sonar变量,用来保存超声波返回的Cm值。

  • 当超声波返回值大于2并且小于20时候,证明前方20CM处已经检测到障碍,设置左轮速度为0,右轮速度-50,向右转向一个随机时间。完成一个右转避障。

  • 如果不是,就全速前进。

../../_images/case_09_021.png

程序#

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

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

---

12.5. 结论#


  • 小车全速前进,当检测到20cm之内有障碍物时,向右旋转一个角度,继续前进。

12.6. 思考#


  • 为什么要判断返回值大于2CM。

12.7. 常见问题#


  • Q:使用cutebot小车时,发现小车本来正常行驶,接入超声波传感器后小车故障,无法行驶。

  • A:请检查超声波传感器是否插错接口,应该插在sonar接口而不是iic接口。

12.8. 相关阅读#