3. 案例01 定点停车

3.1. 目的


  • 使用motor:bit智能车载套件完成定点停车功能。

3.2. 使用材料


  • 1 x motor:bit 智能车载套件

3.3. 背景知识


巡迹模块原理

  • 该巡迹模块使用的为红外线传感器,模块由一个发射端和一个接收端组成,发射端发射红外线由地面反射回来由接收端接收。

  • 遇到黑色地面或者其他吸收红外光材质的物品时,接收端无法接收到红外线,巡迹模块返回1。

../../_images/8UN8B88.jpg

3.4. 硬件连接图


如图所示,将巡线模块左边传感器(S1)连接到motor:bit主板的4号引脚,将右边传感器(S2)连接到motor:bit主板的3号引脚。

../../_images/BOpsVvF.jpg

../../_images/kzPngGo.jpg

3.5. 软件


微软makecode在线积木块编程https://makecode.microbit.org/#

3.6. 编程


步骤 1

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

../../_images/motor_bit_case_01.png

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

../../_images/motor_bit_case_02.png

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

步骤 2

  • 当开机时积木块中插入 以…的速度前进 积木块,设置参数为80,表示上电时以80的速度前进。

  • 设置两个变量分别为leftright,用来分别巡线模块左右传感器的返回参数,并且将他们初始化为1。

../../_images/motor_bit_case_03.png

步骤 3

  • 无限循环积木块中,插入数字读取引脚 P3和P4,分别对应巡线模块的左右两个传感器。

  • 并且分别赋值给leftright变量。

  • 然后判断left变量和right变量是否有一个为0,也就是左右传感器其中一个检测到黑线。

  • 如果有一个为0,设置左右电机速度为0,停车。

../../_images/motor_bit_case_04.png

程序

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

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

--- **注意:** 由于惯性作用,车辆会检测到黑线后冲出一段距离停下。

3.7. 结论


  • 车辆上电以80的速度向前直行,当寻迹模块检测到黑线时,车辆立刻停止。

3.8. 思考


  • 多设置几条黑线,完成定点掉头,减速,转向如何编程。

3.9. 常见问题


3.10. 相关阅读