第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的摄像头自动光源跟踪,展示...
评 论
选择昵称后请轻按空格键
请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。