打印

JQ6500语音模块使用详解

[复制链接]
1845|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jerow|  楼主 | 2020-3-30 21:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一:Note

今天分享一下最近用到的JQ6500语音模块,我主要是用它来做个语音播报功能,同时在使用中遇到的一些问题。


使用特权

评论回复
沙发
jerow|  楼主 | 2020-3-30 21:39 | 只看该作者
二:使用说明

这个模块一些什么使用场景的废话我就不讲了,主要讲一些比较重要的部分。
1、它的工作电压,这个点我觉得我还挺重要,因为在后面我使用的时候,发现有的时候语音出来是很短,一下就没了,后来发现是电压这里的问题


使用特权

评论回复
板凳
jerow|  楼主 | 2020-3-30 21:40 | 只看该作者
2、        实物图及原理图,新手刚拿到,就只能按照这个图来连线,对好个个引脚。

使用特权

评论回复
地板
jerow|  楼主 | 2020-3-30 21:44 | 只看该作者
本帖最后由 jerow 于 2020-3-30 21:46 编辑

3、通讯命令,它是支持异步串口通信,波特率9600,8位数据位,没有校验位,没有流控制,这里也要注意,在利用串口调试的时候,这些参数都要设置好,一旦有偏差都通信不了。调试的时候利用串口调试助手就可以,尤其注意一点,发送数据的时候,要勾选上以十六进制发送数据。




组合播放 :
连续发送【7E 04 03 00 01 EF】【7E 04 03 00 02 EF】【7E 04 03 00 03 EF】,则连续播放第一首、第二首、第三首,最多可以十首组合,播放完停止。


使用特权

评论回复
5
jerow|  楼主 | 2020-3-30 21:48 | 只看该作者
三:添加语音
拿到这个模块,当然需要是自己弄语音进去让他播放,这里就要使用到更新语音这个环节了。拿一根usb线,连接上模块的miniUSB口,注意,这里的USB线,我之前用的是那种充电宝的万能充电线,然后就一直不行,后来我换了一个单一的usb线就可以了,所以如果你的也是这样连接不上,可以试一下换一根USB线。然后你插上电脑,就可以了,就会出现以下情况




这样就可以了,先要下的进去语音,才能用串口调试一下各个指令。哦,对,还有一个合成语音软件,做语音播报一般都是合成自己需要的语音就可以,如果你需要,留言给我,我可以分享给你!



使用特权

评论回复
6
jerow|  楼主 | 2020-3-30 21:48 | 只看该作者
四:软件控制
我是用STM32实现的,用了一个串口,然后通过程序实现语音播放
void uart3_init(u32 bound){
  //GPIO端口设置
  GPIO_InitTypeDef GPIO_InitStructure;
  USART_InitTypeDef USART_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);        //使能USART3,GPIOB时钟
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
  
        //USART3_TX   GPIOB.10
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出
  GPIO_Init(GPIOB, &GPIO_InitStructure);
   
  //USART3_RX          GPIOB.11初始化
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
  GPIO_Init(GPIOB, &GPIO_InitStructure);  
   //USART 初始化设置

        USART_InitStructure.USART_BaudRate = bound;//串口波特率
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
        USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
        USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //收发模式

  USART_Init(USART3, &USART_InitStructure);
//  USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//开启串口接受中断
  USART_Cmd(USART3, ENABLE);                     

}

//音乐播放  7e 04 03 00 02 ef
void Play(u16 cmd)
{
                USART_SendData(USART3,0x7E);
                delay_ms(1);
                USART_SendData(USART3,0x04);
                delay_ms(1);
                USART_SendData(USART3,0x03);
                delay_ms(1);
                USART_SendData(USART3,0x00);
                delay_ms(1);
                USART_SendData(USART3,cmd);
                delay_ms(1);
                USART_SendData(USART3,0xEF);
                delay_ms(1);

}

使用特权

评论回复
7
jerow|  楼主 | 2020-3-30 21:49 | 只看该作者
五:总结
1、语音模块一般都要搭一个喇叭才能外放声音,我是接了一个0.5欧8w的喇叭,接在原理图spk那里。
2、更新语音插入无显示,尝试换一根usb线。
3、串口调发送数据以十六进制
4、出现语音断续,可能是电压的问题。

使用特权

评论回复
8
paotangsan| | 2020-4-7 14:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
renzheshengui| | 2020-4-7 14:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
10
wakayi| | 2020-4-7 14:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
wowu| | 2020-4-7 14:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
12
xiaoqizi| | 2020-4-7 14:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

520

帖子

3

粉丝