当前位置:网站首页>MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
2022-07-06 09:16:00 【一入极客深似海】
意在将DFRobotDFPlayerMini.h库中的常用函数刨析完
本文的用意在于串口通讯的串口函数解析,不对硬件进行分析使用。
关于硬件方面使用 IO口 待有时间另作分析。
使用此库,开篇两样
#include "DFRobotDFPlayerMini.h"
DFRobotDFPlayerMini myDFPlayer; //示例化对象名称
MP3mini模块是使用串口通讯,我这里使用虚拟串口
#include "DFRobotDFPlayerMini.h"
#include <SoftwareSerial.h>
#include <arduino.h>
DFRobotDFPlayerMini myDFPlayer; //示例化对象名称
SoftwareSerial BTserial(12, 13); // 建立SoftwareSerial对象,RX引脚2, TX引脚3
steup()函数中初始化使用
BTserial.begin(9600);
myDFPlayer.begin(BTserial);
先简单的测试通讯一下
接线方式如下
TF卡中将MP3文件放在根目录 MP3文件命名为 0003.mp3
/* 【Arduino】66种传感器模块系列实验(85) 实验八十五:开源 Mini MP3 Player TF卡播放器模块(YX5200-24SS) 程序之一,循环播放TF卡内0003.MP3(MP3文件夹内),音量20 Arduino-------dfplayer 5V-------------VCC GND-----------GND D2-----------TXD D3-----------RXD */
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3);
DFRobotDFPlayerMini myDFPlayer;
void setup()
{
mySoftwareSerial.begin(9600);
myDFPlayer.begin(mySoftwareSerial);
myDFPlayer.volume(20); //音量设定为20
myDFPlayer.loop(3); //循环播放TF卡中 0003.mp3 文件
}
void loop()
{
}
下面我们对的库函数按照技术手册中的顺序进行逐一解释
假定我们已经实例化了一个 MP3mini模块的对象
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3);
DFRobotDFPlayerMini myDFPlayer; //示例化对象名称
void setup() {
mySoftwareSerial.begin(9600);
myDFPlayer.begin(mySoftwareSerial);
}
无返回值
myDFPlayer.next() //下一曲
myDFPlayer.previous() //上一曲
myDFPlayer.play(3) //指定曲目(NUM) 1-2999 参数添入 int 型参数
myDFPlayer.volumeUp() //音量+
myDFPlayer.volumeDown() //音量-
myDFPlayer.volume(20) //指定音量 0-30
myDFPlayer.EQ(0) // 指定 EQ 0/1/2/3/4/5 参数功能 Normal/Pop/Rock/Jazz/Classic/Bass (这个还没有用过,等我知道怎么用了再详细解释)
myDFPlayer.loop(3) //单曲循环指定曲目播放 0-2999
myDFPlayer.outputDevice(2)//指定播放设1/2/3/4/5 参数功能 U/SD/AUX/SLEEP/FLASH
myDFPlayer.sleep() //进入睡眠 -- 低功耗
myDFPlayer.reset() //模块复位
myDFPlayer.start() //播放
myDFPlayer.pause() //暂停
myDFPlayer.playFolder(1,1) //指定文件夹播放 1-10(需要自己设定) 前面为文件夹,后面为文件夹中的文件名
关于指定文件加播放,指定MP3文件。这个地方要详细说一下,当时第一次调试时就陷入了一个很大的误区。做后发现是文件夹的命名不对。
1、文件夹的命名,为两位是两位数字 比如 01, 02····等等
2、文件夹要放在文件根目录。
3、有的说要放在一个mp3的文件夹中,经过我的实测,其实没有必要。当然我的TF卡中只有播放用的文件,没有其他。如果你的TF卡中有其他的文件夹,那可能就说不准了。
命名方式如以下
文件的命名为前三位为数字。
如:
这样,playFolder函数就能准确找到指定问价夹中的指定文件了
文件夹名称(1 ~ 99);文件名(1 ~ 255)
比如,我们想播放 02文件夹中的第3个MP3
我们就可以这么写
myDFPlayer.playFolder(2,3)
继续函数解释
myDFPlayer.outputSetting(1,2) //扩音设置(无) 参数1:bool型 [DH=1:开扩音] 参数2:uint8_t型 [DL:设置增益0-31]
myDFPlayer.enableLoopAll() //全部循环播放
myDFPlayer.disableLoopAll() //停止循环播放
myDFPlayer.playMp3Folder(1) //指定 MP3文件夹曲目 0--9999
myDFPlayer.advertise(1) //插播广告 0--9999
myDFPlayer.playLargeFolder(1,2) //用法和playFolder一样,这个支持的更多
myDFPlayer.stopAdvertise() //停止插播,播放背景
myDFPlayer.stop() //停止播放
myDFPlayer.loopFolder(2) //指定文件夹循环播放 参数为指定文件夹中的名字
myDFPlayer.randomAll() //随机播放
myDFPlayer.enableLoop() //循环播放关闭
myDFPlayer.disableLoop() //循环播放开启
myDFPlayer.enableDAC() //关闭DAC
myDFPlayer.disableDAC() //开启DAC
查询类型函数,有返回值,都是返回 int 类型的数据
myDFPlayer.readState() //查询当前状态
myDFPlayer.readVolume() //查询当前音量
myDFPlayer.readEQ() //查询当前 EQ
myDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD) //查询文件数目
// DFPLAYER_DEVICE_U_DISK :查询 UDISK 的总文件数
// DFPLAYER_DEVICE_SD : 查询 TF 卡的总文件数
// DFPLAYER_DEVICE_FLASH : 查询 FLASH 的总文件数
myDFPlayer.readCurrentFileNumber(DFPLAYER_DEVICE_SD) //查询当前曲目
// DFPLAYER_DEVICE_U_DISK :查询 UDISK 的当前曲目
// DFPLAYER_DEVICE_SD : 查询 TF 卡的当前曲目
// DFPLAYER_DEVICE_FLASH : 查询 FLASH 的当前曲目
myDFPlayer.readFileCountsInFolder(2) //查询指定文件夹里的文件总数
myDFPlayer.readFolderCounts() //查询总文件数
以上,就是我整理的 DFRobotDFPlayerMini.h库的函数整理
边栏推荐
猜你喜欢
RT-Thread API参考手册
4、安装部署Spark(Spark on Yarn模式)
[yarn] yarn container log cleaning
锂电池基础知识
电商数据分析--薪资预测(线性回归)
sklearn之feature_extraction.text.CountVectorizer / TfidVectorizer
[Flink] Flink learning
arduino JSON数据信息解析
Comparison of solutions of Qualcomm & MTK & Kirin mobile platform USB3.0
Correspondence between STM32 model and contex M
随机推荐
第4阶段 Mysql数据库
[Presto] Presto parameter configuration optimization
Dependency in dependencymanagement cannot be downloaded and red is reported
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
FTP file upload file implementation, regularly scan folders to upload files in the specified format to the server, C language to realize FTP file upload details and code case implementation
JS array + array method reconstruction
SQL time injection
Unit test - unittest framework
数据分析之缺失值填充(重点讲解多重插值法Miceforest)
Common regular expression collation
[MRCTF2020]套娃
Machine learning -- linear regression (sklearn)
I2C总线时序详解
arduino获取随机数
[Bluebridge cup 2021 preliminary] weight weighing
优先级反转与死锁
Redis interview questions
关键字 inline (内联函数)用法解析【C语言】
4. Install and deploy spark (spark on Yan mode)
XML file explanation: what is XML, XML configuration file, XML data file, XML file parsing tutorial