极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 59327|回复: 38

用 Arduino 打造PPT遥控器

[复制链接]
发表于 2014-1-4 17:00:50 | 显示全部楼层 |阅读模式
本帖最后由 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设备)》参考[1]。使用到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/for ... thread&tid=1137
2.        http://www.lab-z.com/arduino-usb ... %E7%BB%8F%E9%AA%8C/
3.        http://www.geek-workshop.com/thread-4006-1-1.html  利用Arduino上的atmega8u2制作红外遥控版PPT控制器

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-1-4 19:51:54 | 显示全部楼层
学到了
回复 支持 反对

使用道具 举报

发表于 2014-1-4 20:45:26 | 显示全部楼层
我也想做个用来控制宿舍门,直接遥控。哈哈
回复 支持 反对

使用道具 举报

发表于 2014-1-5 13:02:18 | 显示全部楼层
果断收藏,赞一个
回复 支持 反对

使用道具 举报

发表于 2014-1-6 15:35:51 | 显示全部楼层
不错,适合实验一下!!!
回复 支持 反对

使用道具 举报

发表于 2014-1-7 18:55:04 | 显示全部楼层
你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50cm阿,  还有一个管脚表示有任意一个key按下,可以设置中断.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-8 08:53:24 | 显示全部楼层
XS★@ 发表于 2014-1-7 18:55
你这个可以用马?, 我买的这个回来要先设编码,加天线, 我加了80cm的天线, 遥控器是12v电池,可以遥控距离才50 ...

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

使用道具 举报

发表于 2014-1-8 20:34:00 | 显示全部楼层
我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-8 20:49:39 | 显示全部楼层
simatic_net 发表于 2014-1-8 20:34
我对超再生遥控部分很感兴趣。希望能用一台arduino模拟控制多个接收器。

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

使用道具 举报

发表于 2014-1-19 20:43:00 | 显示全部楼层
zoologist 发表于 2014-1-8 20:49
哦  无线遥控这部分我也不懂,只是买个模块而已。你希望实现什么功能的?

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

使用道具 举报

 楼主| 发表于 2014-1-19 21:27:11 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2014-2-8 13:29:36 | 显示全部楼层
原来是打印外壳。
回复 支持 反对

使用道具 举报

发表于 2014-5-4 20:48:14 | 显示全部楼层
楼主挺用心的,不过用途实验性质比较大。

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

接受端的想法和楼主一样,用keyboard library控制电脑。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-5 07:55:01 | 显示全部楼层
eyecwan 发表于 2014-5-4 20:48
楼主挺用心的,不过用途实验性质比较大。

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

发射端没有 arduino ,只是一个很小的东西啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-16 19:48:16 | 显示全部楼层
ladouyu 发表于 2014-7-16 15:19
好酷的设计!
诚挚邀请您参加爱板网征文活动  
http://www.eeboard.com/zhengwen

你们是昆山的公司?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 13:27 , Processed in 0.045311 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表