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

Arduino UNO 三声部复音播放《复仇者联盟》主题曲(Playtune 库)

硬件清单

元件数量备注
Arduino UNO1
3W 4Ω 小喇叭1无源蜂鸣器音量太小,建议用小音箱单元
220 Ω 电阻3D10/D11/D12 各串联一只限流
LED(可选,指示声道活动)3并联在 220 Ω 电阻两端
面包板/跳线若干

原理图与面包板实物图

三路 PWM 引脚 (D10, D11, D12) 各串 220 Ω 电阻后汇流接喇叭正极,喇叭负极接 GND。可选 LED 并联在电阻两端指示对应声道有信号输出。原理图/PCB 文件见附件 avengers_XPBiYYW5Xc.zip。

核心库:Playtune

音乐数据生成

MIDI → Playtune 字节数组转换工具见库自带脚本。本项目已内置完整《复仇者联盟》主题曲数组(约 2.5 KB Flash),存放在 PROGMEM 节省 RAM。

关键代码片段

#include <Playtune.h>
const byte PROGMEM avengers[] = { 0x90,0x3E,0x00,0x7A,0x80,0x00,0x02, ... }; // 完整数组见源码
Playtune p;

void setup() {
  p.tune_initchan(10);  // 声道 0 → D10
  p.tune_initchan(11);  // 声道 1 → D11
  p.tune_initchan(12);  // 声道 2 → D12
}

void loop() {
  p.tune_playscore(avengers);
  while (p.tune_playing);  // 阻塞等待播放结束
  p.tune_delay(3000);      // 间隔 3 秒循环,勿用 delay()
}

进阶技巧

效果展示

视频演示:三声部和弦清晰分离,主旋律/和声/低音线层次分明,音质远超单声道 tone()。无需外置功放,直接驱动 3W 喇叭音量适中、失真可控。

适用场景

制造工艺

  1. 智能缺水报警器 – DIY植物土壤湿度监测装置
  2. 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
  3. 仅用 3 根模拟口驱动 4×3 矩阵键盘:电阻分压识别键值
  4. 基于Arduino MKR Fox 1200构建可靠Sigfox千瓦时电表
  5. 蓝牙温度监测仪:Arduino Nano + NTC 热敏电阻 + HC-06 无线传输
  6. DIY 自动量程电容表 (10 pF – 10 μF) – Arduino Nano 简易制作
  7. 非接触手势门锁:APDS-9960 + Arduino 实现安全门禁
  8. Arduino Nano 多功能伴侣套件 —— 电阻/电容测量、二极管测试、RTC时钟一体化
  9. Arduino Micro/Leonardo USB MIDI 适配器套件 —— 完整元件清单与固件指南
  10. 为Arduino构建隔离模拟输入电路
  11. RGB 32 频段音频频谱可视化器:Arduino Nano 驱动 WS2812B 8×32 LED 矩阵
  12. Arduino UNO 精准视觉反应时间测试仪