基于蓝牙耳机的语音控制玩具小车.docx
- 文档编号:28868129
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:36
- 大小:1.45MB
基于蓝牙耳机的语音控制玩具小车.docx
《基于蓝牙耳机的语音控制玩具小车.docx》由会员分享,可在线阅读,更多相关《基于蓝牙耳机的语音控制玩具小车.docx(36页珍藏版)》请在冰豆网上搜索。
基于蓝牙耳机的语音控制玩具小车
目录
摘要……………………………………………………………………..1
1引言…………………………………………………………………1
2正文………………………………………………………………....1
2.1蓝牙技术的基本原理和特点………………………………………1
2.2语音识别的基本原理……………………………………………….2
2.3基于蓝牙耳机的语音智能控制小车…………………………….....3
2.3.1系统结构框图………………………………………………..3
2.3.2蓝牙耳机与蓝牙适配器的通讯……………………….…….4
2.3.3语音识别软件的设计………………………………………..6
2.3.4USB转PT2262模块的开发流程……………………….......8
2.3.5无线接收PT2272、凌阳单片机放音、彩灯显示、电机驱动模块开发流程……………………………………………...11
2.3.6基于蓝牙耳机的语音智能控制小车实物图……………......13
3.结语……………………………………………………………………….14
参考文献……………………………………………………………….15
致谢…………………………………………………………………….16
附录一.....................................................................................................17
附录二.....................................................................................................18
附录三.....................................................................................................26
基于蓝牙耳机的语音控制玩具小车
摘要:
文章介绍了蓝牙技术的基本原理和特点以及语音识别的基本原理;重点讲述了基于蓝牙耳机的语音智能控制小车的开发。
关键词:
蓝牙、语音识别、智能小车
1.引言
目前,市场上各类玩具小车琳琅满目,传统的玩具小车只能通过手工操作。
然而人们总是希望最大限度的解放自己的双手,如果像科幻电影中那样需要帮忙时,跟机器人说一说他就立马照办,我们的小车能听懂人话;那么拥有这样一款高科技的智能玩具小车将对儿童不仅是强大的吸引力,更是有利于提高他们的无限想象空间。
基于蓝牙耳机的语音控制玩具小车最大的特点就是“非常听话”。
玩家只要戴上小巧、时尚的蓝牙耳机发布语音指令就可以控制小车的前进、后退、左转、右转等,同时小车会发出绚丽的彩光和清脆悦耳的音乐,使人仿佛进入一个奇妙的科幻世界。
本系统的操作非常简单,您只需用语言与我们的小车“交流”,就可以让它非常听话的接受指挥。
当前市场上还没有一种玩具小车可以实现语音智能控制,基于蓝牙耳机的语音控制玩具小车的出现必将会带来一场玩具市场语音智能化的风暴,带领让我们进入语音控制的科幻世界。
有理由相信,在不远的将来我们的身边将充满各种各样语音智能控制的玩具、家用电器、汽车、飞行器......
2.正文
2.1蓝牙技术的基本原理和特点
(1)蓝牙技术概述:
在家里,计算机后面一大堆长长短短的线连接着大大小小的外设—打印机、扫描仪、Modem、音箱、游戏杆等,且还有更多的东西要随时连上去,如数码相机要存照片,Mp3播放器要交换文件,掌上电脑要进行文件同步等。
此外,高速接入设备越来越普及,如ISDN、ADSL、CableModem。
面对着多部电话、多个上网设备,总不能搬着跑来跑去,也不能一下买好几套接入设备吧?
因此需要无线网络标准,目前的家庭无线网络技术主要有IEEE802.11、HomeRF和蓝牙三种。
在速度上,IEEE802.11b占优势,它的较快速度可允许人们连接5台以上的PC,传送更大的文件和图形,并可在整个家庭网络上分发视频和声频。
是一种应用于高端的WLAN技术。
因为IEEE802.11b提供的高带宽,是以将数据分割为TCP/IP包为代价的,这样会对“流式媒体”的播放产生不好的影响。
HomeRF标准在传送音乐、声音以及影像数据方面有优势,不存在牺牲质量的问题。
与上面两种技术不同,蓝牙技术具有一整套全新的协议,可以应用于更多的场合。
蓝牙技术中的跳频更快,在接收或发送一个分组数据后,即跳至另一频点,因而更加稳定,同时它还具有低功耗、低成本和灵活安全等特点。
另外,蓝牙所采用的前向纠错技术更是限制了较长距离链路的无序噪声影响,而经优化的编码方式可使蓝牙技术应用于各种恶劣的无线环境。
(2)蓝牙技术特点:
虽然现在蓝牙技术还不能说尽善尽美,但它的优势已经相当明显。
有专家认为:
也许蓝牙技术才可以真正实现廉价的无线网络梦想。
蓝牙将成为一种廉价、低复杂度、高可靠性的无线接口技术。
蓝牙技术中最关键的是低复杂度,它使得系统的集成度大大提高,从而有利于大幅度降低产品成本,更快进入消费市场。
(3)正是基于蓝牙技术的兼容性强、可靠性高、功耗小、支持音频信号的特点,本系统采用它作为语音无线传输的载体。
图1蓝牙协议栈
2.2语音识别的基本原理
语音技术相对其它计算机技术而言,是一门还很年轻的计算机技术。
语音技术研究在很早就有了,在1995年后个人计算机的计算和处理功能更加强大后逐步开始有一些应用。
而今天语音技术在不知不觉中开始逐步走入了我们的生活,比如我们今天使用的中国移动电话客户服务系统实际上就是一个语音系统在我们生活中的应用。
语音识别是处理自然语言到数据的转换,语音识别技术也可以称Speech-to-Text的识别。
语音识别系统的处理过程首先是用户通过语音输入设备(比如麦克风)输入语音信号,然后通过语音接收卡(一般为声卡)接收语音数据转化为数字信号传入语音识别引擎进行处理,语音识别引擎处理完成后交给相关逻辑程序去处理相关应用。
在微软公司Speech平台中语音识别主要分为两步完成,第一步是完成语音数据到计算机数据的转换;第二步是需要语义分析关于计算机数据中信息的意思。
Speech平台对于语义分析使用的是一种XML语言的扩展,SemanticMarkupLanguage(SML)(标记性语义语言)。
本系统的语音识别技术是基于MicrosoftSpeechSDK开发出来的语音识别软件,该软件很出色的完成了系统的语音识别任务,是实现小车听从指挥的前提。
2.3基于蓝牙耳机的语音智能控制小车
2.3.1系统结构框图:
图2系统结构框图
本系统是蓝牙耳机、语音识别技术和凌阳单片机控制的一个完美结合。
以语音识别技术为核心,充分发挥了蓝牙耳机小巧、便捷、低功耗的无线语音通讯的特点和凌阳单片机流水灯控制与语音播放的特色。
本系统主要由蓝牙耳机,蓝牙适配器,USB转PT2262发射模块电路,PT2272接收模块电路,主机语音识别软件,语音输出,小车车体及电机驱动电路等组成。
使用时把蓝牙适配器、USB转PT2262发射模块插入主机中,拨动小车上的开关,运行主机上的语音识别软件,玩家带上蓝牙耳机就可以对小车发布语音指令。
小车会听从指令进行动作同时发出绚丽的彩光和清脆悦耳的音乐。
基于蓝牙耳机的语音控制玩具小车基本原理:
玩家佩戴着蓝牙耳机发布语音指令,蓝牙适配器接收到语音指令并传送至主机,主机上运行的语音识别软件自动对语音指令进行识别处理,处理结果通过USB连接线传给USB转PT2262发射电路,PT2272接收电路接收到控制指令并传给电机驱动电路和小车彩灯与声音输出控制电路,电机驱动电路控制车体上的前后转电机和左右转电机,彩灯与声音输出控制电路控制车体上的彩灯和扬声器,从而控制小车前、后、左、右等动作,同时发出绚丽的彩光和清脆悦耳的音乐。
2.3.2蓝牙耳机与蓝牙适配器的通讯:
(1)蓝牙适配器驱动程序的安装:
蓝牙适配器插入PC机,并将适配器驱动程序光盘插入光驱。
点击“autorun.exe”运行安装程序。
如下图3界面,点击“SETUPWINDOWSBluetoothDriver.根据安装向导即可轻松完成驱动程序的安装。
图3蓝牙适配器驱动程序安装界面
(2)蓝牙耳机与蓝牙适配器的连接:
运行蓝牙应用程序(
(1)产生的可运行软件,蓝牙适配器必须插入主机),点击查看》刷新设备,长按蓝牙耳机中的电源按钮至蓝灯保持亮的状态。
此时,PC机的蓝牙程序搜索到这个蓝牙耳机设备,同时显示一个图标。
输入蓝牙默认口令0000点击确定。
这就实现了蓝牙耳机和蓝牙适配器的配对,但此时两者并没有正真的连接。
在图标上方点击鼠标右键》连接》蓝牙耳机服务,这时蓝牙耳机和适配器已经连接完毕。
图4蓝牙应用程序界面
图5蓝牙耳机与蓝牙适配器的配对
图6蓝牙耳机与蓝牙适配器完成语音连接
2.3.3语音识别软件的设计
(1)软件结构
图7语音识别软件结构图
软件运行,Main程序载入CmdCtrl.xml文件。
当蓝牙适配器将语音信号输入主机时,Main程序就获得了语音资源,同时调用SAPI中的函数库对语音信号进行对比。
如果语音信号与CmdCtrl.xml文件中的元素匹配,那么语音识别完成,根据“协议”将识别结果转换为0~4的一个字节的数据,例如0代表前进,1代表后退,2代表左转,3代表右转,4代表刹车。
然后将这个数据通过USB通讯写入USB转PT2262模块。
(2)XML文件
XML(eXtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。
Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。
在本软件中XML文件主要用于添加语言素材和语言指令,主程序装载该文件进行语言识别。
具体用法参见SAPI帮助文档。
CmdCtrl.xml源文件参见附录一。
(3)语音识别软件程序框图和部分程序代码
主机进行语言识别,将识别结果显示在主界面上。
然后定义一个两字节的数据,根据识别的结果对该数据的第二字节进行相应的赋值。
最后将该数据写入到USB设备即USB转PT2262模块
图8语音识别软件程序框图
鉴于篇幅有限,程序源代码无法提供,语音识别软件程序主要代码详见附录二。
图9语音识别软件界面
2.3.4USB转PT2262模块的开发流程:
(1)硬件结构图:
本系统的USB转PT2262模块是一个USB设备,主要由USB模组(含USB接口电路、USB收发器、USBSIE接口电路),凌阳单片机(实现USB协议),PT2262芯片(实现无线通讯编码调制),无线发射模块组成。
主要原理:
主机的控制指令根据USB协议,通过USB线传送至凌阳单片机,凌阳单片机获得控制指令通过I/O线传送给PT2262编码,最后经无线发射电路发送出去。
USB模块的作用是实现主机与凌阳单片机USB通讯的物理层协议。
图10USB转PT2262硬件结构图
(2)USB转PT2262的对象模型:
在USB转PT2262对象模型中语音识别软件是USB通讯的客户应用软件,PT2262无线通讯是USB通讯实现的功能。
由于底层的USB提供的服务,所以语音识别软件与PT2262无线通讯存在着一个虚拟的连接。
图11.USB转PT2262模块的对象模型图
(3)凌阳单片机固件程序框图和USB通讯主函数:
主机通过USB线将Senddata数据发送到凌阳单片机,单片机根据数据的值,对IOA口写二进制数据。
IOA口连接了PT2262无线发射模块,最终将控制指令发送出去。
图12凌阳单片机固件程序框图
USB转PT2262模块凌阳单片机固件源程序详见附录三
(4)USB模组
图13USB接口模组结构图与实物图
USB接口模组的JP1接口将PDIUSBD12的数据线(D0~D7)、控制线(INT_N、RESET_N、CS_N、ALE、WR_N、RD_N)、电源线(VCC、GND)引出,方便开发者使用USB接口模组与各种型号的MCU连接;PDIUSBD12芯片,用于完成USB接口的所有硬件功能;电容的作用是完成PDIUSBD12芯片的上电复位;晶振供PDIUSBD12芯片使用;L1~L4磁珠起抗干扰作用,保证数据传输的正确;USB接口完成设备之间的连接;指示灯在USB接口模组枚举成功是点亮,在传递数据的时候闪烁;J5是接地,同时起到固定作用;电源跳线用来改变USB接口模组的供电方式,或者改变外设的供电方式。
图14USB模组与凌阳单片机最小系统板连线示意图软件说明
(5)USB转PT2262模块PCB电路图:
图15USB转PT2262模块PCB电路图
2.3.5无线接收PT2272、凌阳单片机放音、彩灯显示、电机驱动模块开发流程:
(1)硬件结构图:
图16小车硬件结构图:
无线接收模块电路接收到无线信号(经过PT2262调制的信号),经过PT2272解调获得主机发送的控制指令信息,该控制信息是一组四位二进制编码,如0001表示前进,0010表示后退等。
由于PT2272芯片的带负载能力有限,如果直接与电机驱动模块和凌阳单片机相连接将使得无线接收距离变短甚至无法接收到PT2262发射出的信号,所以我们加入了一个运放芯片。
(4)凌阳单片机放音、彩灯显示的程序设计
图17凌阳单片机放音、彩灯显示的程序框图
控制信号经运放输入凌阳单片机的IOA口,单片机的CPU循环扫描IOA口状态,判断出IOA口数据。
根据“协议”0000代表刹车,熄灭所有彩灯;0001代表前进,放0#音乐及显示0#彩灯方案;0101代表前进+左转、0110代表后退+左转(“协议”规定:
前左和后左都属于左转,所以放同一种音乐和显示同一种彩灯方案),放2#音乐及显示2#彩灯方案.…..
(5)无线接收PT2272、凌阳单片机放音、彩灯显示、电机驱动模块PCB电路图
图18凌阳单片机放音程序框图
2.3.6基于蓝牙耳机的语音智能控制小车实物图:
图19小车实物图
3.结语
基于蓝牙耳机的语音控制玩具小车充分发挥了蓝牙技术的通讯兼容性能、可靠性高、功耗小的特点,同时结合了语音识别技术,实现了智能控制的完美效果,它集合语音智能控制、美妙声乐、炫丽光彩于一身,控制自如,声乐光彩美轮美奂,是一款极具吸引力的玩具小车!
。
基于蓝牙耳机的语音控制玩具小车是一个涉及了蓝牙通讯,USB通讯,无线电通信,单片机控制,语言识别编程,电机驱动电路等的综合系统。
上述多项电路和软件具有相当的挑战性。
在完成基于蓝牙耳机的语音控制玩具小车的过程中,我得到了很多启发,也深刻体会和理解了团队精神的重要性,同时也注意到本系统还有许多要改进的空间。
例如,将语音识别技术运用于家居系统,实现语音智能控制家居等。
语音智能控制家居模拟板是一个模拟语音控制家用电器的模拟软件。
通过对蓝牙耳机输入语音指令可以对灯、电饭煲、洗衣机、留言机进行控制。
原理与基于蓝牙耳机的语音控制玩具小车类似,我们只需用语音就可以同家用电器“交流”。
图20语音控制智能家居模拟板程序运行界面
参考文献
[1].庄奕琪著,蓝牙-------梦想与现实,北京:
机械工业出版社,2002
[2].钱鸿志著,蓝牙技术原理,开发与应用,北京:
北京航空航天大学出版社,2006
[3].彭宣戈著,16位单片机原理及应用,北京:
北京航空航天大学出版社,2006
[4].罗亚菲著,凌阳16位单片机应用基础,北京:
北京航空航天大学出版社,2005
[5].康华光等.电子技术基础模拟部分(第四版).高等教育出版社.1998
[6].康华光等.电子技术基础数字部分(第四版).高等教育出版社.1998
[7].江思敏,陈明编著.Protel电路设计教程[M].北京:
清华大学出版社,2006
[8].余家春,Protel99SE电路设计使用教程[M].北京:
中国铁路出版社,2004
[9].张友德等.单片微型机原理、应用与实验[M].上海:
复旦大学出版社,2002
[10].陈继辉等译.C语言嵌入式系统开发[M].北京:
中国电力出版社,2003
[11].Microsoft®SpeechSDK5.1sapi.chm
致谢
在论文完成之际,我要特别感谢我的指导老师程东方老师的热情关怀和悉心指导。
在整个系统的设计、开发过程中,程老师倾注了大量的心血和汗水,无论是在系统构思和资料收集方面,还是在研究方法方面,我都得到了程老师悉心细致的教诲和无私的帮助,特别是他严谨的治学精神使我终生受益,在此表示真诚地感谢和深深的谢意。
整个系统的顺利完成,也得到了许多同学的宝贵意见,感谢所有关心、支持、帮助过我的良师益友。
在此,还要感谢学校举办的三小制作大赛,它给了我们一个展现自己创意的舞台,让我们有机会把理论运用于实际,极大地提高了实践动手能力。
同时获得了丰富的理论知识和综合运用所学知识,发现,提出,分析和解决问题的能力。
从三小竞赛中获得的宝贵经验,使我受益匪浅。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位专家表示衷心地感谢!
附录一.CmdCtrl.xml源文件
xmlversion="1.0"?
>
前进
后退
左转
右转
刹车
附录二.语音识别软件程序主要代码
VoidCMainDlg:
:
OnRecoEvent(WPARAMwParam,LPARAMlParam)
{
USES_CONVERSION;
CSpEventevent;
HRESULThr=S_OK;
if(m_SREngine.m_cpRecoContext)
{
while(event.GetFrom(m_SREngine.m_cpRecoContext)==S_OK)
{
//GettheID
switch(event.eEventId)
{
caseSPEI_FALSE_RECOGNITION:
break;
caseSPEI_HYPOTHESIS:
caseSPEI_RECOGNITION:
{
CComPtr
CSpDynamicStringdstrText;
CStringstrResult;
cpResult=event.RecoResult();
{
cpResult->GetText(SP_GETWHOLEPHRASE,SP_GETWHOLEPHRASE,TRUE,&dstrText,NULL);
}
strResult=W2T(dstrText);
if(strResult==CString("前进"))//判断识别结果是否是“前进”
{
m_RecieveData="前进";//主界面显示“前进”
UpdateData(FALSE);
Qianjin();//调用“前进”处理函数
}
elseif(strResult==CString("后退"))//判断识别结果是否是“后退”
{
m_RecieveData="后退";//主界面显示“后退”
UpdateData(FALSE);
Houtui();//调用“后退”处理函数
}
elseif(strResult==CString("左转"))//判断识别结果是否是“左转”
{
m_RecieveData="左转";//主界面显示“左转”
UpdateData(FALSE);
Zuozhuan();//调用“左转”处理函数
}
elseif(strResult==CString("右转"))//判断识别结果是否是“右转”
{
m_RecieveData="右转";//主界面显示“右转”
UpdateData(FALSE);
Youzhuan();//调用“右转”处理函数
}
elseif(strResult==CString("刹车"))//判断识别结果是否是“刹车”
{
m_RecieveData="刹车";//主界面显示“刹车”
UpdateData(FALSE);
Ting();//调用“刹车”处理函数
}
cpResult.Release();
}
break;
default:
break;
}
}
}
}
BOOLCMainDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//TODO:
Addextrainitializationhere
HRESULThr=m_SREngine.InitializeSapi(this->GetSafeHwnd(),WM_RECOEVENT);
if(FAILED(hr))
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 蓝牙 耳机 语音 控制 玩具 小车