红外线遥控灯

2021-01-29 14:20:18 浏览数 (3)

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

一、先设置红外线遥控和LED灯的端口

二、在面包板上把LED灯的电路接好,注意要接电阻!

三、Arduino代码

代码语言:javascript复制
#include <IRremote.h>
long ir_item;
IRrecv irrecv_5(5);decode_results results_5;
void setup(){  Serial.begin(9600);  irrecv_5.enableIRIn();}
void loop(){  if (irrecv_5.decode(&results_5)) {    ir_item=results_5.value;    String type="UNKNOWN";    String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};    if(results_5.decode_type>=1&&results_5.decode_type<=13){      type=typelist[results_5.decode_type];    }    Serial.print("IR TYPE:" type "  ");    Serial.println(ir_item,HEX);    if (ir_item == 0xFFA25D) {      pinMode(A3, OUTPUT);      digitalWrite(A3,HIGH);
    }    if (ir_item == 0xFF629D) {      pinMode(A4, OUTPUT);      digitalWrite(A4,HIGH);
    }    if (ir_item == 0xFFE21D) {      pinMode(A5, OUTPUT);      digitalWrite(A5,HIGH);
    }    delay(1000);    irrecv_5.resume();  } else {    pinMode(A3, OUTPUT);    digitalWrite(A3,LOW);    pinMode(A4, OUTPUT);    digitalWrite(A4,LOW);    pinMode(A5, OUTPUT);    digitalWrite(A5,LOW);    delay(1000);  }
}

四、图形化编程,米思齐模块

五、运行

六、我只是为了分享我的红外控制基础,大家可以根据自己的想法改一下我的程序。

0 人点赞