> For the complete documentation index, see [llms.txt](https://nybble-q-cn.petoi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nybble-q-cn.petoi.com/3-hu-dong.md).

# 3 🕹 互动

Nybble Q 机器人包含了陀螺仪、触摸、超声波、语音、蓝牙等多种传感器和模块，您可以尝试拍拍它，或者摸摸它的后背，看看它有什么反应。

您可以直接参考下方的简单上手来和机器人直接互动，也可以下载手机电脑APP来测试更多的功能控制，擅长代码的开发者也可以从图形化编程或者Arduino、Python、树莓派来控制机器人。

## 简单上手

### **语音操控**

您可以通过语音控制 Petoi 机器人执行各种技能，无需唤醒词。机器人目前支持两种语言（中文和英语），内置了40个固定语音指令。此外，您可以录制任何声音片段以创建最多10个自定义指令。

**测试**

当机器人启动，语音识别默认是英语模式。您可以尝试跟机器人说hello，然后机器人会做打招呼的动作。

{% hint style="info" %}
请在安静的环境来测试，减少识别失败和误触。背景声音越大，则需要说更大声或者离机器人更近；

如果您对机器人说话但没有得到反应，可能是语言模式被修改了；

您可以说“嘀嘀”，切换到中文模式

说“冰冰”，切换到英文模式

**更多语音指令**

请查看包装盒附带的明信片，背面印有丰富的语音指令，可以控制机器人更多的动作。
{% endhint %}

<figure><img src="/files/QtPpA3zbd95DfshlbA0V" alt=""><figcaption></figcaption></figure>

**关闭和打开语音识别功能**

默认情况下，语音指令会一直打开，所以机器人会一直监听环境的声音，容易造成语音误触发。

为了避免意外触发机器人响应语音指令，例如在与其他人交谈时，您可以对机器人说“安静点”，语音指令模块就会被禁用。

如果想要再次启动语音指令模块，您可以说“打开音效”，以重新打开语音识别功能。

{% hint style="info" %}
下次开机时，机器人仍然会自动进入语音识别模式。
{% endhint %}

**自定义指令（高级）**

当机器人在中文模式下工作时，您可以说语音指令“开始学习”（或在串口监控器中输入 XAe）进入到自定义语音指令模式，并根据语音提示依次录制您的语音指令，如需结束录入语音指令，请说语音指令“结束学习”（或在串口监控器中输入 XAf），即可退出自定义语音指令模式。

{% hint style="info" %}
如果模块不在中文模式，您可以说 “嘀嘀”以切换到中文模式。
{% endhint %}

您最多可以录制 10 个语音指令。

退出自定义语音指令模式后，您可以说出其中一个已录制的语音命令以触发机器人做出反应技能。

说语音指令“清除学习数据”，可以一次性删除所有的自定义语音指令。

### **陀螺仪感知**

**拿在手中摇晃，平衡反应**

GIF——

**放在平面上轻微的摇晃，平衡反应**

GIF——

&#x20;

**翻倒，翻身动作**

GIF——

&#x20;

**拎住脖子或尾巴，放下**

GIF——

&#x20;

**放在桌上向下敲背或推动**

GIF——

### **背部触摸**

Nybble Q 背部设有四个独立的触摸区域，分别位于左侧、右侧、中部和尾部。每个触摸区域均预设了不同的互动反应，一起来体验吧。

#### **触摸点的分布**

<figure><img src="/files/kAPWPh3RgyHytteXr8uw" alt=""><figcaption></figcaption></figure>

触摸区域与响应动作：

* 轻触左侧区域，Nybble Q 会做出向左回头看的动作
* 触摸右侧区域，Nybble Q 会做出向右回头看的动作
* 中间触摸点，轻触可唤醒设备或触发随机动作
* 触摸靠近尾巴的触摸点，Nybble Q 会展现摆尾、撅屁股等生动的肢体语言

{% hint style="warning" %}
操作提示：

1. 重复触摸同一位置或同时按下两个触摸点时，Nybble Q 将不会执行新动作。
2. 需等待当前动作执行完毕后，再次触摸以触发新的指令，确保流畅的交互体验。
   {% endhint %}

### **超声波**

**避障**

前方出现障碍物时，对不同距离的障碍物会有不同的反应

随机坐下，转向，或倒退

图片或者GIF——

**led灯光**

灯光会变颜色

图片或者GIF——

### **手柄（可选）**

说明：

机器人和 micro:bit 手柄通过蓝牙进行连接；

请先给 micro:bit 手柄通电，再给机器人通电或者重启机器人，通电顺序不可以调换；

手柄和机器人通电后会自动配对，如果有多台通电的机器人，遵循先到先得原则；

连接成功后会播放连接音效，并且会显示字母：N 代表 Nybble

图片——看是否需要

**基础操作**

<figure><img src="/files/8LuduDURlqYdwaFZywOc" alt=""><figcaption></figcaption></figure>

**单独使用摇杆（左侧）：**

控制机器人的行走方向：前进、后退、向左、向右以及斜向移动。

将摇杆完全向左 / 右推，机器人会原地旋转。

快速向前推两次摇杆，机器人会触发快速前进。

**单按键和双按键操作：**

logo：触摸，机器人休息

A键：长按，机器人头部旋转

B键：长按，机器人身体将跟随手柄的陀螺仪进行摆动

C键：爬行

D键：踢腿

E键：坐下和站立切换

F键：抱抱

A+B键：加油

C+E键：打拳

D+F键：洗脸

E+F键：招财猫

&#x20;

**按键 + 摇杆操作：**

按住一个按键，然后移动摇杆，可以指定特定的方向。

默认情况下，单次点击并释放摇杆时，方向是随机的。

**局限性：**

摇杆需要 300 毫秒来区分双击事件，这会导致按键 + 摇杆的前进动作响应较慢。

在组合键起作用之前，可能会触发单按键的动作。

控制切换时，如果按键按压过快，可能没有响应。

&#x20;

**自定义手柄功能和逻辑（高级）**

在代码中，按键的功能定义如下：

keyCmd = \[

\# Touch, A, B, C, D, E, F, A+B, C+E, D+F, E+F

\["d", "keyGyro","keyJoystick","kcr", "kkc" ,"stateSwitch" , "khi", "kchr", "kbx", "kwsf","klucky"], # Nybble

]

您可以自行替换上面的动作指令或者是指令和按键之间的映射关系。

目前，仅 A + B、C + E、D + F 和 E + F 用于双按键组合。

您可以添加其他组合，如 A + F、B + D 等，但这些组合可能不太方便同时按压。
