案例13:joystick:bit手柄远程控制
Contents
16. 案例13:joystick:bit手柄远程控制#
16.1. 目的#
使用joystick:bit遥控器的摇杆和按钮完成远程遥控Cutebot。
16.2. 使用材料#
1 x Cutebot套件
1 x Joystick:bit2
16.3. 软件平台#
16.4. 编程#
步骤 1#
在MakeCode的代码抽屉中点击高级,查看更多代码选项。
为了给Cutebot套件编程,我们需要添加一个代码库。在代码抽屉底部找到“扩展”,并点击它。这时会弹出一个对话框。搜索
Cutebot
,然后点击下载这个代码库。
为了给Joy:stick手柄编程,我们需要添加一个代码库。在代码抽屉底部找到“扩展”,并点击它。这时会弹出一个对话框。搜索
joystick
,然后点击下载这个代码库。
注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。
步骤 2: Joystick:bit编程#
在
当开机时
积木块中设置无线电组别为1
;X
轴和Y
轴的数值范围为0~1023
,当摇杆位置在中心的时候,它的理论值为512
,故需要将0~1023map
映射到-100~100
这个范围之内。在
无限循环
积木块中设置变量x
它的值为X
轴的读值映射到-100~100
这个范围的值。在
无限循环
积木块中设置变量y
它的值为y
轴的读值映射到100~-100
这个范围的值。通过无线发送值将变量
x
和变量y
发送出去。
程序#
请参考程序连接:https://makecode.microbit.org/_cPUgXJRLuCmH
你也可以通过以下网页直接下载程序。
步骤 3: 小车编程#
在
当开机时
(开始)积木块中设置无线电组别为1
,一定要和遥控端设置为同一组别,否则无法匹配。然后在
当接收到数据
积木块中插入两次判断语句,分别判断无线电接收值name
是否为x
或者y
;当无线电收到的
name
值为x
时,为加速度计X
轴数据,将value
值保存到xValue
变量;当无线电收到的
name
值为y
时,为加速度计Y
轴数据,将value
值保存到yValue
变量;在
无限循环
积木块中,设置左轮速度为yValue
+xValue
,右轮速度为yValue
-xValue
。
程序#
请参考程序连接:https://makecode.microbit.org/_CrmVWJCrD2au
你也可以通过以下网页直接下载程序。
16.5. 结论#
用手柄摇杆可以控制小车前进后退转弯速度等。