用 Arduino 打造PPT遥控器
本帖最后由 zoologist 于 2014-1-4 17:46 编辑用 Arduino 打造PPT遥控器
前一段,用Arduino模拟了USB键盘。除了做了一个自动锁屏幕装置外,思考了一下用途还可以做个PPT的遥控器。为了实现遥控功能,需要搭配如下的元件。发射器和接收器是配对的。发射器上面有4个按钮,对应的接收器有D0-D3四个输出Pin.这个东西的名称叫做“2262/2272四路无线遥控套件M4非锁接收板 配四键无线遥控器”,价格不超过15元…….
首先实验这个元件,直插面包板上,5V电是从USB口上取出来的。
用万用表验证,当按下A按钮时,D0会输出高电平。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设备)》参考。使用到BOM中提到的A-D,具体电路如下
按照上图设计,首先用面包板进行搭建,确定键盘能够正常工作。然后加入接收板。我使用大头针来作为引脚针,砍掉上面的大头,搭配杜邦线使用。用普通的排针总有没插到位的感觉。
四个输出脚,只用了2个,D0和D3,间距大方便而已。如果有朋友喜欢还可以定义更多的功能。分别插在Arduino的D8和D10上。
程序如下:
#define KEY_ARROW_RIGHT 0x4F//右, UsbKeyboard.h 中没有定义,自己补上
#define KEY_ARROW_LEFT 0x50 //左
#include "UsbKeyboard.h"
int KEYPINA = 8; //按键接在D8引脚,也可以改成任何引脚
int KEYPIND = 10; //按键接在D10引脚,也可以改成任何引脚
//这里的选择只是为了连接方便,其他的应该也可以
void setup()
{
TIMSK0 &= !(1 << TOIE0);
pinMode(KEYPINA, INPUT);
digitalWrite(KEYPINA, HIGH);
pinMode(KEYPIND, INPUT);
digitalWrite(KEYPIND, HIGH);
}
void loop()
{
UsbKeyboard.update();
if(digitalRead(KEYPINA) == HIGH)
{
delay(100); //按道理delay是不好用了,很多文章特别强调
//但是他们自己也还用,我就放在这里吧
if(digitalRead(KEYPINA) == LOW)
{
UsbKeyboard.sendKeyStroke(KEY_ARROW_LEFT); //
}
}
if(digitalRead(KEYPIND) == HIGH)
{
delay(100);
if(digitalRead(KEYPIND) == LOW)
{
UsbKeyboard.sendKeyStroke(KEY_ARROW_RIGHT);
}
}
}
最后实测,可以正常遥控,蓝色的USB线是下载程序用的,真正的USB是插在笔记本左边。
后面再考虑一下遥控的其他用途,比如:放炮点火什么的………..
参考:
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控制器 学到了:):):) 我也想做个用来控制宿舍门,直接遥控。哈哈 果断收藏,赞一个 不错,适合实验一下!!!:) 你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50cm阿,还有一个管脚表示有任意一个key按下,可以设置中断. XS★@ 发表于 2014-1-7 18:55 static/image/common/back.gif
你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50 ...
当然可以用啊.......你的好奇怪,应该是哪里有问题,建议你询问一下卖家,按道理12v+80的天线没道理距离这么短... 我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。 simatic_net 发表于 2014-1-8 20:34 static/image/common/back.gif
我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。
哦无线遥控这部分我也不懂,只是买个模块而已。你希望实现什么功能的? zoologist 发表于 2014-1-8 20:49 static/image/common/back.gif
哦无线遥控这部分我也不懂,只是买个模块而已。你希望实现什么功能的?
我想在每一盏灯里面放个接收器(地址不同)。然后用Arduino分别控制。只要实现Arduino控制,其它就好玩了。 试试这个 http://item.taobao.com/item.htm?spm=a230r.1.14.1.yAX9ST&id=17169757687&_u=jkf8s9a19c 原来是打印外壳。:lol 楼主挺用心的,不过用途实验性质比较大。
外我倒是想把sender拆开来 能不能接sensor,这样我就可以少一个arduino的成本在发送端。
接受端的想法和楼主一样,用keyboard library控制电脑。 eyecwan 发表于 2014-5-4 20:48 static/image/common/back.gif
楼主挺用心的,不过用途实验性质比较大。
外我倒是想把sender拆开来 能不能接sensor,这样我就可以少一个 ...
发射端没有 arduino ,只是一个很小的东西啊 ladouyu 发表于 2014-7-16 15:19 static/image/common/back.gif
好酷的设计!
诚挚邀请您参加爱板网征文活动
http://www.eeboard.com/zhengwen
你们是昆山的公司?