基于 Edge Impulse 的 TinyML 语言检测器:Arduino Nano 33 BLE Sense 实战
零部件与物料
| 零部件 | 数量 |
|---|---|
| Arduino Nano 33 BLE Sense | 1 |
| PCA9685 8通道 12V FET 驱动板(I2C 接口) | 1 |
| SG90 微型舵机 | 3 |
| 9V 电池扣 | 1 |
所需工具与设备
- 3D 打印机
- 电烙铁
软件与在线服务
- Edge Impulse Studio
- Arduino IDE
- Autodesk Fusion 360
项目概述
本项目演示如何在 Arduino Nano 33 BLE Sense 上部署 TinyML 语言检测模型,识别三个单词:“si”(意大利语)、“oui”(法语)、“yes”(英语),并驱动对应国旗舵机升起。完整流程包括数据采集、模型设计训练、EON Tuner 硬件优化、部署与舵机联动。

数据采集与集构建
数据集共 30 分钟:每个目标词 10 分钟,加 3 分钟环境背景噪音。每段 1 秒单词录音,在 Edge Impulse 中标注。背景样本帮助模型区分语音与非语音。


模型设计
Edge Impulse 自动完成预处理:音频转时序、分帧、提取 MFCC 特征,再经轻量级 CNN 分类为四类(si、oui、yes、背景)。训练仪表盘可视化 MFCC 与网络结构。

训练与 Arduino 优化
EON Tuner 自动搜索数十种配置,按准确率、推理时间、RAM/Flash 占用评分。本项目选取前 5 高准确率中推理最快的模型。

测试验证
独立测试集确认性能稳健,目标词分类置信度持续超 80%。

部署与舵机联动
通过 Edge Impulse Arduino 库一键生成头文件,导入 Arduino IDE 后扩展舵机控制逻辑。三个 SG90 舵机分别对应三面小旗。


核心代码片段
关键扩展:引入 Adafruit_PWMServoDriver.h 驱动 PCA9685;编写 servos_selector() 根据分类结果驱动对应舵机;置信度超 80% 时触发动作。
void servos_selector(int iter) {
unsigned long time_now = millis();
if (time_now - time_was > 2000) {
time_was = time_now;
switch (iter) {
case 0: // Italian
pwm.setPWM(0, 0, 350); delay(500);
pwm.setPWM(0, 0, 200); pwm.setPWM(1, 0, 200); pwm.setPWM(2, 0, 200);
break;
case 1: // French
pwm.setPWM(1, 0, 350); Serial.println("2222"); delay(500);
pwm.setPWM(0, 0, 200); pwm.setPWM(1, 0, 200); pwm.setPWM(2, 0, 200);
break;
case 2: // English
pwm.setPWM(2, 0, 350); Serial.println("333"); delay(500);
pwm.setPWM(0, 0, 200); pwm.setPWM(1, 0, 200); pwm.setPWM(2, 0, 200);
break;
}
}
}
电路设计
9V 电池供电,PCA9685 经 I2C 驱动三路 SG90 舵机。PCA9685 的 12V 引脚接电池,PWM 输出接舵机。硬件、软件、数据流完备,即可部署边缘语言检测器。

完整代码仓库
原理图
制造工艺
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- Arduino 声纳实时测距与 Processing 可视化
- MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
- 声控氛围灯:Arduino Nano + 麦克风模块 + WS2812B 灯珠
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
- Arduino RGB 颜色混合器 – 分步制作教程