DIY 自动咖啡机:Arduino + 蓝牙 + Android App 实现语音控制
组件与材料
| 组件 | 数量 |
|---|---|
| 咖啡机(需可拆解) | 1 |
| 继电器模块(至少 2 路) | 1 |
| HC-06 蓝牙模块 | 1 |
| Arduino UNO | 1 |
所需工具
- 电烙铁及焊锡
项目简介
引言
早晨赶时间却要等咖啡机加热,令人抓狂。本教程将教你利用 Arduino、蓝牙和 Android App 实现咖啡机自动化:通过手机 App(支持语音识别)一键制作大/小杯咖啡。
拆解咖啡机

最复杂的一步:需根据具体机型拆解。本例中只需用螺丝刀撬开底盖即可触及按钮焊点。
焊接按钮引线


在每个按钮下方焊接两根导线,接至继电器。若咖啡机只有一个按钮,则只需单路继电器。
Arduino 端接线

继电器 ↔ Arduino:
- IN1:未使用
- IN2:Pin 11(小杯咖啡)
- IN3:Pin 10(开/关机)
- IN4:Pin 9(大杯咖啡)
HC-06 蓝牙模块 ↔ Arduino:
- VCC → 5V
- GND → GND
- TXD → RX (Pin 0)
- RXD → TX (Pin 1)
Arduino 代码
代码逻辑:建立蓝牙串口通信,收到 1 制作小杯,收到 2 制作大杯。上传代码时必须断开蓝牙模块供电(拔掉 5V 线),否则会报错。注意:本例中 HIGH 为继电器断开,LOW 为吸合,若模块逻辑相反请自行调整。
char junk;
String inputString = "";
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT); digitalWrite(10, HIGH); // 关机引脚
pinMode(9, OUTPUT); digitalWrite(9, HIGH); // 大杯引脚
pinMode(11, OUTPUT); digitalWrite(11, HIGH); // 小杯引脚
}
void loop() {
if (Serial.available()) {
while (Serial.available()) {
char inChar = (char)Serial.read();
inputString += inChar;
}
Serial.println(inputString);
while (Serial.available() > 0) { junk = Serial.read(); } // 清空缓冲区
if (inputString == "1") { // 小杯
digitalWrite(10, LOW); delay(500); digitalWrite(10, HIGH); // 开机
delay(120000); // 加热 2 分钟
digitalWrite(11, LOW); delay(500); digitalWrite(11, HIGH); // 小杯
delay(30000); // 出咖啡
digitalWrite(10, LOW); delay(500); digitalWrite(10, HIGH); // 关机
} else if (inputString == "2") { // 大杯
digitalWrite(10, LOW); delay(500); digitalWrite(10, HIGH);
delay(120000);
digitalWrite(9, LOW); delay(500); digitalWrite(9, HIGH); // 大杯
delay(30000);
digitalWrite(10, LOW); delay(500); digitalWrite(10, HIGH);
}
inputString = "";
}
}
MIT App Inventor 制作 Android App


使用 MIT App Inventor(需 Gmail 账号)制作控制 App,导入提供的 .aia 源文件即可修改。已集成语音识别:说“coffee”自动发送 2(大杯)。安装时需在手机安全设置中允许“未知来源”应用。
关键点:发送数据用 发送文本 组件,直接发送数字 1 或 2;若用 发送字节数 需发送 ASCII 码(1 对应 49),切勿混淆。
提供文件:F2WKLSKIU9V6Q3T.apk(安装包)、easycoffee_PMPn5pALOv.aia(源文件)
结语
大功告成!现在可通过蓝牙语音控制咖啡机。外观虽简陋,但可轻松做外壳收纳 Arduino 与继电器。未来计划加入传送带机构,确保杯子到位再出咖啡。欢迎提出改进建议!
制造工艺