基于 1Sheeld 与 Arduino 的盲聋人士沟通辅助系统
组件与材料
- 1Sheeld × 1
- Arduino UNO × 1
- Adafruit 标准 LCD 1602(白字蓝底)× 1
- 旋转电位器 10kΩ × 1
- 智能手机 × 1
项目简介
本项目解决盲聋人士沟通难题:盲人仅能听说,聋人仅能打字看屏幕。方案:
- 盲 → 聋:语音识别 → 文字 → LCD 显示
- 聋 → 盲:键盘输入 → 文字 → 语音合成
步骤 1:硬件准备




步骤 2:电路连接






LCD 接线(标准 1602 并口):
- RS → D12
- Enable → D11
- D4 → D5
- D5 → D4
- D6 → D3
- D7 → D2
- R/W → GND
- VSS → GND
- VCC → 5V
- 电位器两端接 5V/GND,中间抽头接 VO (Pin 3) 调节对比度
使用 1Sheeld 需先:
- 下载 1Sheeld 库并导入 Arduino IDE。
- 手机安装 1Sheeld App:1sheeld.com/downloads
- 按教程连接 1Sheeld 与 Arduino 并上传代码:入门教程
通信流程:
- 盲 → 聋:语音识别 → 文字 → LCD
- 聋 → 盲:键盘输入 → 文字 → 语音合成
- 远程联系:短信盾发送短信
1Sheeld App 中需启用:语音识别、键盘、语音合成、短信、终端、振动盾。演示视频见项目页。
步骤 3:软件代码
#define CUSTOM_SETTINGS
#define INCLUDE_VOICE_RECOGNIZER_SHIELD
#define INCLUDE_TEXT_TO_SPEECH_SHIELD
#define INCLUDE_KEYBOARD_SHIELD
#define INCLUDE_SMS_SHIELD
#define INCLUDE_TERMINAL_SHIELD
#define INCLUDE_VIBRATION_SHIELD
#include <OneSheeld.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
String msg;
int sent = 0;
int i = 0;
String phoneNum = ""; // 填入目标手机号
int patternOne[6] = {1000, 2000, 1000, 2000, 1000, 2000};
int patternOneSize = 6;
void setup() {
OneSheeld.begin();
VoiceRecognition.start();
lcd.begin(16, 2);
}
// 盲人对聋人:语音识别 -> LCD
void loop() {
if (VoiceRecognition.isNewCommandReceived()) {
String msg1 = VoiceRecognition.getLastCommand();
// 远程联系人:说 "sms" 开头
if (msg1.substring(0, 3) == "sms") {
String msg1f = msg1.substring(3);
SMS.send(phoneNum, msg1f);
TextToSpeech.say("sms sent");
delay(4000);
}
// 面对面:直接显示 LCD
else {
if (msg1.length() > 16) {
lcd.clear();
lcd.setCursor(0, 0);
for (int i = 0; i <= 16; i++) lcd.print(msg1[i]);
lcd.setCursor(0, 1);
for (int j = 16; j <= msg1.length() - 1; j++) lcd.print(msg1[j]);
} else {
lcd.clear();
lcd.print(msg1);
}
}
}
// 聋人对盲人:键盘输入 -> 语音合成
// 键盘盾每字符触发 MsgBuild
// 连按 3 次 's' 发送消息(因回车键不可靠)
// 远程联系人同样需以 "sms" 开头
}
代码核心逻辑:
- 语音识别盾收到新指令,判断是否以 "sms" 开头决定发短信还是显示 LCD。LCD 16 字符换行处理。
MsgBuild()累积键盘字符,检测连续 3 次 's' 触发发送,自动转小写。远程联系人同样需 "sms" 前缀。- 振动盾配合
patternOne提供触觉反馈。
完整代码文件:BlindToDeaf.ino
原理图

制造工艺
- Arduino 与树莓派 2 I2C 通信集成:打造物联网传感器项目的最佳搭档
- K30 CO₂ 传感器:室内空气质量实时监测
- 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- DFRobot 电容指纹传感器 (ID809) 接入 Arduino/ESP8266 完整教程
- 基于 Arduino Mega 与 Nextion 显示屏的交互式气象站
- Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
- 用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
- Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程
- Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)
- 紧凑型Arduino雷达系统:HC-SR04超声波传感器配1.8英寸显示屏
- Arduino 合成乐音:从零实现 88 键钢琴全音域