16. 案例13:joystick:bit手柄远程控制

16.1. 目的


  • 使用joystick:bit遥控器的摇杆和按钮完成远程遥控Cutebot。

16.2. 使用材料


16.3. 软件平台


微软 makecode

16.4. 编程


步骤 1

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

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

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

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

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

../../_images/case_13_011.png

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

步骤 2: Joystick:bit编程

  • 当开机时积木块中设置无线电组别为1

  • X轴和Y轴的数值范围为0~1023,当摇杆位置在中心的时候,它的理论值为512,故需要将0~1023map映射到-100~100这个范围之内。

  • 无限循环积木块中设置变量x它的值为X轴的读值映射到-100~100这个范围的值。

  • 无限循环积木块中设置变量y它的值为y轴的读值映射到100~-100这个范围的值。

  • 通过无线发送值将变量x和变量y发送出去。

../../_images/case_13_021.png

程序

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

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

步骤 3: 小车编程

  • 当开机时(开始)积木块中设置无线电组别为1,一定要和遥控端设置为同一组别,否则无法匹配。

  • 然后在当接收到数据积木块中插入两次判断语句,分别判断无线电接收值name是否为x或者y

  • 当无线电收到的name值为x时,为加速度计X轴数据,将value值保存到xValue变量;

  • 当无线电收到的name值为y时,为加速度计Y轴数据,将value值保存到yValue变量;

  • 无限循环积木块中,设置左轮速度为yValue+xValue,右轮速度为yValue-xValue

../../_images/case_12_021.png

程序

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

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

16.5. 结论


  • 用手柄摇杆可以控制小车前进后退转弯速度等。

16.6. 思考


16.7. 常见问题


16.8. 相关阅读