一种适合于老人和儿童使用的LED台灯青岛经济技术开发区第一中学.docVIP

一种适合于老人和儿童使用的LED台灯青岛经济技术开发区第一中学.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种适合于老人和儿童使用的LED台灯青岛经济技术开发区第一中学.doc

一种适合于老人和儿童使用的LED台灯 青岛经济技术开发区第一中学 王晗宇 近几年语音控制技术的飞速发展为人们的生活带来了巨大的便利,无论是在工业生产还是在人们生活方面,语音控制技术已经发挥了巨大的作用,本作品即通过语音控制技术实现并完成制作了一台LED台灯,它能够实现上下摆动、左右旋转以及控制亮灭的功能,特别适合于家中的老人、儿童和上肢行动不便者使用。 本设计的基本工作原理如下:驻极体拾音器接收到语音信号后,将其转换为电信号传送至语音识别模块,在语音识别模块内部将语音信号与语音控制指令进行比对,若比对识别成功,则将语音控制指令传至单片机模块处理,单片机模块根据语音控制指令驱动执行模块做出相应的动作。 当语音说出“向左旋转”,“向右旋转”、“抬头”、“低头”等的时候,语音识别模块将驻极体拾音器接收到的这些语音信号进行识别,若识别成功,则将它们传到单片机模块,单片机模块根据语音控制指令分别驱动舵机做出相应的动作,实现台灯光照方向等的语音调节。 本作品的设计主要包括机械结构部分的设计与制作和台灯电路的设计和制作。 1、机械结构部分的设计与制作 机械结构部分包括底座、LED灯罩和连接支架,它们之间由执行模块相连。执行模块包括三个舵机,其中一个舵机用于控制台灯的左右旋转,另一个舵机用于控制台灯的上下摆动,用于控制台灯的左右旋转的舵机安装于底座上,用于控制台灯上下摆动的舵机安装于连接支架上。 舵机与的连接如图所示: (b) 图1 图1(a)是舵机与U型支架的连接背面示意图,图中舵机是用螺丝和舵机的多功能支架连在一起,然后舵机的齿轮插入到金属托盘里,金属托盘是通过螺丝和U型支架连接的,另外一侧由于U型架较小,直接将舵机的支架夹在里面,十分牢固,而且不会影响舵机的旋转。在可以看到,金属托盘通过四个螺丝和U型支架连在一起。 LED台灯电路包括电源模块、语音识别模块、单片机模块和LED 灯驱动模块,电源模块、驻极体话筒、单片机模块均安装于底座上,LED 灯驱动模块和语音识别模块安装于灯罩内。 语音识别模块采用ICRoute公司生产的语音识别芯片LD3320,该芯片不需要另外接任何辅助的Flash芯片,便可实现语音识别的功能。其内部已经预置了16位A/D转换器、D/A转换器和功放电路,配有麦克风的接口。LD3320应用电路如图2所示。 图2 LD3320应用电路图 单片机模块采用是STC系列单片机STC11L08XE。该单片机与各模块的连接如图3所示。 图3单片机连接示意图 硬件连接之后,对于单片机的主要操作其实是软件部分,对于本设计来讲,通过语音命令相对应地给I/O口输出PWM信号或者是高低电平来控制台灯是程序设计的关键。 首先根据舵机位置以及对应的PWM信号找到对应的语音控制命令,在语音控制模块和单片机在程序上确立联系,即当语音输入“左”时,语音模块对应的识别成功后,单片机向I/O口发送关于舵机左边位置的PWM信号,从而控制舵机左转。其他方向和控制以此类推。 舵机控制部分程序如下: void User_handle(uint8 dat) { //UARTSendByte(dat);/ unsigned int i = 30; switch(dat) { case CODE_KD: Led_test1(); CH0=1; break; case CODE_GD: Led_test1(); CH0=0; break; case CODE_UP: Led_test1(); while(i--) { CH1=1; delayx(4); CH1=0; delay(157); } break; case CODE_DOWN: Led_test1(); while(i--) { CH1=1; delayx(8); CH1=0; delay(153); } break; case CODE_L: Led_test1(); while(i--) { CH2=1; delayx(4); CH2=0; delayx(157); } break; case CODE_R: Led_test1(); w

文档评论(0)

wendang_12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档