• Arduino驱动DFPlayer Mini MP3模块


    Mini MP3模块

    在这里插入图片描述

    简介

    DFPlayer Mini是一款小巧且价格低廉的MP3模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,作为Arduino UNO或者是任何有串口的单片机的一个模块。模块本身完美的集成了MP3、WAV、WMA的硬解码。同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠。

    本次实验我们通过六个按键分别控制MP3模块的播放、暂停、上一曲、下一曲、增大音量、减小音量。

    产品参数

    *支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48
    *24位DAC输出,动态范围支持:90dB,信噪比支持:85dB
    *完全支持FAT16、FAT32文件系统,最大支持32G的TF卡,支持32G的U盘、64M字节的NORFLASH
    *多种控制模式可选。IO控制模式、串口模式、AD按键控制模式
    *广播语插播功能,可以暂停正在播放的背景音乐。广告播放完毕回到背景音继续播放
    *音频数据按文件夹排序,最多支持100个文件夹,每隔文件夹可以分配255首曲目
    *30级音量可调,6级EQ可调

    引脚定义

    Mini MP3模块的管脚图如下,这里注意缺口正面朝上的左边第一个引脚就是VCC,不要搞错方向了。本次实验中只需用到全部位于MP3模块左侧的六个引脚:VCC、RX、TX、SPK_1、GND、SPK_2。这里使用的是 8欧、1W的小喇叭,接在SPK_1、SPK_2两个引脚上。
    在这里插入图片描述

    在这里插入图片描述

    实验准备

    Arduino开发板1个
    Mini MP3模块1个
    TF卡1个
    8欧1W喇叭1个
    按键6个
    数据线(用于板子下载程序和供电)1条
    杜邦线若干

    程序下载

    /*
     功能: 六个按键分别控制MP3模块的播放、暂停、上一曲、下一曲、增大音量、减小音量。
     
     接线定义:
    Arduino-------dfplayer
    5V-------------VCC
    GND-----------GND
    D10-----------TXD
    D11-----------RXD
    */
    
    #include "SoftwareSerial.h"
    #include "DFRobotDFPlayerMini.h"
    
    SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
    
    DFRobotDFPlayerMini myDFPlayer;
    
    
    void setup()
    {
     pinMode(6, INPUT_PULLUP);
      pinMode(7,  INPUT_PULLUP);
      pinMode(9, INPUT_PULLUP);
      pinMode(8, INPUT_PULLUP);
      pinMode(12,  INPUT_PULLUP);
      pinMode(13, INPUT_PULLUP);
    mySoftwareSerial.begin(9600);
    Serial.begin(9600);
    
    myDFPlayer.begin(mySoftwareSerial);
    
    myDFPlayer.volume(20);   //音量设定为20 
    
    myDFPlayer.enableLoopAll() ;   //循环播放TF卡中 mp3 文件
       
    
    }
    
    void loop()
    {
      if( digitalRead(6) == LOW){
       myDFPlayer.volumeUp();
       delay (500);
      } 
      if( digitalRead(7) == LOW){
       myDFPlayer.volumeDown()  ;
       delay (500);
      } 
      if( digitalRead(8) == LOW){
       myDFPlayer.previous()  ;
          delay (500);
      }
      if( digitalRead(9) == LOW){
       myDFPlayer.next() ;
          delay (500);
      }
    if( digitalRead(12) == LOW){
       myDFPlayer.start() ;
       delay (500);
      } 
      if( digitalRead(13) == LOW){
       myDFPlayer.pause()  ;
       delay (500);
      } 
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    上述代码整体比较简单,在接线上除了接MP3模块和Arduino外,按键和Arduino的连接也很容易看出来,分别是Arduino的6、7、8、9、12、13号引脚和六个按键相连接,六个按键的另一个引脚都接地就可以了,这样当对应的按键按下被触发后,就会执行程序相应的逻辑实现对Mini MP3模块的控制。

    实物接线

    在这里插入图片描述

    总结

    本文介绍了通过Arduino驱动DFPlayer Mini MP3模块进行播放、暂停、上一曲、下一曲、增大音量、减小音量。有兴趣的话大家也可以自己添加更多功能,比如加一个OLED屏幕来显示控制信息。感谢观看!

  • 相关阅读:
    【Python基础入门8】关于字符串
    Git的概念和使用方法
    Jenkins学习笔记1
    python多线程返回值问题重写Thread类的run方法
    BiMPM实战文本匹配【下】
    UDS诊断网络层ISO15765-2(CAN)
    MySQL的MVCC多版本并发控制
    Excel 规范录入数据
    php包管理器composer浅析,thinkphp框架原理浅析
    64. 如何在浏览器里执行 SAPGUI 的事务
  • 原文地址:https://blog.csdn.net/qq_42250136/article/details/133390467