Chapter 9 of Alphabot2 for Micro:bit

来自Waveshare Wiki
Waveshare-eng11讨论 | 贡献2018年10月12日 (五) 11:54的版本 →‎第四节
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

第九章 2.4G通信

我们常用的对讲机就是2.4g的,2.4g是一种便宜而传播距离比较远的方案。如果要做这个2.4g实验,你需要两块Micro:bit,另外还需要Joystick for micro:bit遥控手柄扩展板。

首先添加radio软件包,注意2.4G和蓝牙不能一起使用,所以添加radio软件包后不能再添加bluetooth软件包

Addpackage for radio.png

这次我们用的是的2.4g无线通讯积木块,实际2.4g这种高大上的功能,已经被简化成很简单的积木块。 主要分三类

发送积木块

接受积木块

初始化积木块

注意:相互之间通讯的板子,一定要设置到在一个无线组里面,不然没法收到。

Radio.png

第一节

Radio code.gif

Radio code2.png

一个Micro:bit按A键或者B键,对应另外一块板子就会显示A和B。

第二节

Joystick board.png

前面一节我们已经学会了如何使用2.4G通讯了,这一节我们来学习如何使用2.4G遥控机器人。我们使用Joystick for micro:bit遥控手柄扩展板来遥控机器人。Joystick for micro:bit是专为Micro:bit设计的游戏手柄扩展板,板载可充电电池,一个摇杆按键,四个彩色按键。

要使用Joystick for micro:bit首先需要添加WSJoyStick库,依次点击高级->添加包,或者点击齿轮->添加包。然后在弹出的对话框中,单击搜索框将网址:https://github.com/waveshare/JoyStick 复制进去

Addpackage for joystick.gif

WSJoyStick可用的积木如下,JoyStickInit 为初始化积木,需要开机时调用这个积木才能识别按键状态。Key P Press积木为判断按键是否按下,DIR dir NONE 积木为判断摇杆的方向。

Joystick code.png

下面我们写Joystick的发送程序。在前一节程序的基础上修改,将不需要的部分去掉,开机时添加JoyStick初始化积木。在无限循环中添加判断摇杆方向是否为向上,如果为向上则发送字符串“U”,同时点阵屏显示向上的图标。

这里需要注意的是,程序用“如果为...执行...”循环积木判断摇杆方向为向上。这样的目的是为了等待按键松开,如果松开则发送字符串“N”,同时清除点阵屏幕。以为我们只需要摇杆按下时只需发一次信息,松开时再发一次信息。如果不添加等待积木就会是按下按下时不断的发送信息。

AlphaBot2 for microbit manual 9-1.png

摇杆按键,向上,向下,向左,向右分别发送字符"U","D","L","R".当摇杆按键松开时发送字符“N”。

下面我们来写机器人的接收程序。接收程序就比较简单了,当接受到字符时根据字符控制机器人做出相应的动作。"U","D","L","R"分别控制机器人前进,后退,左转,右转。当接收到“N”时停止转动。

AlphaBot2 for microbit manual 9-2.png

第三节

添加舵机控制

发送程序,添加右边四个彩色按键控制,当按键按下时,分别发送“1”,“2”“3”“4”,按键松开时发送“N”。

AlphaBot2 for microbit manual 9-3.png

接收程序添加接收“1”,“2”“3”“4”显示不同表情。

AlphaBot2 for microbit manual 9-4.png

第四节

添加姿态控制。

前面几节都是通过按键遥控,按键按下是时通过2.4G发送信号控制机器人。从传感器一节我们已经知道micro:bit 板子上集成了加速度计,可以识别micro:bit的姿态。我们可以利用加速度传感器不需要按键就可以控制机器人运动了。

接收程序不需要修改,只需要在发送程序添加上姿态控制就可以了。

AlphaBot2 for microbit manual 9-5.png

当Jostick中的micro:bit倾斜时,机器人会沿倾斜的方向运动,micro:bit水平状态时,小车停止。

第五节

添加姿态控制。

前面几节都是通过按键遥控,按键按下是时通过2.4G发送信号控制机器人。从传感器一节我们已经知道micro:bit 板子上集成了加速度计,可以识别micro:bit的姿态。我们可以利用加速度传感器不需要按键就可以控制机器人运动了。

接收程序不需要修改,只需要在发送程序添加上姿态控制就可以了。

Radio gesture control.gif

Radio gesture control1.png

当Jostick中的micro:bit倾斜时,机器人会沿倾斜的方向运动,micro:bit水平状态时,小车停止。

使用手册