核心板还是随便在淘宝买的一款ESP32-S3-DevKitC-1,因为使用到了一些传感器,获取了一些数据,所以也需要一个语音模块帮助我播报。我选择的是JQ8900S。淘宝随便搜。我遇到的困难就是,根本不知道怎么让ESP32-S3去控制模块播报,今天终于突破了。TvT,真的有点子心酸。
模块如图所示:


1.首先是测试语音:
看到模块的USB口了不,注意不是Type-C的,是以前比较传统的梯形。
USB 数据线(注意需要可以传输数据)连接芯片,插上电脑,电脑会自动识别,如下图所示:
![]()
然后双击新盘,把要放置的声音拷贝过去即可。声音的话,可以找一些语音合成软件,这边不提供哈。
2.利用专门串口调试软件调试:
模块和usb转ttl连接在一起,电脑发送数据,测试模块是否可以正常使用。这边我没有接喇叭,喇叭不分正负,接在SPK-,SPK+即可。接线如图所示:
然后可以发送一些数据:

举个例子:
如果是需要播放,就用串口助手发送 AA 01 00 AB,如果有播放,那一切正常。
3.利用ESP32-S3,配合USB转TTL测试:
此处两条数据线都插在电脑上,尝试控制开发板用串口发送数据,然后用另一个com口接收数据。看是否有显示。如果有,那就把手动发送数据改成开发板自主发送数据,那就大功告成了。
1.引入库,因为我用的是原始的TX和RX,所以不需要别的库,如果你是硬件串口,需要额外添加:
如果是软件串口,需要额外下载zip库:网页搜索SoftwareSerialESP32 即可找到网友链接。
添加好库之后:
现在我用的是原始TX,RX,所以我只需要:
2.初始化:
其他串口,自行找初始化方法哦。
3.循环体:
这里的函数是我自己写的:
.Write()就是串口发送数据。
全部代码:
如果还需要什么功能,可以自己找模块说明书,找需要发送的数据。
测试了那么多个模块,我一直被一个问题困扰,那就是电平转换问题:
![]()
我所用的哪些模块,全都是5V供电,但是我使用5V是无论如何都没有用的。
这里的1,6.大概就是问题的所在。我用的ESP32-S3,IO口的电平都是3.3,虽然我搜索的是可以兼容5V但是还是不行。所以我把模块供电都改为3.3V,最后就成功了。

希望以后使用模块,可以注意这些问题,希望也可以解决大家的一些问题。
其实还有别的博主有发布关于JQ8900S模块的使用代码,但是我个人感觉都比较繁琐,就是他们大部分都是模拟了串口发送的过程,什么时候给高电平什么时候给低电平,但是我直接用的Write()函数,个人感觉方便,还易懂。
到此这篇esp32语音播报(esp32 语音)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/16725.html