1、红外线电脑遥控器制作方法及原理现在的电视卡都带有配套的遥控器并在卡上集成接收器,可以实现遥控换台以及一些其他的电视/电脑操作,但是,难道没有电视卡的朋友就无缘遥控了吗?电脑遥控接收器电路及制作其实,自制一个电脑遥控接收器,是非常容易的。首先,我们制作的电脑遥控器必须使用红外方式的(不能是射频的遥控器),一般电视、影碟机的遥控器都可以使用,如果手头没有闲置的遥控器,可以到小商品市场购买,一般的电视机遥控器即可,售价在十几元。注意,不要使用空调的遥控器,尽管它也是红外发射的,但是每次按键后,它都会把空调当前所有状态(模式、温度、风速、风向)发送一遍,导致每次发送的码串很长,会导致软件辨识错误。经过
2、比较,我们选择了 Girder(v3.3.7)这个遥控软件,它功能全面,而且支持外挂插件,以支持新的遥控接收器和新的操作,从功能上可以说是“只有想不到,没有做不到“。除了日常操作,此外在幻灯片展示时如果运用遥控器,可以把演讲者从计算机旁边解放出来,从而与观众进行更加灵活亲近的互动,达到更好的展示效果。图 1 电脑遥控接收器电路我们的遥控接收器的电路方案取自 Girder 的第三方插件:“SFH-56 plugin for Girder“。该电路图(图一)简单到只有六个元件,而且可以直接去掉发光二极管(电源指示灯)和 100保护电阻以进一步简化电路。主要元件有 HS0038A 红外遥控接收头、5
3、V 稳压管(1/4W )、发光二极管、9 针串口插头、电阻(3.3K 和 100各一)、电解电容( 0.1F,10V 以上)、万能印刷电路板、线材(至少 3 芯)以及电池盒(充当外壳)等一共不超过 10 元。(图 2)只要有焊接简单电路的能力,按照电路图,很快就可以完成电路的制作(图 3)之后把电路板装到拔去触点铜片的电池盒里,并在电池盒的相应位置开孔,因为整个电路都很轻,所以可以在电池盒空着的一边放入一节没电的电池(虽然没电,但还是要防止电池短路,否则电池漏液导致短路,可能通过串口损坏主板),硬件制作即告完成。(图 4)测试遥控器经过测试,该接收器的有效接收范围在 7 米左右,而且灵敏度非常
4、高。试验发现,原本步步高 DVD 的遥控器必须正对 DVD 机操作才有效,而与自制的接收器配合使用时,可以实现非指向操作(即接收器可以接受经过墙壁多次反射的红外线信号),大大方便了我们的使用,也使接收器的摆放更加灵活。最后,综合考虑按钮数、按钮排布、手感、大小等各方面因素,我选用了闲置的建伍桌面音响的遥控器(49 键)软件设置下面的软件设置工作是最重要的,首先,把“SFH-56 plugin for Girder“这个插件(文件名“igor SFH-56P lug.dll“)拷贝到 Girder 安装目录下的 plugins 文件夹下,然后进入 Girder,先点击 File 菜单中的 Set
5、tings,在 Settings 窗口中的 User interface 标签页中把 Language 改为 Chinese,点“Apply“按钮(图 7)在“ 插件“标签页中选中“Igor SFH-56 device“,确定后,(图 8)再次进入这个位置,点“ 插件“标签页中的“设置“按钮,弹出一个 Igor Config 窗口,里面按照实际情况选择 COM1 或 COM2 口(图 9)点“OK“退出,到此设置工作完成。接下来,我们就可以根据自己的需要添加命令了,在这里,我们选择一些比较有代表性的命令供大家参考,其余的就可以触类旁通了。公共操作:在 Girder 窗口左侧的命令区点击右键,选
6、择添加命令;选择要执行的操作,点击右上方的“学习事件“按钮,然后按下遥控器上面你想要定义成该功能的按钮,暗红色的长条区域中会出现接收到的红外命令码(图 10)如“1D807A85“,而且同一操作可以多次学习,使其支持多个遥控器;最后在“防按键重复等待时间“ 栏中填写 200,这样,当一次按键命令发生后的 200 毫秒内,忽略同样的按键事件,以防止重复执行操作。功能测试1.运行程序。这里以 Media Player Classic 为例,点击右边操作区的“系统“ 标签页,选择下拉菜单中的“执行“,点击 “浏览“ 按钮,在弹出的打开文件窗口中选择我们相应目录中的“mplayerc.exe“,最后点
7、击“应用“按钮。(图 11)2.模拟键盘按键。前几步同上,只是改为点击右边“键盘“标签页,在“ 句子“文本框中输入要模拟的按键,并根据需要决定是否选中 Ctrl、 Shift 和 Alt,如果要定义无法打出的按键,可以在“ 特殊键“下拉菜单中进行选择,特别要注意回车键是“RETURN“而非“Enter“。配合播放软件的热键功能,通过按键模拟就可以实现影/ 音文件的播放/暂停/ 下一首/快进/全屏等功能。3.更改音量。打开 “系统“标签页中的下拉菜单,选择“调整音量“ ,点击右边的“音量“ 按钮(图 12)选择“主音量“ ,点确定按钮(图 13)“步长“填写“2621“(2621 代表增大一格音
8、量,-2621 代表降低一格音量),并勾选“屏显 OSD“(图 14)用类似的方法还可以实现同样实用的静音功能。4.光驱托盘弹出 /关闭。这是一组互逆的操作,如果设在遥控器的两个按钮上自然简单,可是要多记一个按钮的定义,而且要多占用一个按钮,不如把他们设在同一个按钮上面,还能多空出一个按钮用来定义别的操作。同一个按钮要定义成轮流执行的两个操作,设置上也有一些区别,首先,添加时要用“ 添加命令组 “而非 “添加命令“,然后在命令组内再添加一个命令,为了方便识别,改名为“弹出“ 一类的名字(对功能无影响),然后在“系统“标签页中选择“弹出媒体“ ,并在 “文件“文本框中填写光驱的盘符(只写字母,不
9、要冒号),点击该命令(图 15)按“F6“ 弹出一个 “调整命令响应次序“窗口,把“最大状态值“改为“2“,“ 初始状态值“改为“1“。(图 16)另外,在命令组中添加一个命令,命名为“屏显-弹出“,点击“Girder“标签页,选中“Simple OSD“,在下面的“图标/ 设备“文本框中写入“ 光驱弹出“ 一类的提示语(图 17)“最大状态值“和“初始状态值“ 也同样分别设为“2“、“1“。因为同一命令组中的命令是顺序执行的,所以用拖拽的方法将“屏显-弹出“命令拖至 “弹出“命令之前,使其先显示提示,再弹出托盘。类似地,创建关闭光驱命令,只不过把“弹出媒体 “改为“载入媒体“,并把“ 最大状
10、态值“ 和“初始状态值“ 分别改为“2“、“2“,同样建立“光驱关闭“的提示语,“最大状态值“ 和“初始状态值“也是“2“、“2“。最后选中该命令组,点击“ 学习命令“,把操作定义到遥控器按键上,注意要将“ 防按键重复等待时间“ 设为 1000 毫秒以上,否则肯会连续执行弹出和关闭命令,至此任务即告完成。这样,按下定义好的光驱弹出/关闭按钮时,状态值在 1 和 2 之间循环,并且在屏幕上显示状态提示消息。5.鼠标操作。从“ 鼠标“标签页下拉菜单中的项目里面选择需要的功能,进行设定,包括鼠标移动、点击、双击和滚轮的操作,移动/滚动类的项目应在下面的文本框中设定每次移动的步长值(以象素为单位)。总结总之,Girder 支持的操作是十分多样的,再加上插件的支持,不仅可以响应遥控器的操作,甚至支持游戏手柄和键盘。许多更有用、更好玩的功能还有待我们去发掘、去创造。