音乐播放
来自Labplus盛思维基百科
概述
MP3播放模块,可通过软串口发送指令操控播放TF卡中保存的歌曲
技术参数
- 工作电压: VCC 3.3V -5V
- 串口通信
- 采用TF卡存储歌曲或语音信息
- 输出功率3W
- 板载双声道功放,可驱动0.5W喇叭
- 模块尺寸:24x46x7.5mm
引脚定义
VCC | 电源 |
RXI | 串口接收 |
TXD | 串口发送 |
GND | 地 |
使用教程
注意
- 串口设置波特率9600bps,bluebit串口tx引脚连接音乐模块的RXI引脚
- 由于音乐模块带喇叭功放,功率较大,bluebit主板需要采用锂电池供电方式
MP3库API
MP3驱动使用SoftwareSerial,可自定义串口引脚
MP3_SoftSerial驱动下载
Kt540bClass(int rxPin, int txPin); // 定义软串口引脚 void begin(); void play(void); //播放(比如从暂停中恢复) void play(uint8_t songNum); //播放指定序号歌曲 void playDir(uint8_t dir, uint8_t songNum); //播放指定文件夹指定歌曲 void playNext(void); //播下一首 void playPrev(void); //播上一首 void setVolume(uint8_t volume); //设置音量 void volumeInc(); //音量+ void volumeDec(); //音量- void setEQ(uint8_t eq); //设置EQ值 void loop(uint8_t songNo); //指定根文件夹下相关序号歌曲循环播放 void loop(uint8_t dir, uint8_t songNo); //指定目录相关序号歌曲循环播放 void loopDir(uint8_t dir); //指定目录循环播放 void singleLoop(boolean onOff); //单曲循环开关 void radomPlay(void); //随机播放(整个设备上的歌) void pause(void); //暂停 void stop(void); //停止 void setDac(bool onOff); //DAC开关 void enterSleep(void); //进入睡眠__bool_true_false_are_defined void exitSleep(void); //退出睡眠 void resetDevice(void); //设备复位 void setPlayMedia(MEDIA playMedia); //选择播入媒体 uint8_t getPlayState(void); //获取播放状态
掌控板
Arduino示例
#include "kt540b.h" Kt540bClass mp3Play(5,6); //实例化对象,定义pin5为RX,pin6为TX void setup() { mp3Play.begin(); //mp3初始化开始 mp3Play.setVolume(50); //音量设置 mp3Play.play(1); //播放第1首歌曲 delay(10000); //等待,让其播放10秒 } void loop() { mp3Play.pause(); //歌曲暂停 mp3Play.playNext(); //播放下首歌曲 delay(10000); //等待,让其播放10秒 mp3Play.stop(); //停止播放歌曲 }
MicroPython示例
from microbit import * def MP3CmdWrite(cmd): sum = 0 for i in range(0,6): sum += cmd[i] sum1 = ((0xFFFF - sum) + 1) sum_l = sum1 & 0xff sum_h = sum1 >> 8 uart.write(bytearray([0x7E])) uart.write(cmd) uart.write(bytearray([sum_h])) uart.write(bytearray([sum_l])) uart.write(bytearray([0xEF])) sleep(20) def MP3Play(num): var = bytearray([0xFF,0x06,0x03,0x01,0x00,num]) MP3CmdWrite(var) def MP3Stop(): var = bytearray([0xFF ,0x06 ,0x0E ,0x01 ,0x00 ,0x00]) MP3CmdWrite(var) def MP3Start(): var = bytearray([0xFF ,0x06 ,0x0D ,0x01 ,0x00 ,0x00]) MP3CmdWrite(var) def MP3StopDecode(): var = bytearray([0xff,0x06,0x16,0x00,0x00,0x00]) MP3CmdWrite(var) def MP3VolumeInc(): var = bytearray([0xFF,0x06,0x04,0x00,0x00,0x00]) MP3CmdWrite(var) def MP3VolumeDec(): var = bytearray([0xFF,0x06,0x05,0x00,0x00,0x01]) MP3CmdWrite(var) def MP3Volume(vol): var = bytearray([0xFF,0x06,0x06,0x00,0x00,vol]) MP3CmdWrite(var) def MP3Reset(): var = bytearray([0xFF,0x06,0x0C,0x00,0x00,0x00]) MP3CmdWrite(var) uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin1, rx=pin0) #设置串口引脚和波特率 MP3Volume(28) #音量, 0-30 sleep(1000) MP3Play(1) #播放第1首歌曲
图形化示例
版本历史记录
Version | Date | Note [+]新增[-]删除[^]修复 |
---|---|---|
V2.0 |