“音乐播放”的版本间的差异
来自Labplus盛思维基百科
(→使用教程) |
|||
(未显示2个用户的8个中间版本) | |||
第24行: | 第24行: | ||
== 使用教程 == | == 使用教程 == | ||
− | + | :{|style="background-color:#FCF8E3;color:#8A6D3B;" | |
+ | |- | ||
+ | |style="padding: 2px;"| [[File:warning_yellow.png|25px|center]] ||'''注意''' | ||
+ | | | ||
+ | |} | ||
+ | # 串口设置波特率9600bps,bluebit串口tx引脚连接音乐模块的RXI引脚 | ||
+ | # 由于音乐模块带喇叭功放,功率较大,bluebit主板需要采用锂电池供电方式 | ||
+ | |||
===<small>MP3库API</small> === | ===<small>MP3库API</small> === | ||
MP3驱动使用SoftwareSerial,可自定义串口引脚<br /> | MP3驱动使用SoftwareSerial,可自定义串口引脚<br /> | ||
第54行: | 第61行: | ||
uint8_t getPlayState(void); //获取播放状态 | uint8_t getPlayState(void); //获取播放状态 | ||
</pre> | </pre> | ||
+ | === <font size="3">掌控板</font> === | ||
+ | {| | ||
+ | |- | ||
+ | | [[文件:MP3.png |900px|居中|无框]] | ||
+ | |} | ||
=== <small>Arduino示例</small> === | === <small>Arduino示例</small> === | ||
第133行: | 第145行: | ||
MP3CmdWrite(var) | MP3CmdWrite(var) | ||
− | uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx= | + | uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin1, rx=pin0) #设置串口引脚和波特率 |
− | MP3Volume(28) #音量 | + | MP3Volume(28) #音量, 0-30 |
sleep(1000) | sleep(1000) | ||
MP3Play(1) #播放第1首歌曲 | MP3Play(1) #播放第1首歌曲 | ||
</pre> | </pre> | ||
+ | |||
+ | === <small>图形化示例</small> === | ||
+ | {| | ||
+ | |- | ||
+ | | [[文件:音乐播放 example.png|300px|无框|左]] | ||
+ | |} | ||
+ | |||
+ | == 版本历史记录 == | ||
+ | {| border="1" cellspacing="0" align="left" cellpadding="0" width="60%" style="text-align:center;" | ||
+ | |- style="text-align:center;background-color:#6fa8dc;color:#fffff;" | ||
+ | !width="10%"|Version !!width="15%"| Date !! Note <small>[+]新增[-]删除[^]修复</small> | ||
+ | |- | ||
+ | | V2.0 || || style="text-align:left"| | ||
+ | |} |
2020年6月30日 (二) 16:53的最新版本
概述
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 |