from http://hi.baidu.com/tombkeeper/ by [email protected] 我在 《威盛MM2500+芯板》 中写过,那个板子上有一个内置COM口,可以用来搞红外遥控。 软件都是现成的,只要自己做个小小的硬件就可以。借助于 WinLIRC (著名的LIRC的Windows移植版本),我们可以用普通的红外遥控器来向计算机发送控制信号。常用的很多播放软件都支持WinLIRC协议,譬如WinAMP、Media Player Classic、KMPlayer等。对于自身不支持WinLIRC的软件,我们也可以通过Grider之类的程序来控制。 原理很简单,红外接收器把遥控器发出的调制红外信号还原成电平信号,然后发送到串口。WinLIRC轮询串口读取信号,并根据预先的设定,把信号转换为相应的命令。WinLIRC的通信接口是TCP协议,默认监听8765端口。支持WinLIRC的软件会连接8765端口,按照预先的设定,根据不同的命令采取不同的动作。 关于制作红外接受器, LIRC的网站上 已经讲得很详细了,大家可以自己去看。我这里简单说一下我的情况,重点把一些容易出问题的地方拎出来。 主要材料: 一块5x7的试验板,环氧树脂的就可以。 一个IN4148开关二极管。 一个4.7K电阻。 一个78L05三端稳压。 一个4.7μF电容。 一个38KHz载频的一体化红外接收管,我买的型号是PC3388。 上面这些加起来不超过3元。 PC3388是一个一体化红外接收管,里面集成了红外接收管和解码电路。能直接把调制后的红外信号转化为电平信号输出。其实型号并不太重要,只要载波频率38KHz,能在5V电压下工作的,都可以在这里用。事实上,你在市场上能买到的绝大多数这种一体化接收管都符合要求,想买不符合的都不容易。 我并不知道PC3388的引脚定义,在网上搜了一下,搜到的信息都是其他人问引脚定义的帖子,没有答案。我只好用穷举法硬试,幸亏只有三条腿。 PC3388的引脚定义是这样:凸面对着自己,引脚向右,此时,三根引脚从上向下依次为信号输出、接地、电源。 PC3388 +------------+ | _________+------------ data | / | | ( +------------ GND | \_________| | +------------ VCC +------------+ 78L05的引脚定义资料很好找,为方便大家,这里也提供一下:平面对着自己,引脚向右,此时,三根引脚从上向下依次为输入、接地、输出。 78L05 +------+ | +------------ IN | +------------ GND | +------------ OUT +------+ 下面是电路原理图,转自http://www.lirc.org/receivers.html。请注意,这里用的红外管是1738,引脚定义和PC3388不同: IC1 = TSOP 1738 +-----------------------+ 3 R1 (4k7) | data -> +--------------------------------+------------o DCD | | _______ | | ______________ | | 78L05 | | | D1 (1N4148) | / | +-----+-----|OUT IN |--+ | | | ( | 2 | | + |__GND__| | | | /| | \______________ + +----+ ----- | +----+------|< |--o RTS | | ----- | IC2 | \| | | 1 | | | - +----------+---------+------------------------o GND +-----------------------+ C1 (4.7μF) 这个电路从串口的RTS脚取电。串口是12V电平,所以用78L05转换为5V,给PC3388供电。因为RTS平时是逻辑电平1,也就是-12V,WinLIRC工作的时候才会把它设置成+12V,那个IN4148的作用就是隔离一下,防止反向击穿损坏。 元件很少,如果做成外置的,根本用不着电路板,直接焊在COM插头的空间里就行了。不过我需要做一个固定在机箱里的,所以还是得弄一小块。 这么简单的东西就不必刻板了,试验板就行。对我来说,试验板上密密麻麻的孔最方便之处不是便于测试电路,而是可以像邮票一样用剪刀剪成任意的小块。对这个电路来说,剪一块1x3的就足够了。 VIA MM2500+芯板引出了一个COM口,就是COM1,另外主板上还有一个内置的COM B口,就是COM2。具体可以参考 VIA MM2500+的用户手册 。 COMB +---+ | o| 9 8 |o o| 7 RTS 6 |o o| 5 GND 4 |o o| 3 2 |o o| 1 DCD +---+ 我原打算自己做一个这种双排9针的连接线,后来发现所需要用的1、5、7三个引脚恰好都在一边。于是忽然想起一样东西:光驱的CD音频线。 过去买光驱都带这么一根线,连接光驱和声卡。这属于历史的遗迹,现在没什么用了。这种线是三芯,插头单排4针,中间空置一针,恰好可以插到COMB的1、3、5、7这四个插针上。不但省事,而且废物利用。反正是自己用的东西,也不必考虑防插错设计。整个做好后就是这样: (红线RTS,黑线GND,白线DCD) 那个用来装VIA MM2500+的小机箱前面板预留了一个红外窗口(这也是我想到要做这个红外遥控的原因)。不过显然,出厂的时候,这个红外窗口并没有打开,所以需要在这里钻一个洞。 (撬开红外窗口的那块小塑料片,可以看到下面的塑料面板上并没有洞,需要自己开一个。 不用很大,能把红外管的凸面嵌进去就行。 ) 电路做好,孔开好,接下来就是固定。为了便于以后的检修,我不打算用热熔胶之类。反正电路很轻,胶布就可以了。 全部装好后,从刚才开的孔能看到红外接收管: 这时我打算把红外窗口的那块塑料片装回去,结果发现那块貌似红外窗口的塑料片用的根本不是能透过红外线 的材料,一旦装回去后就再也收不到红外信号了。不装吧,这样也不太好看,而且有可能不小心把那个用胶布固定的红外管给摁下来。于是只好再在那块塑料片上打几个小孔了事。 OK,硬件部分就算大功告成了。 最后顺便说几句。我最开始也想过买个遥控器,几十元而已,还省事。不过买的遥控器都是外置的——当然,可以改装成内置的,板子上还有多余的内置USB口——关键是我实在不想在家里放那么多遥控器。现在那个电视遥控器是为支持家庭影院设计的,可以在TV/VCR/DVD三种模式之间切换,逻辑上相当于三个遥控器。而实际上我并没有VCR和DVD,所以这两个模式正好拿来用WinLIRC。
http://hi.baidu.com/tombkeeper - 选录
给VIA MM2500+芯板系统增加红外遥控(硬件篇)
2008-02-23链接