Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)
设计者: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
首先引入软串口头文件,定义音乐模块TX\RX端口的接线
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音乐模块)相关推荐
- arduino按键控制LED 灯(按一下切换一次状态)
物联网实验一 2021.3.24 arduino按键控制LED 灯(按一下切换一次状态) #define led 13 //定义led灯为13引脚 #define button 3 //定义butto ...
- fl2440——按键控制madplay音乐播放器
今日诗词分享:该段诗词描述的是国产武侠游戏<剑侠情缘三>中的职业--天策(游戏中对唐朝军人的称呼). 天策 长河落日东都城,铁马戍边将军坟. 尽诛宵小天策义,长枪独守大唐魂. ====== ...
- STM32F40实现 按键密码锁、按键控制LED 、串口选择菜单 、串口控制LED开关 、串口控制蜂鸣器开关及响度 、串口控制蜂鸣器播放音乐 、按键控制LED的亮度
本人第一次发文,很多都不懂,尤其害怕版权问题,如果有人质疑我有盗权行为,请联系我,因为项目也遇到很多问题,然后就解决嘛,可印象中只有播放音乐代码有借鉴,所以如果有质疑盗了权的,请务必联系我.板子是使用 ...
- Arduino串口控制DY-SV5W音频播放
以下为DY-SV5W介绍摘抄模块应用手册 1.产品概述 DY-SV5W是本司自主研发的一款智能语音模块,集成IO分段触发,UART串口控制,ONE_line单总线串口控制,标准MP3等7种工作模式,简 ...
- 安卓接收耳机按键控制音频播放
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 如今连接移动设备的耳机上基本都有按键,来控制音频的播放,暂停,下一首,上一首,或电话的拨打,视频的播放等功能.而外置媒体按键的按下,安卓系统接收到这个 ...
- Android音乐播放器开发(5)—播放界面(播放、暂停、上一首、下一首,顺序播放、随机播放、拖拽进度条…)
1. 说明 源码已同步到Gitee仓库,Github仓库,觉得还不错的话帮忙点个"star"吧,非常感谢. Android播放器专栏其它文章: 服务端:Android音乐播放器开发 ...
- Flash:关键帧中调用自建的音乐类,进行播放、关闭、循环音乐+按键播放或者关闭外部音乐+循环播放背景音乐+播放按钮音乐+停止+加载外部音乐文件+AS2播放背景音乐
目录 一.关键帧里面:调用自建的音乐类, 循环播放外部音乐.进行播放.关闭.循环音乐 1.代码:自建音乐类 2.关键帧中创建.播放.暂停背景音乐+按钮音乐 3.文件布置 二.关键帧中:按键播放或者关闭 ...
- html 不间断背音乐代码,请参考不用框架结构做出 “页面间跳转而不间断的背景音乐”每次进去还是随机播放...
同事问的如果不用Frame怎么让背景音乐不间断播放呢 于是撒网在百度里搜··· 搜到了这个··真是高手呀·· var Media = new ActiveXObject("MediaPlay ...
- android 小型音乐播放器(实现播放、下一首、上一首、自动播放、随机播放按钮、当前播放歌曲界面)
该文章主要针对 android 的音乐播放器软件进行简单的功能添加:播放.断点播放.停止.上一曲.下一曲.随机播放.显示当前播放歌曲(后续会为当前显示的播放添加动画): 软件开发流程: 1.先向内存卡 ...
最新文章
- TCP/IP详解--第十六章
- C#编程语言之读取网页内容(微软官网方法)
- java B2B2C Springcloud电子商城系统-通过消息队列传输zipkin日志
- android 去锯齿
- VmWare下安装CentOS6
- android studio Cmake undefine func
- 用实际的软件编程示例解释C#中的装饰器模式
- BZOJ4247挂饰
- 【RLchina第二讲】汪军老师推荐的强化学习理论学习资料
- 19. 星际争霸之php设计模式--迭代器模式
- arcgis开发笔记【silverlight 发布rest地图服务】
- 在线读取office 文件(Word excel 等)
- OpenDDS 配置文件详解
- php与mysql毕业设计_基于PHP的毕业设计管理系统设计与实现毕业论文+项目源码及数据库文件...
- 小程序 轮播图样式设置
- springboot发送短信验证码
- Python网络爬虫(一):爬虫基础
- 去中心化交易所与中心化交易所的优劣势对比
- 使用免费OA系统,让你成为职场锦鲤
- 记一次mac 黑屏,无法点亮,不稳定,待机后无法唤醒等故障维修。(驱动)