基于LD3320语音识别模块 集成红外遥控功能实现家电控制
一、简介:
语音红外遥控模块模块支持以下功能:
语音转红外:根据语音识别结果发送红外遥控命令
语音转串口:根据语音识别结果,串口输出相应信息
语音IO控制:根据语音识别结果,控制IO输出高低电平或PWM信号
人机对话:根据语音识别结果,选择对应文字语音进行播放
串口转红外:接收串口指令,发送红外遥控命令
二 、硬件接口
1)USB232串口,支持串口下载程序(需要配合按键进入串口ISP)
2)USB读卡器接口,系统运行所需文件拷贝接口
3)wifi模块接口,推荐使用ESP826-01S 模块
4)用户按键:用户按键2兼有boot选择功能,系统上电前按下用户按键2,就可以进入串口ISP
5)语音播放扬声器,文本语音播放,播放内容使用文本设置修改
6)指示灯:显示系统运行状态
7)红外接收管:学习遥控器命令,数据保存到FLASH
8)红外发射管:读取FLASH数据,发送遥控命令
9)语音识别麦克:语音识别接口,语音识别内容使用文本设置修改
10)TTL串口:语音识别结果串口输出,输出内容使用文本设置修改
11)用户IO:8个用户IO,语音识别控制输出,输出电平使用文本设置修改
12)SW下载口(GND,RST,TCK(SWCLK),TMS(SWDIO))
三、系统文件
使用数据线连接电脑和usb读卡器接口,设备运行过程中按下用户按键2,就可进入U盘,三 个指示灯一次点亮。进入U盘后不响应其他命令(红外遥控等),U盘文件目录如下图
1)系统设置文件:
打开《systemset.txt》文件,如下图,根据每行的提示修改引号之间的内容。
2)系统剧本文件:
打开《keyword.txt》文件,如下图,根据每行的提示修改引号之间的内容。
1,引号(“ ”)之间的汉语拼音为语音识别内容,每个拼音中间有一个空格(空格文英文空格),每个识别句可以是单字,词组或短句,长度为不超过10个汉字或者79个字节的拼音串,
2,星号(* *)之间的内容为语音播报内容,当前面的拼音被识别成功后,播放该文本,长度为不超过100个汉字(包含标点)
3,单书名号(< >)之间的内容为红外命令,当前面的拼音被识别成功后,执行该命令,第一个数字为红外命令个数,最大为8个, 逗号后面为红外命令存储地址,每两个一组,范围00-FF,前后两个可以重复。
4,中括号([ ])之间的内容为IO控制命令,当前面的拼音被识别成功后,执行该命令,第一个数字为IO命令个数,最大为8个, 逗号后面为IO命令,每两个一组,每组第一个数字为IO编号,范围1-8,对应模块IO1-IO8,每组第二个数字为IO状态,用数字0和1表示,0表示低电平,1表示高电平。IO1-IO4可设置为PWM输出,每组第二个数字用数字2设置,例如“12”表示IO1PWM输出开启,周期频率单独文本设置,关掉PWM可以使用11,10设置为高低电平
5,井号(# #)之间的内容为串口输出字符串,当前面的拼音被识别成功后,串口输出该字符串,字符串长度不超过50个字符。
注意:最多50条剧本,识别口令为第一条剧本拼音。
3)、PWM输出设置文件:
打开《pwm_set.txt》文件,如下图,根据每行的提示修改引号之间的内容。
4)、wifi设置文件:
打开《wifiset.txt》文件,如下图1,根据每行的提示修改引号之间的内容。推荐使用ESP8266-1S模块,安装方向如下图2,按一下用户按键1,即可打开wifi,wifi设置成功后,会语音播放服务器IP地址。
三、红外遥控串口协议:(USB串口和TTL串口均支持,通信波特率固定为9600)
1)学习指令:起始针(固定为0xAA)+命令针(固定为0x10)+地址针(16bit,范围0x0000-0x01FF)+校验针(8bit)
校验针计算方法如下:
校验针=256-(起始针+命令针+地址针)%256
实例:学习红外遥控码并保存数据到指定地址0x0010:
校验针=256-(0xAA+0x10+0x0010)%256=256-0xCA%256=256-0xCA=0x36
AA10001036
AA + 10 + 0010 + 36
起始码+命令针+地址针+校验针
发送完上述指令后,按一下遥控器,即可学习红外遥控码并保存到地址0x0010
模块正确接收指令后,返回一个字符’T’,接收错误返回一个字符’F’
,执行完指令后,返回一个字符’D’
2)发送指令:起始针(固定为0xAA)+命令针(固定为0x20)+地址针(16bit,范围0x0000-0x01FF)+校验针(8bit)
校验针计算方法如下:
校验针=256-(起始针+命令针+地址针)%256
实例:学习红外遥控码并保存数据到指定地址0x0010:
校验针=256-(0xAA+0x20+0x0010)%256=256-0xDA%256=256-0xDA=0x26
AA20001026
AA +20 + 0010 + 26
起始码+命令针+地址针+校验针
发送完上述指令后,地址0010红外遥控数据会被发射出去
模块正确接收指令后,返回一个字符’T’,接收错误返回一个字符’F’
四、红外遥控串口上位机:(USB串口和TTL串口均支持)
上位机界面友好,内置红外协议,操作模块时不用考虑协议,简单方便。
1)使用USB串口或与串口模块连接TTL串口,插到电脑上使用串口上位机进行调试,串口上位机界面如下图:
步骤1:在1处输入正确的串口号并打开
步骤2:在2处输入操作模块的地址,注意地址范围
步骤3:在3处点击“红外学习”按钮后,使用红外遥控器对准模块,需要学习的遥控器按键;并观察4处的串口学习指令,红外学习完成后模块VD1指示灯点亮。
步骤4:在2处输入操作模块的地址已经进行过步骤3学习操作后,使用模块遥控发射头对准要遥控的设备,在5处点击“红外发射”按钮后;并观察4处合成的串口发射指令
2)串口上位机(虚拟按键)
串口上位机内置了6个虚拟按键,对应操作模块的地址0x0001-0x0006,具体使用步骤如下(如下图示):
步骤1:在1处输入正确的串口号并打开
步骤2:在2处点击“虚拟按键”切换进入虚拟按键
步骤3:在3处点击一个按键学习,对模块按一下遥控器按键让模块学习到遥控码;使用模块遥控发射头对准要遥控的设备,在4处点击同一个按键,发射遥控码。
五、语音红外遥控模块其他玩法
1)配合红外遥控插座,遥控不带红外的家电风扇、台灯等,演示视频链接如下:
https://v.qq.com/x/page/d3153vcp2n4.html
2)提供人机对话专用固件,支持二级文件跳转,识别指令最多支持2500条,剧本实例演示:唐诗300首点播,演示视频链接如下:
https://v.qq.com/x/page/f3153cr1ejq.html
六、系统采用文本系统,更多玩法可由用户自己定义。
七 购买链接
https://shop112289295.taobao.com/?spm=a1z09.1.sellercard.15.6d7c3606vpRKkO
八 版权声明:本文为CSDN博主sweettttttt的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
本文地址:https://blog.csdn.net/sweettttttt/article/details/108994631
上一篇: 类和对象部分知识总结