语音控制家电:Google Assistant + 蓝牙 + Arduino UNO
组件与材料
| Arduino UNO | ×1 |
| 4 路继电器模块 | ×1 |
| HC-05 蓝牙模块 | ×1 |
| 跳线若干 | ×1 |
所需工具
- 热熔胶枪、电烙铁
软件与服务
- 自制 Android App(集成 Google Assistant 语音触发)
项目背景
市面上多数语音家电方案基于 WiFi,本项目采用蓝牙 + Google Assistant “OK Google” 热词唤醒,无需按键即可语音控制,解决了蓝牙方案需点按 App 按钮的痛点。
系统框图

电路接线
- 继电器 IN1-IN4 → Arduino D8-D11
- HC-05 TX→RX (D0), RX→TX (D1),VCC/GND 共地
- 继电器模块低电平触发,初始化设 HIGH 关闭负载

Arduino 代码
String voice;
#define FAN 10
#define TUBELIGHT 9
#define BULB 8
void setup() {
Serial.begin(9600);
pinMode(FAN, OUTPUT);
pinMode(TUBELIGHT, OUTPUT);
pinMode(BULB, OUTPUT);
analogWrite(TUBELIGHT, 255); // 灭
analogWrite(FAN, 255); // 灭
digitalWrite(BULB, HIGH); // 灭
}
void loop() {
while (Serial.available()) {
delay(10);
char c = Serial.read();
if (c == '#') break;
voice += c;
}
if (voice.length() > 0) {
Serial.println(voice);
if (voice == "tubelight") { analogWrite(TUBELIGHT, 0); analogWrite(FAN, 255); digitalWrite(BULB, HIGH); }
else if (voice == "green") { analogWrite(TUBELIGHT, 255); analogWrite(FAN, 255); digitalWrite(BULB, HIGH); }
else if (voice == "fan") { analogWrite(TUBELIGHT, 255); analogWrite(FAN, 0); digitalWrite(BULB, HIGH); }
else if (voice == "bulb") { analogWrite(TUBELIGHT, 0); analogWrite(FAN, 255); digitalWrite(BULB, LOW); }
else if (voice == "go") { digitalWrite(BULB, HIGH); }
else if (voice == "lights") { analogWrite(TUBELIGHT, 0); analogWrite(FAN, 0); digitalWrite(BULB, LOW); }
else if (voice == "good night") { analogWrite(TUBELIGHT, 255); analogWrite(FAN, 255); digitalWrite(BULB, HIGH); }
voice = "";
}
}
原理图
制造工艺
- 在 MATRIX Voice 树莓派上安装 Google Assistant:分步指南
- 蓝牙控制树莓派机器人:语音反馈功能构建指南
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- Arduino DIY 电压表:Nokia 5110 屏幕显示,手把手教学
- 使用 Nextion 显示屏构建 Fridgeye 应用:分步指南
- Arduino 合成乐音:从零实现 88 键钢琴全音域
- 使用 Arduino Uno 和蓝牙实现遥控小车:分步指南
- 蓝牙遥控 Arduino 小车完整 DIY 指南
- 蓝牙控制 8×8 LED 点阵滚动显示:Arduino Nano + MAX7219
- 智能手机蓝牙鼠标:自制虚拟摇杆控制电脑光标