Arduino Uno接JQ8900-16p语音播报模块
前言
记录一个比较好用的语音播报模块JQ8900,这个模块成本低廉(十几块就能买到),使用方便。
此外,这个模块还有以下优点:
①搭载配套的软件可以支持文字转语音,生成mp3格式的文件,可以像U盘一样拷贝到模块中,并在代码中选择播放某个mp3文件;
②有多种人声可选,可调音量、音调和音速。
一、所需材料及接线
所需主要材料:
1.Arduino Uno开发板一块;
2.JQ8900-16p语音播报模块(含喇叭)一个;
3.杜邦线若干
语音播报模块如下图:
将mp3文件拷贝进入模块的内存接线:找到一根合适的数据线,一端接JQ8900模块,另一端连接电脑的USB口,将文件直接复制进去即可。
Arduino控制JQ8900模块接线:
Arduino Uno | JQ8900-16p |
---|---|
3 | VPP |
GND | GND |
5V | DC-5V |
JQ8900-16p | 喇叭 |
---|---|
SPK- | 正极 |
SPK+ | 负极 |
(白色的是喇叭)
二、代码
通过串口控制选择对应的mp3文件播放:
/*
整合系统功能:
1.语音提示-串口选择mp3播放*/char val="";//接收串口发送过来的值int pin = 3;//接vpp引脚void setup()
{pinMode(pin,OUTPUT);Serial.begin(9600);//设置波特率Serial.println("请输入你要发送的数据:");//提示字符
}void loop()
{while(Serial.available()>0){//检验在串口缓存区中是否有数据,如果有则返回1,没有就是0.val = char(Serial.read());//Serial.read()一位一位的从串口缓存区里读数据delay(10);if(val=='S')Sys_start();if(val=='T')Say_thanks();}}//系统已启动-语音提示
void Sys_start()
{//设置音量为20SendData(0x0a); //清空数字SendData(0x02); //音量20SendData(0x00);SendData(0x0c); //设置音量delay(2000); //延时//选取曲目1播放SendData(0x0a);//清空数字SendData(0x01);//曲目数字,对应00001.mp3SendData(0x0b);//选曲播放delay(2000);//开始播放//SendData(0x11);//开始播放//delay(2000);
}//谢谢使用-语音提示
void Say_thanks()
{//设置音量为20SendData(0x0a); //清空数字SendData(0x02); //音量20SendData(0x00);SendData(0x0c); //设置音量delay(2000); //延时//选取曲目2播放SendData(0x0a);//清空数字SendData(0x02);//曲目数字,对应00002.mp3SendData(0x0b);//选曲播放delay(2000);//开始播放//SendData(0x11);//开始播放,这部分可以没有//delay(2000);
}void SendData (char addr )//发送函数
{digitalWrite(pin,HIGH); /*开始拉高*/delayMicroseconds ( 1000 );digitalWrite(pin,LOW); /*开始引导码*/delayMicroseconds ( 3200 );/*此处延时最少要大于2ms*/for (int i = 0; i < 8; i++ ) /*总共8位数据 */{digitalWrite(pin,HIGH);if ( addr & 0x01 ) /*3:1表示数据位1,每个位用两个脉冲表示 */{delayMicroseconds ( 600 );digitalWrite(pin,LOW);delayMicroseconds ( 200 );}else /*1:3表示数据位0 ,每个位用两个脉冲表示 */{delayMicroseconds (200);digitalWrite(pin,LOW);delayMicroseconds ( 600 );}addr >>= 1;}digitalWrite(pin,HIGH);
}
实现的效果是通过串口输入不同的值选择不同的mp3播放。
相关资料
语音播报模块相关的语音合成软件和资料:
链接:https://pan.baidu.com/s/1q0tWEnxipMKokLdAQdNoUQ?pwd=sv4m
提取码:sv4m
–来自百度网盘超级会员V5的分享