坐在床上看片?为自己的电脑做个遥控器吧

  • A+
所属分类:天涯八卦

坐在床上看片?为自己的电脑做个遥控器吧

编者注:本项目由HactiCs发表于Instructables上,讲解了如何DIY一个使用遥控器控制计算机的小设备的过程,其中涉及到的程序作者都已提供,赶紧来学习一下吧。

遥控器现在已经成为电视机、空调、机顶盒等设备的标配,但是随着计算机的普及,许多年轻人对电视机已经没有了需求,最多也只是用来作为连接游戏机的显示器。那对于只有电脑的年轻人来说,如果电脑放在桌子上,又该怎么方便地坐在床上看片呢?

今天的这个教程将告诉你如何使用Arduino开发板和红外接收器为自己的电脑制作一个遥控器。这样不仅能让你坐在床上轻松看片,还能用来作为PPT遥控器哦。下面就开始行动吧:

第一步:物料

  • Arduino UNO
  • 红外接收器
  • 红外遥控器
  • Arduino IDE
  • Microsoft Visual Basic 2010 Express
  • 一些库

看得出来,这个项目需要的硬件非常简单。

第二步:使用遥控器控制LED

首先我们看看如何使用Arduino和遥控器控制LED灯。连接过程非常简单,只需要像下图一样进行连接即可。

坐在床上看片?为自己的电脑做个遥控器吧

本项目最为关键的还是代码,但在使用以下代码之前,你需要现在开发环境中配置红外库,你可以在GitHub上下载,也可以在PJRC上了解更多。

具体的代码如下:

#include

int RECV_PIN = 3;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()

{

Serial.begin(9600);

irrecv.enableIRIn(); //启动接收器

pinMode(13,OUTPUT);

}

void loop() {

if (irrecv.decode(&results)) {// irrecv.decode(&results) :如果收到代码则返回true

Serial.println(results.value, HEX); //检查你按下红外遥控器上的按钮的代码

if(results.value==0xFA08F7) // 0x代表十进制数

{

digitalWrite(13,HIGH); //LED开启

else

digitalWrite(13,LOW); //LED关闭

delay(300);// 延迟以避免0xFFFFFFF

irrecv.resume (); // 接收下一个值

}

}

第三步:遥控电脑

等你熟悉了如何遥控LED之后,我们该试试遥控电脑了。为了实现这一目标,我们需要用到Visual Basic中的一个SendKeys.Send(“”)指令,该指令可以在电脑上模拟空格键,然后你可以借此控制在线视频或本地播放器的播放。以下是实现这一功能的代码部分:

If data = "1" Then

SendKeys.Send(" ")

TextBox1.Text = "SPACE"

End If

而Arduino中对应的代码为:

if(results.value==0xFA10EF)

Serial.write('1');

解释:当你按下代码是0xFA10EF的按钮时,Arduino会发送“1”到电脑的串口。这时使用Visual Basic编写的程序将会从串口接受到数据1,然后通过软件的方式模拟空格点击,从而控制视频的播放和停止,当然这也可以用来控制PPT演示。

如果你觉得Visual Basic实在太难了,不要担心,下载链接在下面:

serial_command_ir.ino

IRDUITOP.exe

第四步:配置

坐在床上看片?为自己的电脑做个遥控器吧

接下来就需要配置你的红外遥控器代码了,这个步骤和上面第二步的差别不大,只不过我们需要发送一个特定的返回值到电脑的Arduitop.exe。接下来将改好的代码写入Arduino,完成之后打开Arduitop.exe,选择Arduino所连接的COM口,点击init执行。

第五步:高阶

坐在床上看片?为自己的电脑做个遥控器吧

这一步对Visual Basic的要求较高,作者提供的参考代码点此下载:IR PROJECT.rar

通过对该代码进行适当的修改,你还能实现音量控制、快进快退等常见的电视功能,如下视频:

历史上的今天:

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 红包福利社
  • 微信扫一扫
  • weinxin
微信红包网

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: