前文提到,用Arduino模拟了USB键盘。做了一个自动锁屏幕装置外,又思考了一下用途还可以做个PPT的遥控器。为了实现遥控功能,需要搭配如下的元件。发射器和接收器是配对的。发射器上面有4个按钮,对应的接收器有D0-D3四个输出Pin.这个东西的名称叫做“2262/2272四路无线遥控套件M4非锁接收板 配四键无线遥控器”,价格不超过15元……
首先实验这个元件,直插面包板上,5V电是从USB口上取出来的。
用万用表验证,当按下A按钮时,D0会输出高电平。非锁的意思就是按一下就是一下(与之对应的是锁存,按一下后面会keep一段时间)。Enough,下面就可以继续其他。
简单的说,工作分为两步:第一步,制作Arduino模拟USB键盘;第二步,让这个模拟键盘发出左箭头和右箭头的键盘码。
使用的BOM如下:
A.USB公头(有供电和通讯能力的USB头皆可) x1
B.120欧电阻(原文建议68欧,但是我刚好没有。并联120欧充当60欧) x4
C. 2.2K欧电阻 x1
D.3.6伏稳压管 x2
E.遥控发射接收器(上面图片上的)
先说第一步,根据 《Arduino学习笔记A11 - Arduino模拟电脑键盘(基于AVR-USB的USB-HID设备)》参考[1]。使用到BOM中提到的A-D,具体电路如下
按照上图设计,首先用面包板进行搭建,确定键盘能够正常工作。具体怎么做一个USB键盘这里就不说了。然后加入接收板。我使用大头针来作为引脚针,砍掉上面的大头,搭配杜邦线使用。用普通的排针总有太短没插到位的感觉,大头针长度足够,粗细也适合。
四个输出脚,只用了2个,D0和D3,间距大方便而已。如果有朋友喜欢还可以定义更多的功能。分别插在Arduino的D8和D10上。
程序如下:
最后实测,可以正常遥控,蓝色的USB线是下载程序用的,真正的USB是插在笔记本左边。
后面再考虑一下遥控的其他用途,比如:放炮点火什么的………多说一下,使用Arduino模拟USB之后,他上面的资源就非常非常少了,个人感觉能实现的功能还是挺有限的,做起来玩玩还可以,要想投入产品是够呛的。比如:因为速度的缘故,PC识别它模拟出来的USB键盘鼠标就要挺长时间。真打算做USB设备还是考虑传统的那些C51+D12之类的比较靠谱吧。
参考:
1. http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1137
2. http://www.lab-z.com/arduino-usb-keyboard-debug%E7%BB%8F%E9%AA%8C/
3. http://www.geek-workshop.com/thread-4006-1-1.html 利用Arduino上的atmega8u2制作红外遥控版PPT控制器