arduino nano控制 mini MP3 player模块

 

一、硬件:

Arduino nano
扬声器
mini mp3 player

二、软件:

使用Arduino IDE

三、操作:

1、接线-使用模拟引脚

Arduino 引脚DFPlayer Mini MP3 模块引脚接线说明
D10 (数字引脚 10)RX (接收引脚)Arduino TX → 模块 RX
D11 (数字引脚 11)TX (发送引脚)Arduino RX → 模块 TX
5V (电源引脚)VCC (电源正极)接 5V,模块供电
GND (接地引脚)GND (电源负极)共地,保证通信正常

 

关于mp3模块,引脚要用右下角的那个GND。具体接线可以参考最前面的那个照片。

若需要播放声音,模块的 SPK1、SPK2扬声器正负极,无需外接功放。

2、程序

// 引入软件串口库(用于和MP3模块通信)
#include <SoftwareSerial.h>
// 引入DFPlayer Mini专用库(简化控制逻辑)
#include <DFRobotDFPlayerMini.h>

// 定义软件串口:RX(D11)接MP3模块TX,TX(D10)接MP3模块RX
SoftwareSerial mySerial(11, 10);
// 创建MP3模块对象
DFRobotDFPlayerMini myMP3;

void setup() {
  // 初始化硬件串口(和电脑通信),波特率9600
  Serial.begin(9600);
  // 初始化软件串口(和MP3模块通信),波特率9600(模块默认波特率)
  mySerial.begin(9600);

  // 等待MP3模块初始化
  delay(1000);
  
  // 初始化MP3模块
  if (!myMP3.begin(mySerial)) {
    Serial.println("MP3模块初始化失败!");
    while (1); // 初始化失败则卡住,提示用户检查接线
  }
  Serial.println("MP3模块初始化成功!");
  
  // 设置音量(0-30,数值越大音量越高)
  myMP3.volume(15);
  Serial.println("请输入音频编号(001-005):");
}

void loop() {
  // 检查串口是否有数据输入
  if (Serial.available() > 0) {
    // 读取串口输入的字符串(如"001")
    String input = Serial.readStringUntil('\n');
    // 去除字符串中的空格、换行等无效字符
    input.trim();
    
    // 判断输入的编号,播放对应音频
    if (input == "001") {
      myMP3.play(1); // 播放第1首音频(对应001.mp3)
      Serial.println("正在播放:001.mp3");
    } else if (input == "002") {
      myMP3.play(2); // 播放第2首音频(对应002.mp3)
      Serial.println("正在播放:002.mp3");
    } else if (input == "003") {
      myMP3.play(3);
      Serial.println("正在播放:003.mp3");
    } else if (input == "004") {
      myMP3.play(4);
      Serial.println("正在播放:004.mp4"); // 笔误,应为004.mp3,修正:
      Serial.println("正在播放:004.mp3");
    } else if (input == "005") {
      myMP3.play(5);
      Serial.println("正在播放:005.mp3");
    } else {
      // 输入无效编号的提示
      Serial.println("输入错误!请输入001-005之间的编号。");
    }
    
    // 清空串口缓冲区,避免残留数据干扰
    while(Serial.available()) Serial.read();
  }
  
  // 小延迟,降低CPU占用
  delay(100);
}

3、串口显示

串口输入001-005,播放对应的歌曲

四、备注

内存卡要提前准备对应文件名字的歌曲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值