说道作品的互动性,有什么能比语音控制更加炫酷呢?

今天介绍一款免编程非特定人声, 串口 语音识别模块LD3320

智能语音控制系统 语音控制模块(1)

接线图:

智能语音控制系统 语音控制模块(2)

调试:TXD/RXD通过串口模块连接电脑,将麦克风连接模块。打开上位机串口调试软件,

智能语音控制系统 语音控制模块(3)

 上电时观察识别模块上的电源指示灯(红灯)常亮。若不亮,请立即断电,并

仔细检查电源连接是否有错误;

 把识别模块放到桌上(身体任何部位不要接触模块电路板,线和麦克风),说

话人距离MIC 大概30 至50 公分;

 说“左转”,模块上的识别指示灯(绿灯)会快闪1 次,表示识别正常,并且

上位机软件得到相应的返回值“00”;

 说“右转”,ICR 指示灯也快闪1 次,并得到返回值“01”。如下图所示。

智能语音控制系统 语音控制模块(4)

我们可以通过单片机来完成语音指令的执行。

智能语音控制系统 语音控制模块(5)

void setup(){ Serial.begin(9600); pinMode(13,OUTPUT); } void loop(){ if(Serial.available()){ int inByte = Serial.read(); switch(inByte) { case 0x00: digitalWrite(13, HIGH); break; case 0x01: digitalWrite(13, LOW); break; } } }

是不是很简单?

那么指令如何设置呢?

上位机发送给模块的所有命令和数据都需要用“命令”方式进行封装后传输。命令

结构由命令起始符,命令,动作分隔符,动作和命令结束符五部分组成,其中,动作分

隔符,动作可选。

 每条命令以{ 开头,以 } 结束,命令起始符{和命令结束符}不占空间;

 命令字,命令参数,各占1 字节;

 命令内容如果为识别语句(汉语拼音),则每个完整拼音文字占2 字节,最多

不超过9 个字(比如:ni jiao shen me ming zi 是6 个字)。如果是其他内

容,每字符占1 字节;

 命令内容的汉语拼音前后与命令起始符、结束符和间隔符间均不能出现空格,

拼音与拼音间只能有一个空格,必须保证拼音的拼写规范准确,不符合拼写规

则的拼音将使语句表无法加载;

 动作分隔符|,动作字,动作参数,各占1 个字节;

 动作内容每字符占一个字节;

 动作内容可包含数字“0~9”,字母“a~z,A~Z”及下划线等;

 动作内容中不可出现命令起始符“{”,命令结束符“}”,命令分隔符

“|”。

智能语音控制系统 语音控制模块(6)

智能语音控制系统 语音控制模块(7)

该模块有一套专用的上位机程序

先按测试的条件连接电脑和模块,

启动上位机软件、

智能语音控制系统 语音控制模块(8)

A.打开调试模式:{d1}

首先打开模块调试模式,这样就可以看到模块执行命令的结果。在上位机软件上输

入命令“{d1}”,点发送,上位机软件会显示返回值“D” (Done,表示命令完成)。如

智能语音控制系统 语音控制模块(9)

清除原有语句表:{c0}

在上位机软件上输入命令“{c0}”,点发送,即可将模块上所有的语音指令全部清

除掉。如图:

智能语音控制系统 语音控制模块(10)

清空语句表后,如果模块再次加载语句表,将出现加载失败,模块绿灯不停闪烁,并得在

{d1}模式不断的返回“0”,表示加载语句表失败,直到添加了任意一条正确的语句为止。

C.添加识别指令:{a0 ...}

现在给模块添加一条识别语句。以“你好”为例,在上位机软件输入“{a0ni hao}”,

点发送,如果添加成功,模块会反回“DA D”,表示接受了命令并且完成写入。如图:

智能语音控制系统 语音控制模块(11)

继续在上位机软件上输入命令“{a0zai jian}”,点发送,如果添加成功,模块会

反回“DA D”,表示接受了命令并且完成写入。如图:

智能语音控制系统 语音控制模块(12)

D.测试识别结果

按下图重新设置上位机软件的选项:

智能语音控制系统 语音控制模块(13)

前面我们添加了“你好”“再见”两条语句,现在我们对着MIC 说“你好”,会得到

相应返回值“FF 00 FF”,然后对着MIC 说“再见”会得到另一个返回值“FF 01 FF”,

如图:

智能语音控制系统 语音控制模块(14)

E.关闭调试模式:{d0}

在上位机软件上输入命令“{d0}”,点发送就可以关闭调试模式,如图:

智能语音控制系统 语音控制模块(15)

关闭调试模式后,模块的识别结果将恢复正常,不再出现标记符FF。现在再测试

一下识别语句,对着MIC 说“你好”,“再见”,返回值前后不再有FF,模块进入正常工

作状态。如图:

智能语音控制系统 语音控制模块(16)

注意事项:千万不要在机械作品上用这个模块,因为机械运动产生的噪音,会让该模块不停的识别语音,反倒无法识别你发送的命令了。适于用在比较安静的作品上。

,