Arduino UNO 播放印度国歌 — 简易硬件原型
组件与物料
| Arduino UNO | ×1 |
| Micro SD 卡模块 (Bitcraze) | ×1 |
| 扬声器 (3W, 4Ω) | ×1 |
| NPN 三极管 (BC547 等通用型) | ×1 |
| 1k Ω 电阻 | ×1 |
项目简介
大家好,我制作了一个播放印度国歌的硬件原型。
所需元件
- 任意 Arduino 开发板
- SD 卡模块
- 4Ω 扬声器
- BC547 三极管
- 1k Ω 电阻
按原理图连接硬件。播放音频需用 TMRpcm 库,详见 官方 Wiki。
仅支持 WAV 格式,需按以下参数转换:
- WAV 文件
- 8-bit
- 8–32 kHz 采样率
- 单声道
音频转换方法
iTunes:
编辑 → 偏好设置 → 导入设置
编码器选 "WAV 编码器",设置:自定义 → 16/22/32 kHz、8-bit、单声道
右键文件 → "创建 WAV 版本"
Audacity:
音轨 → 立体声转单声道
工程采样率 → 设为 32000/22050/16000/11025
文件 → 导出 → 类型:其他未压缩文件 → 选项 → WAV、无符号 8-bit PCM
转换后复制到 SD 卡,插入模块上电即可播放。
代码
Code (C/C++)
#include "SD.h"
#define cs 4
#include "TMRpcm.h"
#include "SPI.h"
TMRpcm Bz;
void setup(){
Bz.speakerPin = 9;
Serial.begin(9600);
if (!SD.begin(cs)) { return; }
}
void loop() {
Bz.setVolume(4);
Bz.play("na.wav"); // 印度国歌文件名
delay(58000); // 歌曲时长约 58 秒
}
原理图
BC547 Fritzing 引脚顺序:E B C

制造工艺
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino Nano 光影秀演奏《星条旗永不落》——含完整乐谱代码
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- 从零构建智能 Arduino 四足机器人:完整指南
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- 利用 Arduino Nano R3 自制全功能 CNC 雕刻机
- Earth Analyzer:面向精准农业的多模态物联网环境监测巡检车