红外遥控器学习心得

本文介绍了如何获取和理解红外遥控器的指令码,通过示例展示了当红外接收器接收到不同按键时如何响应。文章详细解释了如何使用红外接收库,并提供了代码示例来解析和识别不同的红外编码。通过学习,读者可以了解红外遥控器的工作原理以及如何在项目中应用这些知识。
摘要由CSDN通过智能技术生成

**T红外遥控器学习心得OC


#在学习之前对其中的一些代码与函数不是很清楚,所以做了一下记录 前言

提示:红外遥控器中的代码知识:


提示:以下是本篇文章正文内容,下面案例可供参考

一、红外遥控的指令码到底如何获得?

示例:
if (ir_item == 16724175) { //当红外接收器接收到按键1时,LED灯点亮
digitalWrite(6,HIGH);
} else if (ir_item == 16718055) { //当红外接收器接收到按键2时,LED灯熄灭
digitalWrite(6,LOW);
}
其中的16724157从何处而来

二、使用步骤

1.引入库

#include <IRremote.h> //红外接收库文件
long ir_item;
IRrecv irrecv(3); //指定ircv对象为红外引脚3
decode_results results;//一个解码的decode-result类型的对象result
void setup(){
Serial.begin(9600);//开始初始化通信串口
irrecv.enableIRIn(); //启动红外接收器
}
void loop(){
if (irrecv.decode(&results)) {//尝试接收红外编码。如果编码接收成功则返回True,如果没有接收则返回False。当编码被成功接收后,有关信息会保存在“results”中。。从红外irreccv中筛选result对象是否存在,换句话就是是否检测到红外信号了。
ir_item=results.value;
String type=“UNKNOWN”;
String typelist[14]={“UNKNOWN”, “NEC”, “SONY”, “RC5”, “RC6”, “DISH”, “SHARP”, “PANASONIC”, “JVC”, “SANYO”, “MITSUBISHI”, “SAMSUNG”, “LG”, “WHYNTER”};
if(results.decode_type>=1&&results.decode_type<=13){
// results.decode_type: 返回列表中协议类型的一种: NEC, SONY, RC5, RC6, 或者 UNKNOWN。
//results.value: 实际的红外编码 (如果类型是UNKNOWN则返回0) 。
//results.bits: 返回的红外编码所占用的位数。
//results.rawbuf: 保存红外脉冲时长的数组。
//results.rawlen: 保存在数组中时长的数量。
type=typelist[results.decode_type];
}
Serial.print(“IR TYPE:”+type+" “);
Serial.println(ir_item);
delay(1000);
irrecv.resume();
} else {
Serial.print(”");
delay(1000);
}
}

总结

提示:这里对文章进行总结:
参考自https://www.geek-workshop.com/thread-1456-1-1.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值