第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编程控制的程序见上面。
猜你会喜欢
牛人自制的极光雾状LED灯
这是DIY牛人制作的一款极光9x18的L...
iPhone控制的简易物联网
这次我尝试制作一个简单的物联网系统,可以...
有爱的碗
该文是在Chinked-out工作室翻译...
TEM36温度传感器
非常容易解释什么是模拟温度传感器,它就是...
基于MK802的摄像头自动光源跟踪
基于MK802的摄像头自动光源跟踪,展示...












评 论
选择昵称后请轻按空格键
请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。