syn6288(语音模块SYN6288「终于解决」)

发布时间:2025-12-10 19:16:32 浏览次数:4

语音模块SYN6288「终于解决」-syn6288语音模块的工作原理

语音模块SYN6288「终于解决」用到了SYN6288,如图:syn6288这个模块可以播报中英文,它和单片机的连接走的是串口通信,串口发送包含声音内容的GB2312编码,模块播放声音。接线:VCC、GND接对应,TX、RX反接。程序:voidspeech(){unsignedchari=0;unsignedcharhead[46];//声音内容:早上好,现在是北京时间九点半,努力学习呀head[0]=0xFD;head[1]=0x00;head[2]=0x2B.

用到了SYN6288,如图:

这里我们讲的是语音播报模块,它的功能是播放声音,之后我会在更新语音识别的demo。本实验使用的是mega2560,之后会更新stm32、esp32/esp8266,其实原理都是相通的。

我们需要通过软件把自己想要播放的文字转成16进制,然后添加到代码里就好。

syn6288这个模块可以播报中英文,它和单片机的连接走的是串口通信,串口发送包含声音内容的GB2312编码,模块播放声音。

接线:VCC 、GND接对应,TX、RX反接。

程序:

void speech(){  unsigned char i = 0;  unsigned char head[46];//声音内容:早上好,现在是北京时间九点半,努力学习呀  head[0] = 0xFD;  head[1] = 0x00;  head[2] = 0x2B;  head[3] = 0x01;  head[4] = 0x00;  head[5] = 0xD4;  head[6] = 0xE7;  head[7] = 0xC9;  head[8] = 0xCF;  head[9] = 0xBA;  head[10] = 0xC3;  head[11] = 0xA3;  head[12] = 0xAC;  head[13] = 0xCF;  head[14] = 0xD6;  head[15] = 0xD4;  head[16] = 0xDA;  head[17] = 0xCA;  head[18] = 0xC7;  head[19] = 0xB1;  head[20] = 0xB1;  head[21] = 0xBE;  head[22] = 0xA9;  head[23] = 0xCA;  head[24] = 0xB1;  head[25] = 0xBC;  head[26] = 0xE4;  head[27] = 0xBE;  head[28] = 0xC5;  head[29] = 0xB5;  head[30] = 0xE3;  head[31] = 0xB0;  head[32] = 0xEB;  head[33] = 0xA3;  head[34] = 0xAC;  head[35] = 0xC5;  head[36] = 0xAC;  head[37] = 0xC1;  head[38] = 0xA6;  head[39] = 0xD1;  head[40] = 0xA7;  head[41] = 0xCF;  head[42] = 0xB0;  head[43] = 0xD1;  head[44] = 0xBD;  head[45] = 0xA8;  for(i=0; i<46; i++){    Serial.write(head[i]);  }}void setup() {  Serial.begin(9600);}void loop() {  speech();  delay(10000);}

是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!

为防止网络爬虫,请关注公众号回复”口令”

激活idea 激活CLion DataGrip DataSpell dotCover dotMemory dotTrace GoLand PhpStorm PyCharm ReSharper ReShaC++ Rider RubyMine WebStorm 全家桶 刷新

【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…

声音编码的生成我用到的是函数语音生成器,可以搜一下。

效果:

语音示例1

我们掌握了以上知识,可以扩展一下,我们联系生活,进入超市时候会有个语音播报并打开小栅栏,这个功能,它用到了红外、语音播报、可能还有一个电磁锁控制开门。我们可以做一个简单地红外出发语音播报,就是有客人来的语音提示。

注意:这时你需要一个红外传感器(光电开关),或者一个什么感应模块,来判断是否有人。

我用的是光电开关,如下:

光电开关连线: 棕色接VCC,蓝色接GND,黑色接5引脚,我用的mega2560,大家可以换别的单片机,思路是通的,代码换个引脚就行。

代码如下:

void speech(){  unsigned char i = 0;  unsigned char head[20];//语音内容:您好,欢迎光临  head[0] = 0xFD;  head[1] = 0x00;  head[2] = 0x11;  head[3] = 0x01;  head[4] = 0x00;  head[5] = 0xC4;  head[6] = 0xFA;  head[7] = 0xBA;  head[8] = 0xC3;  head[9] = 0xA3;  head[10] = 0xAC;  head[11] = 0xBB;  head[12] = 0xB6;    head[13] = 0xD3;  head[14] = 0xAD;  head[15] = 0xB9;  head[16] = 0xE2;  head[17] = 0xC1;  head[18] = 0xD9;  head[19] = 0x95;  for(i=0; i<20; i++){    Serial.write(head[i]);  }} void setup() {  Serial.begin(9600);}void loop() {   if (digitalRead(5) == LOW) {  speech();  delay(1000);   }}

效果:

红外触发语音播报

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477