基于单片机的无线遥控教鞭的设计
2011-02-28罗星华张碧锋
罗星华,张碧锋
(1.西北工业大学,陕西 西安 710072;2.空军驻广深地区军事代表室,广东 广州 510310)
传统教学中,教师以黑板和粉笔为最主要的教学用具,这种教学手段单一,课堂效率低,不能激起学生学习的兴趣。多媒体辅助教学模式的兴起,弥补了传统教学的不足,在实际操作中教师在进行多媒体演示时,要不时地进行鼠标操作,使之不得不中断与学生的互动。无线遥控教鞭是一个很好的解决方案[1]。
1 系统框架
整个系统由发射电路、接收电路和计算机软件三部分组成。发射部分,即手持教鞭部分,以日本NEC的uPD6121G为控制核心。首先,当按下按键后,扫描键盘得到遥控码,不同的键值对应不同的编码信息,此键值信息代表着向计算机中演示的软件PowerPoint发送的控制命令,然后将此编码信息经调制后由红外发光管向外发射。接收部分的控制核心为TI公司推出的低功耗MSP430单片机,主要完成发射端传送来的红外调制信息的接收和解码操作,将解析出的控制命令信息经串口转USB接口传送至计算机,此硬件模块可直接插在计算机的USB接口中,直接由USB接口供电;计算机中的上位机软件采用C#编写,使用Microsoft Studio 2005自带的SerialPort组件。SerialPort对象接收到数据时,将在辅助线程上引发DataReceived事件。处理此事件,得到从串口发送来的控制命令数据信息,实现控制多媒体演示软件PowerPoint的目的。系统框架如图1所示。
2 硬件系统
2.1 红外遥控发射模块
通用红外遥控发射电路由编/解码专用集成电路芯片uPD6121G进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器等部分。电路原理图如图2所示。
日本NEC公司的uPD6121G组成发射电路的编码原理描述如下,当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同,具有以下特征:采用脉宽调制的串行码,以脉宽为 0.565 ms、间隔 0.56 ms、周期为1.125 ms的组合表示二进制的“0”;以脉宽为 0.565 ms、间隔1.685ms、周期为2.25 ms的组合表示二进制的“1”[2],其波形如图 3所示。
上述“0”和“1”组成的 32 bit二进制码,经 38 kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图4所示。
由图可知,遥控编码是连续的32 bit二进制码组,其中前16 bit为用户地址和地址反码,防止不同机型互相干扰,后16 bit为用户操作码和操作反码,也可以称为功能码[3]。本次设计就采用此种红外遥控。
2.2 红外遥控接收模块
接收电路使用一体化红外接收头HS0038,接收红外信号频率为38 kHz,接收距离可达35 m。它能将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。其与单片机连接原理图如图5所示,由单片机采集红外遥控命令并在内部完成解码工作。
图5 单片机与红外接收电路
2.3 基于PL2302的串口转USB接口模块
由于RS232标准串行接口已逐渐在电脑主板中淘汰,为了充分利用USB接口即插即用的特点,本设计采用了PL2303芯片实现了RS232与USB接口的转换,省去了RS232电平以TTL电平的装换。用PL2303实现的USB转串口的电路如图6所示。
3 软件系统
3.1 单片机系统软件
单片机采用TI的低功耗MSP430F149为控制核心,其主要功能是解码红外遥控器发送来的信号和驱动液晶显示。其中解码红外遥控信号是实现本设计的关键,红外接收电路的信号输出接到单片机的外部中断0上,当单片机接收到信号后进入中断函数,首先判断是否为引导码,如果是则进入解码程序,否则丢弃。解码程序通过精确的延时函数,判断每个发送过来的每一位为0还是 1,并把数据保存到 date数组中,其中 date[0]保存地址码,date[1]中保存地址反码,date[2]中保存数据码,date[3]保存数据反码。解码的流程图如图7所示。
3.2 上位机软件
上位机软件采用C#编写,使用Microsoft Studio 2005自带的SerialPort组件。SerialPort对象接收到数据时,将在辅助线程上引发 DataReceived事件。处理此事件,得到从串口发送来的数据,并给计算机发送相应的命令。本软件界面人性化,用户在设置过程中有简单的操作提示,使得人机对话更为简单,当设置完成后可以让程序隐藏到后台运行。小软件还有漂亮的皮肤界面,上位机软件截图和软件的工作流程如图8所示。
图7 系统软件流程图
本设计以MSP430F149单片机为控制核心,所设计的遥控教鞭功耗低,仅须两节电池供电;命令接收采用USB接口,其供电可直接通过计算机取电。工作时,只要打开控制软件和PPT演示软件,其操作就可通过手执部分随意控制,可方便地应用于教学、会议室等需演示的场合。
[1]郭平平,崔志琴.基于PPT演示的无线放映控制器设计[J].电子测试,2010(5):77-80,85.
[2]李泽光.基于单片机的红外遥控器解码器的设计[J].现代电子技术,2007,30(9):36-37.
[3]翟祥林,王景成.红外遥控在嵌入式系统中的实现[J].微型电脑应用,2010,26(5).
[4]陈佛敏,潘春华,吕洋波,著.C#程序设计简明教程[M].北京:人民邮电出版社,2008.
[5]周峰.Visual C#.NET 2005中文版基础与实践教程[M].北京:电子工业出版社,2007.
[6]HOFFMAN K,KRUGER L.C#.NET技术内幕[M].董梁,高猛,译.北京:清华大学出版社,2006.
[7]胡大可.MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[8]沈建华,杨艳琴,翟晓曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.
[9]芯片数据库.VS1003英文资料[EB/OL].http://www.21 icsearch.com/s_VS1003.html.
[10]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.