1. JQ8900-16P语音模块
JQ8900-16P语音模块支持mp4、wav格式硬件解码,支持U盘、TF卡、SPIFLASH,支持SPIFLASH模拟U盘操作,支持多种控制模式(一线串口、两线串口、引脚短接),支持多种音频控制操作,是一款性价比较高的语音模块。
2. 芯片参数
3. 芯片管脚
4. 一线串口控制
相比于引脚短接方式复杂的电路,串口控制接线简单,功能控制灵活。虽然一线串口控制功能有限,但是胜在开发起来更加简单。一线串口模式通过向模块传递一个16进制数字,实现模块的控制。
通信协议如下图:
根据通信协议,Arduino IDE下,编写通信函数:
void SendData (char addr){
//开始拉高
digitalWrite(SOUNDPIN, HIGH);
delayMicroseconds ( 1000 );
//开始引导码
digitalWrite(SOUNDPIN, LOW);
//此处延时最少要大于2ms
delayMicroseconds ( 3200 );
//总共8位数据
for (int i = 0; i < 8; i++ )
digitalWrite(SOUNDPIN, HIGH);
if ( addr & 0x01 ){
//3:1表示数据位1
delayMicroseconds ( 600 );
//SOUNDPIN连接模块VPP PIN
digitalWrite(SOUNDPIN, LOW);
delayMicroseconds ( 200 );
}else{
//1:3表示数据位0
delayMicroseconds (200);
digitalWrite(SOUNDPIN, LOW);
delayMicroseconds ( 600 );
}
addr >>= 1;
}
digitalWrite(SOUNDPIN, HIGH);
}
利用函数就可以实现模块控制。
数字与控制功能对应表:
示例:播放歌曲1:
//清空指令
SendData(0x0a);
//选择歌曲00001
SendData(0x01);
//确认播放
SendData(0x0b);
所有的音频需要将名称设置为 00001.mp3
、 00002.wav
这样的格式,才会被指令识别,并且要拷贝到SPIFLASH根目录。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。