# 智能小车 + AI视觉图卡创客扩展包

<span style="color:red;font-size:25px;" >如果你是第一次接触Beetlebot ESP32 3合1 智能小车请你仔细阅读学习小车的各类传感器以及模块的操作，这样能为你减少小车的各类报错问题。</span>

<span style="font-size:22px;">智能小车基础教程跳转链接：👉 [点击链接跳转](https://www.keyesrobot.cn/projects/KE3059/zh-cn/latest/)</span>



## 1.产品简介：

Sengo1 AI视觉图卡创客扩展包是一款专为创客教育设计的带智能视觉模块的智能小车套件，完美兼容乐高积木结构与Arduino生态。视觉模块集成多核AI处理器，支持颜色识别、人脸检测、球体识别，二维码识别等8种机器视觉功能。通过即插即用式硬件接口以及开源项目，学生可快速搭建视觉驱动的小车、机械臂等智能项目，从图形化编程轻松过渡到Python/Arduino代码开发，是培养AI思维与工程能力的理想教具。

特点：

**乐高生态融合**

- 模块化卡扣设计，直接嵌入乐高机械结构

**8种识别功能**

- 颜色识别，色块检测，球体识别，线条检测，卡片识别，人体识别，人脸识别，二维码识别

**多种编程开发**

- KidsBlock图形化编程（中小学生适用）+ Arduino/C++/MicroPython代码层（高中生/大学）

**兼容性强**

- 兼容Arduino UNO，Arduino Nano，ESP32，Pico等开发板



## 2.清单：

| 序号 |                   名称                   | 数量 |                             图片                             |
| :--: | :--------------------------------------: | :--: | :----------------------------------------------------------: |
|  1   |            Sengo1 AI视觉模块             |  1   |                   ![a13](./media/a13.png)                    |
|  2   |                  连接线                  |  1   |                   ![a14](./media/a14.png)                    |
|  3   |             乐高 标准栓 黑色             |  6   |                   ![a15](./media/a15.png)                    |
|  4   |           乐高 1x3摩擦销 蓝色            |  4   |                   ![a16](./media/a16.png)                    |
|  5   |               乐高 1x11梁                |  2   |                   ![a17](./media/a17.png)                    |
|  6   |                乐高 1*9梁                |  2   |                   ![a18](./media/a18.png)                    |
|  7   |                 红色卡片                 |  1   |                   ![a24](./media/a24.png)                    |
|  8   |                 绿色卡片                 |  1   |                   ![a25](./media/a25.png)                    |
|  9   |                 蓝色卡片                 |  1   |                   ![a26](./media/a26.png)                    |
|  10  |                 黑色卡片                 |  1   |                   ![a27](./media/a27.png)                    |
|  11  |                 白色卡片                 |  1   |                   ![a28](./media/a28.png)                    |
|  12  |                二维码 Red                |  1   |                   ![a29](./media/a29.png)                    |
|  13  |               二维码 Green               |  1   |                   ![a30](./media/a30.png)                    |
|  14  |               二维码 Blue                |  1   |                   ![a31](./media/a31.png)                    |
|  15  |               二维码 Black               |  1   |                   ![a32](./media/a32.png)                    |
|  16  |               二维码 White               |  1   |                   ![a33](./media/a33.png)                    |
|  17  |               交通卡 前进                |  1   |                   ![a34](./media/a34.png)                    |
|  18  |               交通卡 左转                |  1   |                   ![a35](./media/a35.png)                    |
|  19  |               交通卡 右转                |  1   |                   ![a36](./media/a36.png)                    |
|  20  |               交通拉 掉头                |  1   |                   ![a37](./media/a37.png)                    |
|  21  |               交通卡 停止                |  1   |                   ![a38](./media/a38.png)                    |
|  22  | KE3059 Beetlebot ESP32 3合1 智能小车套件 |  1   | ![image-20260623110524704](./media/image-20260623110524704.png) |





## 3.sengo1 视觉传感器

### 3.1 介绍

Sengo1视觉传感器是一款面向中小学人工智能教育的图像识别设备。其采用双核ESP32处理器，内部集成多种离线图像识别算法，如颜色识别，线条检测，人脸识别，二维码识别，交通卡片识别等。通过UART串口或I2C方式与主控通讯。机身背面配有一块全视角1.3寸高清LCD屏幕，可实时显示图像画面及识别结果，便于用户使用和调试。

Sengo1支持Arduino、Micro:bit、ESP32等主流教育用开发板，支持MakeCode、Mixly、KidsBlock等图形化编程平台，也支持Arduino、Thonny等代码编辑器。官方提供了多种驱动库，完全满足中小学开展人工智能教育以及AI竞赛的需求，也适合于学生个人或创客进行AI视觉产品的设计。

Sengo1体积轻巧，易于使用，传感器四周分布有12个兼容乐高机械组的定位孔设计，便于用户进行产品搭建和思维创新，完成丰富的主题教学或比赛设计。

### 3.2 组件介绍

![a1](./media/a1.png)

**像头：** 采集图像数据

**屏幕：** 实时显示摄像头画面和算法检测结果，便于观察和调试设备

**通讯接口：** 实现传感器与主控设备的数据通讯，采用PH2.0-4Pin接口，支持UART串口和I2C两种通讯模式

**功能按键：** 短按可快速切换算法，长按可训练/删除数据，开机时按下可进入固件烧录模式

**模式按键：** 短按切换通讯模式，长按可翻转摄像头的成像

**复位按键：** 可实现硬件复位，一般用于固件烧录

**RGB-LED 灯：** 不同的灯光颜色可反映算法识别的状态，LED颜色可通过编程指令进行设置

**供电指示灯：** 设备上电后，此LED灯会常亮显示

**心跳指示灯：** 设备正常工作时，此LED灯会有节奏的心跳闪烁

**定位孔：** 设备四周预留了多个4mm的定位孔，相邻间距16mm或32mm，兼容乐高类型的拼搭积木



### 3.3 参数

| 项目         | 单位 | 参数       | 备注                                         |
| ------------ | :--: | ---------- | -------------------------------------------- |
| 输入电压     |  V   | 3.3-5.0    | 超出此范围，可能导致设备工作异常或损坏       |
| 工作电流     |  mA  | 110@5V     | 5V 供电，开启人脸算法时的典型值              |
| IO电平       |  V   | 3.3-5.0    | IO电平与输入电压一致。无法适配1.8V的主控设备 |
| 尺寸         |  mm  | 40x40x12.5 | 外壳边缘尺寸，按键略高于壳体                 |
| 重量         |  g   | 15         |                                              |
| 摄像头类型   |  /   | CMOS       |                                              |
| 摄像头分辨率 | 像素 | 30W        | VGA镜头，最大640x480分辨率                   |
| 镜头视场角   |  度  | 83         | 指画面斜对角，带红外滤光                     |
| 屏幕类型     |  /   | TFT        | 262K色彩，全视角                             |
| 屏幕尺寸     |  寸  | 1.3        | 指画面斜对角，240x240分辨率                  |
| LED指示灯    |  个  | 4          | 可编程RGB-LEDx2，电源指示灯，心跳指示灯      |
| 按键         |  个  | 3          | 功能按键、模式按键、复位按键                 |
| 通讯接口     |  个  | 1          | PH2.0-4pin接口                               |
| 通讯方式     |  /   | UART、I2C  | 支持UART串口和I2C方式                        |
| 硬件地址     |  /   | 0x60       | 7位I2C总线地址                               |
| 定位孔数量   |  个  | 12         | 分布在外壳正反面、两侧及底部                 |
| 定位孔中心距 |  mm  | 16、32     |                                              |
| 定位孔直径   |  mm  | 4          | 兼容乐高机械组类型的积木                     |

### 3.4 按键与操作说明：

#### 3.4.1 按键操作

| 按键      | 短按                   | 长按5s                                                   | 长按10s                                                      | 上电时长按                            |
| --------- | ---------------------- | -------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------- |
| 功能 按键 | 切换算法               | 运行人脸识别等算法时， <br />可以训练并存储当前训练 数据 | 运行人脸识别等算法时，<br />可 以删除最近一次或所有的训 练数据 | 进入固件烧录模 式，<br />用于更新程序 |
| 模式 按键 | 切换UART或 I2C通讯方式 | 上下翻转镜头                                             | 无                                                           | 无                                    |
| 复位 按键 | 复位硬件               | 无                                                       | 无                                                           | 无                                    |

#### 3.4.2 算法切换

![a2](./media/a2.png)

**操作：** 短按功能按键。

**简介：** 当执行此操作后，Sengo1会按照算法ID编号依次循环切换算法，切换算法时Sengo1会自动关闭当前运行的算法，可以在屏幕上方查看当前所开启的算法。算法运行状态不会被保存，Sengo1重启后默认关闭所有算法。

算法切换顺序为：颜色识别 > 色块检测 > 球体识别 > 线条检测 > 卡片识别 > 人体检测 >人脸识别 > 二维码 > …

**注意：** 通常使用时，应由主控设备发送指令控制算法的开启与关闭

#### 3.4.3 模型数据存储与删除

![a3](./media/a3.png)

**操作：** 长按5秒功能按键后松开。

**简介：** 在运行人脸算法时，可以训练并存储当前的人脸数据并分配一个人脸ID编号。

**操作：** 长按10秒功能按键后松开。

**简介：** 在运行人脸算法时，可以删除最近一次训练的人脸数据，当再次长按时，会删除所有的人脸数据。如果本次运行人脸算法时并没有执行过训练人脸数据的操作，则直接删除所有的人脸数据。该操作同样适用于“深度学习”算法

#### 3.4.4 切换通讯模式



![a4](./media/a4.png)

**操作：** 短按模式按键。

**简介：** 循环切换通讯模式，当执行此操作后，传感器会自动存储该通讯模式并重启设备，可以通过屏幕下方查看当前通讯模式。

Sengo1提供5种通讯模式，分别为I2C协议模式、UART-9600串口协议、UART-57600串口协议、UART-115200串口协议、UART-9600串口简单协议。默认为I2C 模式。

#### 3.4.5 翻转摄像头画面

![a5](./media/a5.png)



**操作：** 长按5秒模式按键然后松开。

**简介：** 可以上下翻转摄像头成像方向，适合于镜头前置时使用（即镜头与屏幕位于同侧），执行该操作后，Sengo1会保存当前的状态，设备重启后仍然有效。

<span style="color:red;font-size:25px">注意：镜头前置需要用户自行拆开外壳后手动翻转至屏幕侧，产品外壳结构本身不包含可旋转的机械结构，操作不当可能造成产品损坏，因此本操作只适合于有此需求且具备一定动手能力的用户！！！</span>



#### 3.4.6 进入固件烧录模式

![a6](./media/a6.png)

**操作：** 用户可通过2种方式进入固件烧录模式

1、设备上电后，压按功能按键不松开，短按复位按键，即可进入烧录模式，然后松开按键；

2、设备上电前，压按功能按键不松开，再插入数据线给设备上电，即可进入烧录模式，然后松开按键；

**简介：** 进入固件烧录模式，可以给Sengo1进行程序升级。

### 3.5 接线与使用说明

#### 3.5.1 接口定义

![a7](./media/a7.png)



| 引脚序号 | 标识 |  功能   | UART模式 | I2C模式 |
| :------: | :--: | :-----: | :------: | :-----: |
|    1     | R/D  |  信号1  |    RX    |   SDA   |
|    2     | T/C  |  信号2  |    TX    |   SCL   |
|    3     | GND  | 电源负- |   GND    |   GND   |
|    4     | VCC  | 电源正+ |   VCC    |   VCC   |

<span style="color:red;font-size:25px;">注意：请务必确认接线无误后再上电，错误的接线可能会导致设备无法正常工作，甚至导致设备损坏。</span>

#### 3.5.2 通讯方式

**• I2C模式**：采用I2C总线通讯协议，支持100~400Kbps通讯速率。硬件设备地址为0x60。

每次仅可读写一个字节的数据，不支持连续地址读写。

**• UART-9600标准协议、UART-57600标准协议、UART-115200标准协议**：此3种模式为串口通讯模式，数字代表通讯波特率，采用瞳芯智能视觉传感器标准指令协议。协议带有校验码，数据传输稳定可靠。可根据主控设备的硬件性能选择适合的波特率，波特率越大则通讯时间短，有利于提升系统的响应速度。较低的波特率适合于采用软串口的主控设备或数据线较长时的情景。

**• UART-9600简单协议**：串口通讯模式，波特率为9600，采用瞳芯智能视觉传感器简单指令协议。主控设备只需发送和接收字符串即可开启算法，获取结果，无需开发专用的驱动库，可适配任何具有UART串口通讯功能的硬件平台。

#### 3.5.3 接线方式

Sengo1可以适配多种主控设备，这里我们以UNO板进行举例说明如何进行接线，其他主控板如Micro:bit、Pico、ESP32开发板等。

Sengo1支持3.3V-5V供电，根据主控板电源供电能力选择合适的电源。如果电源稳定性较差，负载能力偏小，尤其是当电机、舵机、喇叭等外设与Sengo1共用电源时，可能发生供电不稳定造成Sengo1重启。

##### **3.5.3.1 硬件UART串口模式**

![](./media/a8.png)

硬件UART模式下，Sengo1的RX引脚需要接Arduino的TX引脚，Sengo1的TX引脚接Arduino的RX引脚。

某些型号的Arduino主控板例如常见的UNO板，只有一个硬件串口。由于烧录ArduinoUNO默认的程序烧录端口、调试端口均采用与此串口，因此在烧录程序时需要断开与Sengo1的接线，Arduino代码中不能使用print输出调试信息，否则会导致Sengo1通讯异常。推荐使用I2C模式，降低接线的难度以及出错的概率。

##### **3.5.3.2 软件模拟串口模式**

![](./media/a9.png)

软件模拟串口模式又称软串口模式，指通过软件模拟将Arduino普通的IO口分别定义为TX和RX引脚，通过IO口的电平变化来模拟UART的信号波形，进而实现数据通信。本示意图中将IO口10定义为RX引脚，IO口11定义为TX引脚，Arduino IDE中软串口的引脚定义代码如下：

```c
#include <SoftwareSerial.h>
#define TX_PIN 11
#define RX_PIN 10
SoftwareSerial mySerial(RX_PIN, TX_PIN);
```

<span style="color:red;font-size:25px;">注意：软串口模式下，通讯波特率建议设置范围为9600~57600，高波特率可能会导致数据传输失败。</span>

##### **3.5.3.3 I2C 模式**

![](./media/a10.png)

Sengo1的T/C脚接主控的SCL，R/D脚接主控的SDA。I2C模式下，通讯线不易太长，避免数据干扰造成通讯异常。

### 3.6 运行界面

![](./media/a11.png)

**算法状态：** 显示当前正在运行的算法

**固件版本：** 显示当前固件版本号

**图像区域：** 实时显示摄像头画面

**识别结果：** 识别到物体后会以画框或画线的方式，标记物体的坐标方位、大小及标签等信息

**图像帧率：** 显示算法的运行帧率，不同算法的运行速度会有所差别，光照强度也会对帧率有所影响

**通讯协议：** 显示当前采用的通讯协议

### 3.7 识别结果

![](./media/a12.png)

**坐标系：** Sengo1采用“百分比”相对值坐标系，即沿水平方向X与竖直方向Y将图像100等分，摄像头画面左上角为原点坐标(0,0)，右下角坐标为(100,100)，图像中心区域坐标为(50,50)

**检测结果：** Sengo1检测到物体后，不同的算法会返回不同的识别结果，包括物体的坐标方位信息，物体大小信息，分类标签信息。以上信息会在屏幕上显示，方便用户观察与调试主控设备需要通过协议指令读取结果，Sengo1不主动外发数据

**水平坐标X：** 物体中心点水平方向的坐标，范围0~100

**垂直坐标Y：** 物体中心点垂直方向的坐标，范围0~100

**物体宽度W：** 物体外轮廓所组成的矩形的水平边长，范围0~100

**物体高度H：** 物体外轮廓所组成的矩形的垂直边长，范围0~100

**分类标签L：** 对于可分类的算法，用一个数字ID指代某一个物体。相同的数字在不同的算法中的含义可能不同，比如数字3在颜色识别算法中代表红色，而在卡片算法中代表右转

**特殊：** 颜色识别算法会返回RGB颜色分量，线条检测算法会返回两个端点的坐标以及倾斜角度，二维码算法会返回二维码中的字符信息等，详见各算法介绍

### 3.8 算法介绍

Sengo1内部集成了多个简单实用的离线算法，并为每个算法分配了一个ID编号，此编号是主控设备与传感器通讯交互的唯一标识，用于控制算法的开启关闭、设置参数或读取结果。

| 算法ID | 名称   | 简介                                                         |
| :----: | ------ | ------------------------------------------------------------ |
|   1    | 颜色 | 返回指定识别区域的颜色信息：RGB分量值及颜色的分类标签        |
|   2    | Blob   | 检测图像中是否有指定参数的色块，支持检测黑、白、红 、<br />绿、蓝、黄任意一种颜色的色块 |
|   3    | Ball   | 识别橙色乒乓球或者绿色的网球                                 |
|   4    | Line   | 检测图像中的线条，返回两个端点坐标及倾斜角度                 |
|   6    | Card  | 识别配套的5张交通卡片，包含前进，左转、右转、调头和停车                                       |
|   7    | Body   | 依据头部与肩部构成的特征轮廓检测视野里是否有人               |
|   8    | Face  | 检测并识别人脸，可以存储记忆10张人脸数据             |
|   9    | QrCode | 识别简单的二维码，支持10个字符                             |

