zoologist 发表于 2014-1-4 17:00:50

用 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控制器

Perfect 发表于 2014-1-4 19:51:54

学到了:):):)

学慧放弃 发表于 2014-1-4 20:45:26

我也想做个用来控制宿舍门,直接遥控。哈哈

潇洒哥 发表于 2014-1-5 13:02:18

果断收藏,赞一个

wsxqazx 发表于 2014-1-6 15:35:51

不错,适合实验一下!!!:)

XS★@ 发表于 2014-1-7 18:55:04

你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50cm阿,还有一个管脚表示有任意一个key按下,可以设置中断.

zoologist 发表于 2014-1-8 08:53:24

XS★@ 发表于 2014-1-7 18:55 static/image/common/back.gif
你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50 ...

当然可以用啊.......你的好奇怪,应该是哪里有问题,建议你询问一下卖家,按道理12v+80的天线没道理距离这么短...

simatic_net 发表于 2014-1-8 20:34:00

我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。

zoologist 发表于 2014-1-8 20:49:39

simatic_net 发表于 2014-1-8 20:34 static/image/common/back.gif
我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。

哦无线遥控这部分我也不懂,只是买个模块而已。你希望实现什么功能的?

simatic_net 发表于 2014-1-19 20:43:00

zoologist 发表于 2014-1-8 20:49 static/image/common/back.gif
哦无线遥控这部分我也不懂,只是买个模块而已。你希望实现什么功能的?

我想在每一盏灯里面放个接收器(地址不同)。然后用Arduino分别控制。只要实现Arduino控制,其它就好玩了。

zoologist 发表于 2014-1-19 21:27:11

试试这个 http://item.taobao.com/item.htm?spm=a230r.1.14.1.yAX9ST&id=17169757687&_u=jkf8s9a19c

xuliya282 发表于 2014-2-8 13:29:36

原来是打印外壳。:lol

eyecwan 发表于 2014-5-4 20:48:14

楼主挺用心的,不过用途实验性质比较大。

外我倒是想把sender拆开来 能不能接sensor,这样我就可以少一个arduino的成本在发送端。

接受端的想法和楼主一样,用keyboard library控制电脑。

zoologist 发表于 2014-5-5 07:55:01

eyecwan 发表于 2014-5-4 20:48 static/image/common/back.gif
楼主挺用心的,不过用途实验性质比较大。

外我倒是想把sender拆开来 能不能接sensor,这样我就可以少一个 ...

发射端没有 arduino ,只是一个很小的东西啊

zoologist 发表于 2014-7-16 19:48:16

ladouyu 发表于 2014-7-16 15:19 static/image/common/back.gif
好酷的设计!
诚挚邀请您参加爱板网征文活动
http://www.eeboard.com/zhengwen


你们是昆山的公司?
页: [1] 2 3
查看完整版本: 用 Arduino 打造PPT遥控器