Arduino红外遥控系列教程2013——红外转码扩展应用1

教程四:红外转码扩展应用1——用电视遥控器控制电脑,实现无线键盘

IMG_3713.JPG

2013-2-21 08:59 上传
(257.11 KB)





前言

有时候,在家里看电影,用电脑通过视频线连接电视会很爽,如果再能用电视遥控器同时控制电脑就更方便啦。我们在前两篇系列教程基础之上,来一个红外转码扩展应用,采用了Arduino Leonardo作为主控。用电视遥控器控制电脑,实现无线键盘。先上视频





视频链接:http://v.youku.com/v_show/id_XNTE2NjY3MDQw.html





在开始之前,请先确认你已经熟悉了本系列的前两篇教程。因为外围电路是一样的,且程序也几乎没有变化。因此重复的部分这里就不过多的描述了。

Arduino红外遥控系列教程2013——发射与接收[链接]

Arduino红外遥控系列教程2013——红外转码[链接]



第一步 更新Leonardo的Bootloader

IMG_3378.JPG

2013-2-21 08:59 上传
(121.74 KB)



之前版本的Bootloader会有串口通信BUG,更新官方最新版本后,问题解决。

本教程使用了官方推荐的USBtinyISP,只需在Arduino IDE的Tools中选择USBtinyISP下载器,在Board中选择Arduino Leonardo,连接好下载线,点击Burn Bootloader烧录即可。

bootloader.png

2013-2-21 09:05 上传
(39.28 KB)





第二步 连接硬件

IMG_3707.JPG

2013-2-21 08:59 上传
(245.18 KB)


IMG_3710.JPG

2013-2-21 08:59 上传
(293.66 KB)



硬件电路请跳转 Arduino红外遥控系列教程2013——发射与接收[链接]





第三步 下载程序

ARDUINO 代码复制打印下载

//IR remote for PC//http://weibo.com/leolite//By Leo 2013.02.19#include <IRremote.h>// #include <EEPROM.h>#include "IR_Receive.h"#include "IR_Send.h"#include "IR_Value.h"#include "Keyboard.h"#include "Mapping.h"int RECV_PIN = 11;IRrecv irrecv(RECV_PIN);decode_results results;unsigned long date;int addr = 0; //for EEPROMint index = 0; //for arrayint mapto = 0; //for mappingvoid setup(){Serial.begin(9600);// make pin 2 an input and turn on the // pullup resistor so it goes high unless// connected to ground:pinMode(2, INPUT_PULLUP);Keyboard.begin();irrecv.enableIRIn(); // Start the receiver}void loop() {if (irrecv.decode(&results)) {  //Block 1 start  //search from IR_Reveive.h and return index  if(results.value != ir_code_r[



这里在贴一张键盘编码子程序的截图

Step4_Key.png

2013-2-21 09:17 上传
(42.58 KB)





第四步 体验遥控乐趣^_^

IMG_3699.JPG

2013-2-21 08:59 上传
(227.54 KB)





思路扩展

红外通讯的应用非常广泛,而且相对蓝牙和Wifi成本低了很多,我们还可以用Arduino做成红外手柄去玩电脑游戏。如果手头有两三块Arduino的话,可以多做几个手柄,回味下小时候玩土星游戏机的感觉。当然越复杂的应用程序也需要完善,例如增加抗干扰处理。最后希望看到大家分享自己的红外遥控器。

via - 极客工坊

标签: Arduino教程