Arduino UNO 与 DFPlayer Mini 播放音频完整指南
所需元器件
- Arduino UNO × 1
- DFPlayer Mini MP3 模块 × 1
- 3W 4Ω 扬声器 × 1
- 面包板 × 1
- 杜邦线若干
项目简介
DFPlayer Mini 是一款体积小巧、成本低廉的 MP3 播放模块,可直接驱动扬声器输出音频。它既可作为独立模块(配合电池、扬声器和按键)使用,也可通过串口与 Arduino UNO 或其他具有 RX/TX 功能的单片机配合使用。本教程将演示如何使用 Arduino UNO 控制 DFPlayer Mini 播放 SD 卡上的音频文件。
接线说明
请参考原文中的原理图进行连接。主要连接如下:
- DFPlayer RX (模块引脚) ← Arduino D2 (通过软串口 TX)
- DFPlayer TX (模块引脚) → Arduino D3 (通过软串口 RX)
- 扬声器接在 DFPlayer 的 SPK_1 和 SPK_2 引脚
- VCC 接 5V,GND 接地
- SD 卡插入模块卡槽,需预先存放命名为
0001.mp3等格式的音频文件
代码示例
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
// 使用 D2、D3 与 DFPlayer 通信
static const uint8_t PIN_MP3_TX = 2; // 连接模块 RX
static const uint8_t PIN_MP3_RX = 3; // 连接模块 TX
SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX);
DFRobotDFPlayerMini player;
void setup() {
Serial.begin(9600); // 调试串口
softwareSerial.begin(9600); // 与 DFPlayer 通信串口
if (player.begin(softwareSerial)) {
Serial.println(F("OK"));
player.volume(30); // 音量 0-30
player.play(1); // 播放 SD 卡第 1 首曲目
} else {
Serial.println(F("Connecting to DFPlayer Mini failed!"));
}
}
void loop() {
// 可在此添加按键控制、循环播放等逻辑
}
注意事项
- DFPlayer 对电源纹波敏感,建议在 VCC/GND 间并联 100μF 电解电容和 0.1μF 陶瓷电容。
- SD 卡需格式化为 FAT16/FAT32,音频文件命名规则:
0001.mp3、0002.mp3… 放在根目录或mp3文件夹下。 - 软串口波特率固定 9600,不可更改。
- 若播放无声,检查接线、SD 卡文件名、扬声器是否正常。
扩展建议
可结合按键、红外遥控或传感器实现:上一曲/下一曲、音量调节、定时播放、声控触发等功能。DFRobotDFPlayerMini 库还提供 playFolder()、pause()、start()、eq() 等丰富接口,详见库文档。
制造工艺
- 自动钢琴:融合原声传统与自动化精准
- 光盘(CD):历史、生产流程与未来趋势
- CD播放器:精准无损的数字音频播放设备
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Arduino 网页控制 MP3 播放器:浏览器实现无线点歌
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY