• 3.gif
  • 7.jpg

第2步 编程

// 示红外线协定与讯号
#include <IRremote.h>           // 引用 IRRemote 函式库
const int irReceiverPin = 2;    // 红外线接收器 OUTPUT 讯号接在 pin 2
IRrecv irrecv(irReceiverPin);   // 定义 IRrecv 物件来接收红外线讯号
decode_results results;         // 解码结果将放在 decode_results 结构的 result 变数里
void setup()
{
  Serial.begin(9600);           // 开启 Serial port, 通讯速率为 9600 bps
  irrecv.enableIRIn();          // 启动红外线解码
}
// 显示红外线协定种类
void showIRProtocol(decode_results *results)
{
  Serial.print(“Protocol: “);
  // 判断红外线协定种类
  switch(results->decode_type) {
   case NEC:
     Serial.print(“NEC”);
     break;
   case SONY:
     Serial.print(“SONY”);
     break;
   case RC5:
     Serial.print(“RC5″);
     break;
   case RC6:
     Serial.print(“RC6″);
     break;
   default:
     Serial.print(“Unknown encoding”);
  }
  // 把红外线编码印到 Serial port
  Serial.print(“, irCode: “);
  Serial.print(results->value, HEX);    // 红外线编码
  Serial.print(“,  bits: “);
  Serial.println(results->bits);        // 红外线编码位元数
}
void loop()
{
  if (irrecv.decode(&results)) {        // 解码成功,收到一组红外线讯号
    showIRProtocol(&results);            // 显示红外线协定种类
    irrecv.resume();                     // 继续收下一组红外线讯号
  }
}

使用 Arduino 读取遥控器的红外线讯号。

首先是连接电路,将 38kHz 红外线接收器接到 Arduino上。红外线接收器的接法如图所示,接收器的Vout脚接到pin 2脚位,Vcc接到5V输出脚位,GND接到 Arduino的GND脚位。

   用Arduino IDE编程控制的程序见上面。

下一步上一步

评 论

e

选择昵称后请轻按空格键

提 交

请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。

信息

60253

浏览
0
asd周

作者:asd周

分享:19

>>

关键词: 遥控 红外线 arduino

猜你会喜欢

牛人自制的极光雾状LED灯

这是DIY牛人制作的一款极光9x18的L...

iPhone控制的简易物联网

这次我尝试制作一个简单的物联网系统,可以...

有爱的碗

该文是在Chinked-out工作室翻译...

TEM36温度传感器

非常容易解释什么是模拟温度传感器,它就是...

基于MK802的摄像头自动光源跟踪

基于MK802的摄像头自动光源跟踪,展示...