概述
设计者:STCode (公众号同名)
1)功能描述
这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的。
2)使用主要器件
1、Arduino Uno控制板
2、YX5300 MP3音乐模块
3、SD卡
4、读卡器
5、按键
6、面包板
7、导线
8、扬声器
3)元件介绍
1、YX5300 MP3音乐模块
该模块是一个基于高音质MP3音乐芯片的MP3音乐播放器模块。支持采样率是8KHz ~ 48KHz的MP3、WAV格式文件。
板载Micro SD卡座,可插上存了音乐文件的micro SD卡。单片机可以通过串口发送命令进行切换音乐、调节音量、播放模式等操作。用户也可以通过USB转串口模块对该模块进行调试。模块与UNO/AVR/ARM/PIC等单片机系统兼容。UART TTL串口控制播放模式,串口波特率为9600bps, 供电电源可为3.2 ~ 5.2V DC.
4)电路设计
4)电路设计
Arduino--------------------YX5300 MP3
D4----------------------------TX
D5----------------------------RX
按键一端接D2,另一端接到GND,整体简易接线图如下所示:
5)关键代码讲解
#include <SoftwareSerial.h> //添加软串口头文件
SoftwareSerial mySerial(4,5); // 音乐模块TX接4,音乐模块RX接5
首先引入软串口头文件,定义音乐模块TXRX端口的接线
unsigned char play_song1[8] = {0x7E,0xFF,0x06,0x08,0x00,0x00,0x01,0xEF}; //1
unsigned char play_song2[8] = {0x7E,0xFF,0x06,0x03,0x00,0x00,0x02,0xEF}; //2
上面定义两个字符变量,用于存储指令,其中play_song1[8]指令为播放歌曲1,play_song2[8]指令播放歌曲2,可以从倒数第二个16进制数据看出,播放歌曲1用0x01,播放歌曲2用0x02,以此类推;整数第四个16进制数据为设置循环播放还是播放一次,其中0x08指令为单曲循环,0x03为只播放一次。
相关指令可以参考下图:
unsigned char pause[8]={0x7E,0xFF,0x06,0x0E,0x00,0x00,0x00,0xEF}; //暂停播放
unsigned char play[8]={0x7E,0xFF,0x06,0x0D,0x00,0x00,0x00,0xEF}; //恢复播放
unsigned char stop_play[8] = {0x7E,0xFF,0x06,0x16,0x00,0x00,0x00,0xEF}; //停止播放指令
unsigned char top_volume[8]={0x7E,0xFF,0x06,0x06,0x00,0x00,0x1E,0xEF}; //设置最大音量
此代码同时用到了上述指令
mySerial.write(top_volume, 8); //设置音量为最大
mySerial.write(stop_play, 8); //开机静音
randomSeed(analogRead(A0)); //随机数种子A0
上述指令设置了播放的音量以及开机默认静音,还设置了随机数种子,用于按键按下后,随机播放一首歌曲。
随机播放歌曲可以用switch语句
switch (num) //根据随机数随机播放曲目
{
case 1: mySerial.write(play_song1,8);
break;
case 2: mySerial.write(play_song2,8);
break;
case 3: mySerial.write(play_song3,8);
break;
default:
break;
}
下面是按键扫描子函数
void key_scan() //按键扫描子函数
{
if(digitalRead(keypin)==LOW)
{
delay(20); //消抖
if(digitalRead(keypin)==LOW)
{
num=random(1,11); //随机数获取
start_flag=1; //播放标志位置1
}
}
}
6)效果演示
更多创意作品请关注公众号:STCode
最后
以上就是感动戒指为你收集整理的Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)更多创意作品请关注公众号:STCode的全部内容,希望文章能够帮你解决Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)更多创意作品请关注公众号:STCode所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复