亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

自制巨型乐高迷你人偶动画操作游戏:Arduino 控制舵机与音效

项目概览

这是一个历经四个阶段的大型 DIY 项目:从 PVC/MDF 手工制作乐高风格巨型人偶 “Frank”,到加装 6 个 MG90S 舵机、Adafruit MP3 Shield、双 Arduino 协作,最终变身可互动的“操作游戏”装置——玩家用镊子触碰金属边缘触发音效与动作。

核心硬件

电子系统架构

  1. MP3 Shield Arduino:监听 3 个触点(GPIO 2/3/4),触发时播放对应 MP3(02/03/04.mp3),并向舵机 Arduino 发送 300 ms 高电平脉冲(D5/D8/D9)。
  2. 舵机 Arduino:收到脉冲后执行预编程的缓动动作(含 easeInOutCubic、easeOutBounce 等 30+ 缓动函数),驱动头部、手臂、腿部共 6 个舵机。
  3. 两板共地,独立供电,底部固定在 “Frank 的床” 下方。

关键代码片段

舵机端(节选)

#include <Servo.h>
Servo servo5, servo6, servo7, servo8, servo9, servo10, servo11;
int pin2=2, pin3=3, pin4=4;

void setup() {
  // 初始化 7 个舵机引脚 5~11,设置初始角度
  // pin2/3/4 设为 INPUT_PULLUP 等待 MP3 板触发
}

void loop() {
  if (digitalRead(pin2)==HIGH) zap2();
  else if (digitalRead(pin3)==HIGH) zap3();
  else if (digitalRead(pin4)==HIGH) zap4();
  delay(300);
}

// 通用缓动移动函数 moveServo() + 30+ 缓动算法
// zap2/3/4 分别编排不同动作序列

MP3 端(节选)

#include <Adafruit_VS1053.h> #include <SD.h>
Adafruit_VS1053_FilePlayer musicPlayer = ...;

void loop() {
  if (musicPlayer.GPIO_digitalRead(2)) { zap2(); }
  else if (musicPlayer.GPIO_digitalRead(3)) { zap3(); }
  else if (musicPlayer.GPIO_digitalRead(4)) { zap4(); }
  // 音量按键处理...
}

void zap2() {
  audioPlay("02.mp3");
  activate(relayPin5);  // 向舵机板发脉冲
  delay(6000);          // 等待动作完成
  audioStop("02.mp3");
}

机械亮点

项目地址

完整构建日志(含 3D 模型、电路图、代码):The RPF 论坛 | CAD 文件:Thingiverse

制造工艺

  1. 用 Arduino 打造绚丽显示器 Ambilight 系统
  2. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  3. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  4. Arduino Uno 自动化乐高星球大战发射器
  5. Arduino 触控打砖块:在 2.4 英寸 TFT LCD 上重现经典街机
  6. Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
  7. 自制 Arduino 电子宠物「Tamaguino」:复刻经典 Tamagotchi 全攻略
  8. 智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关
  9. Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
  10. 基于 Arduino Nano 的智能运动感应水枪
  11. 使用 SparkFun 7 段数码管构建可靠的 Arduino 倒计时器
  12. Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏