# Micro:bit 游戏手柄

这是一个基于micro:bit的游戏手柄。它包括一个摇杆和四个未定义的按钮。为了增强游戏体验，它还配有一个蜂鸣器和振动电机。它外观小巧，手感舒适，可以用来远程控制Petoi机器人。

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FQzQLhPsmTNRYsClOanIh%2Fimage.png?alt=media&#x26;token=72f27c7c-9bc6-4730-b52a-4e2bf193fe14" alt=""><figcaption></figcaption></figure>

## 硬件

{% hint style="info" %}
micro:bit V1 主板内存较小。因此，下载完整的操控功能程序到micro:bit主板，需要使用**micro:bit V2** 主板。
{% endhint %}

## 软件设置

目前游戏手柄的软件代码已在[GitHub网站](https://github.com/PetoiCamp/ESP32_Microbit_Controller)开源了。可以用来控制Petoi机器人产品 —— Bittle X, Bittle X+Arm, Nybble Q。

您可以下载程序文件([microbit-JoyStick.hex](https://raw.githubusercontent.com/PetoiCamp/ESP32_Microbit_Controller/refs/heads/main/microbit-JoyStick.hex))，并将其导入编程平台[**makecode**](https://makecode.microbit.org)，如下所示：

{% hint style="info" %}
我们建议您使用Chrome浏览器。
{% endhint %}

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FHyClaShyPNevTv5aVA1o%2Fimage.png?alt=media&#x26;token=fdcaf8bc-bdc3-4265-ba83-f43af053ebef" alt=""><figcaption></figcaption></figure>

### 将程序下载到micro:bit V2

使用USB线连接PC和micro:bit V2。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/connect-microbit.gif)

连接成功后，电脑上会识别出一个名为`MICROBIT`的盘符。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/microbit-drive.png)

有以下两种方法可以将程序固件文件（.hex文件）下载到micro:bit V2主板中，您可以任选其中一种即可。

#### 使用电脑的文件浏览器

这种方法最简单。在文件浏览器中用鼠标点选.hex固件文件，并按住鼠标按键将其拖放到文件浏览器左侧单独的MICROBIT盘符位置，再松开鼠标按键即可。这样即可把.hex固件文件下载到microbit主板中。

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2F97jdePbXPz2it0RctxDZ%2Fimage.png?alt=media&#x26;token=b8534d98-f7be-4244-b30e-bf631802291d" alt=""><figcaption></figcaption></figure>

#### 使用MakeCode网页

点击左下角的![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-01.png)，选择`Connect Device`。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-02.png)

点击![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-03.png)。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-04.png)

点击![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-05.png)

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-06.png)

在弹出窗口选&#x62E9;**`BBC micro:bit CMSIS-DAP`**，然后单击“**连接**”按钮，至此，我们的micro:bit就已经连接成功。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-07.png)

点击**下载程序**按钮。

![](https://wiki-media-ef.oss-cn-hongkong.aliyuncs.com/docs/microbit/interesting-case/microbit-smart-climate-kit/cases-libraries/images/download-08.png)

## 如何使用

1. 将最新的固件上传到机器人（主板类型：BiBoard）
2. 为遥控器安装2 x 7号 AAA电池，并将micro:bit V2插入遥控器。\
   然后打开遥控器开关，如下图所示：\
   ![](https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FcR72fqLwCb1EFMoeRVfb%2Fimage.png?alt=media\&token=a4f630ab-b73c-4a19-add7-f8c7ae40be59)
3. 长按电池上的按钮3秒，开启机器人电源。机器人启动后，通过蓝牙模块自动连接到控制器。如果有多个遥控器和多个机器人，重复执行步骤2，3。连接规则是一对一，先到先得，已完成配对的机器人不会再次与新上电的手柄配对。

{% hint style="info" %}
**限时功能**

此功能用于在展会或科技节限制每位用户的体验时间，默认不激活。

在正常启动并连接蓝牙后，可以按住Micro:bit中间的Logo（触摸按钮），并将手柄竖立（左侧摇杆在下方），为手柄开启限时使用功能，即每隔20分钟，手柄会向机器人发送休息指令并不再响应后续操作，LED指示灯点阵动态显示沙漏图案，如下图所示：\
![](https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FBJ9oi4YK5uPfijESjmUI%2Fimage.png?alt=media\&token=2c42fe2d-30c2-4760-9630-cf3657343d25)\
用上述同样操作可以清零倒计时，重新激活手柄。手柄会播放提示音乐，LED指示灯点阵显示沙漏倒流的动画。

限时功能一旦激活，必须断电重启手柄后才能关闭。手柄重启后，需复位（点击主板上的reset键）或断电重启机器人以再次连接。
{% endhint %}

## 控制器功能介绍

### 控制Bittle X

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FOFOZZwIlw1saV7znYsEp%2FBittleX_cn.png?alt=media&#x26;token=9e9469ff-8f5e-47fc-b2e2-0bdaa1c01f21" alt=""><figcaption></figcaption></figure>

### 控制Bittle X+Arm（带机械臂）

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FYmCY1psPybUi3344KtZC%2Fimage.png?alt=media&#x26;token=8b0d7a59-57f9-4d85-94db-bb571f34d0d1" alt=""><figcaption></figcaption></figure>

### 控制Nybble Q

<figure><img src="https://201656985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%2Fuploads%2FGgxyPzfh77Dp0YgMkkZf%2FNybbleQ_cn.png?alt=media&#x26;token=1f0f04ba-50ee-458b-a88b-cd369141b3ac" alt=""><figcaption></figcaption></figure>

具体操作说明，以控制Bittle X+Arm为例：

只操控手柄左侧的摇杆，可以让机器人向不同的方向运动。

micro:bit主板上的**A键**（头部旋转），可以通过microbit自带的陀螺仪控制机械臂，操控方法是：在按下**A键**的同时前后左右倾斜手柄即可控制机械臂运动。

micro:bit主板上的**B键**，功能是控制机械臂向不同方向运动。操控方法是：先按下**B键**不要松开,再推动手柄左侧的摇杆，可以向不同的方向旋转伸出或收回机械臂。

手柄右侧的 **B键**（**身体倾斜**）**，C键**（**抛**），**D键**（**捡起**），**F键**（**放下**）都是组合操控按键，需要结合左侧的摇杆一起操控。比如，需要捡起物体时，先按下**D键**（**捡起**）不要松开，再推动手柄左侧的摇杆，可以捡起机械爪周围不同方向的物体。

手柄右侧下方的“**开合爪子**”按钮，按下机械爪打开，松开机械爪闭合。可以结合“**机械臂及身体角度**”按钮操控功能一起使用，可以抓放身体周围不同方位的物体。
