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