智能手语手套:柔性传感器 + 加速度计 + 蓝牙将手势转文字/语音
项目使命
旨在帮助听障/语障儿童通过美国手语 (ASL) 与常人无障碍沟通。手套集成 5 根柔性弯曲传感器(五指各一)与 ADXL335 三轴加速度计(腕部姿态),Arduino Micro 采集模拟量并映射为字母/词汇,经 HC-05 蓝牙传输至 PC/手机显示文字并合成语音播报。低成本(约 ¥6000,量产可降 50%)、低功耗、佩戴舒适。
系统架构
发射端(手套)
- 5× 柔性传感器:阻值随弯曲角度变化 (约 10k~100kΩ),接分压电路(配 10k/22k 固定电阻)输出 0~3.3V 模拟电压,接 Arduino A0~A4。
- ADXL335 加速度计:X/Y/Z 三轴模拟输出接 A5~A7,识别涉及腕部旋转/翻转的手势(如 J、Z 等动态字母)。
- Arduino Micro (Pro Micro):ADC 采样 → 手势识别算法 → 串口发送字符 → HC-05 透传。
- HC-05 蓝牙模块:从机模式,波特率 9600,配对后自动连接。
- 电源:3.7V 锂电池 + Boost 5V 供 Micro/传感器,或直接 3.3V 供电 (Micro 3.3V 版本)。
接收端
- PC 运行 Python/Processing 脚本监听串口,实时显示字母、拼词、语音合成 (pyttsx3 / Web Speech API)。
- 或 Android App (MIT App Inventor) 接收蓝牙 SPP 数据,同步显示与 TTS 播报。
手势识别流程
- 采样:100 Hz 读取 8 通道 ADC (5 指弯曲 + 3 轴加速度)。
- 预处理:滑动窗口均值滤波、归一化到 0~1。
- 特征向量:8 维向量代表一个手势快照。
- 分类:预存标准手势模板库(每字母多样本均值),计算欧氏距离/余弦相似度,最近邻匹配。
- 后处理:连续相同识别结果计数 > N 次才确认输出,防抖;引入上下文语言模型纠错(可选)。
关键代码片段
const int FLEX_PINS[5] = {A0, A1, A2, A3, A4};
const int ACC_PINS[3] = {A5, A6, A7};
float flexCalib[5][2]; // [min, max] 校准区间
void calibrate() {
// 启动时引导用户做“全伸直”、“全握拳”动作,记录每指 min/max
}
float readFlexNorm(int i) {
int raw = analogRead(FLEX_PINS[i]);
return constrain(map(raw, flexCalib[i][0], flexCalib[i][1], 0, 1000), 0, 1000) / 1000.0;
}
char recognizeGesture(float feat[8]) {
float bestDist = 1e9; char bestChar = '?';
for (auto &tmpl : templates) { // templates: map
float d = 0;
for (int i=0;i<8;i++) d += sq(feat[i] - tmpl.second[i]);
if (d < bestDist) { bestDist = d; bestChar = tmpl.first; }
}
return (bestDist < THRESHOLD) ? bestChar : '?';
}
void loop() {
float feat[8];
for (int i=0;i<5;i++) feat[i] = readFlexNorm(i);
for (int i=0;i<3;i++) feat[5+i] = (analogRead(ACC_PINS[i]) - 337) / 337.0; // 约 ±1g 归一化
char c = recognizeGesture(feat);
static char last = '?'; static int cnt = 0;
if (c == last) cnt++; else { last = c; cnt = 1; }
if (cnt == 3 && c != '?') { Serial.print(c); cnt = 0; } // 确认输出
delay(10);
}
校准与个性化
- 每副手套出厂/首次佩戴需跑校准流程:引导用户做“全伸”、“全屈”、“自然弯曲”三组动作,自动记录每指 ADC 极值。
- 手型差异大,建议引入“自适应学习”:用户确认识别错误时,将当前特征向量加入对应字母模板库均值更新。
社会价值与未来展望
- 教学工具:特教学校可批量部署,辅助手语教学与日常沟通。
- 同理心教育:让普通学生体验手语交流,培养包容意识。
- 便携化:移植到 Raspberry Pi Zero W + 小屏 + 电池,脱离 PC 独立运行。
- 芯片级集成:量产时将柔性传感器阵列、IMU、MCU、BLE 集成单柔性 PCB,缝入手套内层。
- 盲童辅助:加装超声波测距模块,振动反馈障碍物距离。
成本估算 (单件)
| 项 | 约价 (CNY) |
|---|---|
| Arduino Micro | ¥40 |
| 5× 柔性传感器 | ¥150 |
| ADXL335 模块 | ¥25 |
| HC-05 蓝牙 | ¥20 |
| 手套/布线/电池/外壳 | ¥100 |
| 合计 | ~¥335 |
(原文称 ¥6000 可能含研发人工与小批量溢价,DIY 复刻成本远低于此。)
制造工艺
- 互动陀螺仪 LED 显示:NeoPixel Ring + Arduino Pro Mini
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- 智能窗帘:基于Arduino与太阳能的自动光控系统
- Pixie:基于 Arduino Pro Mini 的 NeoPixel 智能腕表 - 极简 DIY LED 时钟
- 智能自系鞋带鞋:内置压电发电与计步功能
- DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
- 在 Arduino Due 上实现语音识别与语音合成 - BitVoicer Server 方案
- 便携式远程监控摄像头机器人系统
- 校园智能体温监测系统 - 精准、实时、安全的学生健康守护方案
- Arduino DMX-512 测试控制器 – 可靠灯光控制的完整套件
- 高级智能电池充电器:多路复用与数字显示
- 基于 Arduino UNO 构建可靠的智能能源监测仪——分步指南