DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
所需元件
- Arduino UNO × 1
- HC-SR04 超声波测距模块 × 1
- DFPlayer Mini MP3 模块 × 1
- 4 路继电器模块 × 1
- 330 Ω 电阻、跳线、热熔胶、焊接工具
功能描述
人偶内部集成超声波传感器,当检测到人靠近(≤ 1.5 m)时,随机播放钢铁侠语音(SD 卡存 001~018.mp3),同时继电器控制头部、胸部、双臂 LED 亮起,营造“苏醒”效果。
接线概要
| 模块 | 引脚 | Arduino |
|---|---|---|
| HC-SR04 | VCC/Trig/Echo/GND | 5V / D3 / D4 / GND |
| DFPlayer | RX/TX/VCC/GND | D6 / D7 / 3.3V / GND |
| 4 路继电器 | IN1~IN4 | D10~D13 |
核心代码逻辑
#include <Ultrasonic.h> #include <DFRobotDFPlayerMini.h>
Ultrasonic ultra(3,4); // Trig, Echo
SoftwareSerial mp3Serial(6,7); // RX, TX
DFRobotDFPlayerMini mp3;
#define HEAD 13
#define CHEST 12
#define LEFT_ARM 11
#define RIGHT_ARM 10
int x = 3; // 状态机变量
void setup() {
mp3Serial.begin(9600);
Serial.begin(115200);
mp3.begin(mp3Serial);
mp3.volume(30);
pinMode(HEAD, OUTPUT); pinMode(CHEST, OUTPUT);
pinMode(LEFT_ARM, OUTPUT); pinMode(RIGHT_ARM, OUTPUT);
digitalWrite(HEAD, HIGH); digitalWrite(CHEST, HIGH);
digitalWrite(LEFT_ARM, HIGH); digitalWrite(RIGHT_ARM, LOW);
}
void loop() {
int dist = ultra.Ranging(CM);
Serial.println(String(dist) + " cm");
if (dist <= 150 && x == 3) {
int r = random(1, 19);
mp3.play(r);
delay(3000);
// 触发继电器闪烁右臂灯
digitalWrite(RIGHT_ARM, HIGH); delay(300);
digitalWrite(RIGHT_ARM, LOW); delay(300);
digitalWrite(RIGHT_ARM, HIGH); delay(300);
digitalWrite(RIGHT_ARM, LOW);
x = 2;
while (ultra.Ranging(CM) <= 150) {
digitalWrite(LEFT_ARM, HIGH);
delay(1200);
}
} else {
digitalWrite(RIGHT_ARM, LOW);
x = 3;
}
}
音频素材
从电影提取台词,重命名为 001.mp3~018.mp3 存入 SD 卡根目录。
示例下载:GitHub
改进建议
- 加入舵机驱动面具开合、手臂抬起等动作。
- 用 MP3 模块的忙碌引脚替代固定 delay,实现音效与动作精准同步。
- 外壳 3D 打印/泡沫雕刻,提升成品质感。
制造工艺
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- 非接触体温筛查闸机:Arduino MKR1000 + 红外测温 + 舵机控制
- PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- Arduino + ThingSpeak 实时气象监测站
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino + TEA5767 打造 FM 收音机:Nokia 5110 显频谱/信号强度/立体声
- Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
- Arduino RGB 颜色混合器 – 分步制作教程