音乐播放
来自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 |



