灯遥控器怎么配对,照明遥控器配对教程

实现现象:接遥控器上面对应的数字,会点亮对应的灯。按第一下开灯,再按同样的键。关灯。

硬件接线:红外接收头接12管脚。

实验代码:

#include <IRremote.h>

int voltage[12];

unsigned int i = 0;

IRrecv irrecv(12);

decode_results results;

unsigned long key_value = 0;

void setup()//开机设置

{

Serial.begin(9600);

SetUpPins();

irrecv.enableIRIn();

irrecv.blink13(true);

}

void loop()//主循环

{

TranslateIR();

}

void ToggleLED(int pin) //LED灯状态切换。如果是开,再按是关。如果是关,再按是开。

{

if (voltage[pin])

{

Serial.print("LED ");

Serial.print(pin – 2);

Serial.println(" was turned off");

digitalWrite(pin, LOW);

voltage[pin] = 0;

} else {

Serial.print("LED ");

Serial.print(pin – 2);

Serial.println(" was turned on");

digitalWrite(pin, HIGH);

voltage[pin] = 1;

}

}

void SetUpPins() //管脚初定义

{

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

}

void TranslateIR() //红外译码判断

{

if (irrecv.decode(&results))

{

if (results.value == 0XFFFFFFFF)

results.value = key_value;

switch(results.value)

{

case 0xFD00FF://power

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

digitalWrite(10, HIGH);

digitalWrite(11, HIGH);

break;

case 0xFD40BF://func/stop

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

break;

case 0xFD30CF://0

ToggleLED(2);

break ;

case 0xFD08F7://1

ToggleLED(3);

break ;

case 0xFD8877://2

ToggleLED(4);

break ;

case 0xFD48B7://3

ToggleLED(5);

break ;

case 0xFD28D7://4

ToggleLED(6);

break ;

case 0xFDA857://5

ToggleLED(7);

break ;

case 0xFD6897://6

ToggleLED(8);

break ;

case 0xFD18E7://7

ToggleLED(9);

break ;

case 0xFD9867://8

ToggleLED(10);

break ;

case 0xFD58A7://9

ToggleLED(11);

break ;

case 0xFD807F://vol+

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

delay(50);

break;

case 0xFD906F://vol-

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

delay(50);

break ;

case 0xFDA05F://>||

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

break ;

case 0xFD20DF://|<<

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

break;

case 0xFD609F://>>|

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

break ;

case 0xFD10EF://down arrow

ToggleLED(11);

ToggleLED(10);

ToggleLED(9);

ToggleLED(8);

ToggleLED(7);

ToggleLED(6);

ToggleLED(5);

ToggleLED(4);

ToggleLED(3);

ToggleLED(2);

break ;

case 0xFD50AF://up arrow

ToggleLED(2);

ToggleLED(3);

ToggleLED(4);

ToggleLED(5);

ToggleLED(6);

ToggleLED(7);

ToggleLED(8);

ToggleLED(9);

ToggleLED(10);

ToggleLED(11);

break ;

case 0xFDB04F://eq

ToggleLED(2);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(2);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(7);

delay(100);

ToggleLED(6);

delay(100);

ToggleLED(8);

delay(100);

ToggleLED(5);

delay(100);

ToggleLED(9);

delay(100);

ToggleLED(4);

delay(100);

ToggleLED(10);

delay(100);

ToggleLED(3);

delay(100);

ToggleLED(11);

delay(100);

ToggleLED(2);

delay(100);

break ;

case 0xFD708F://st/rept

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

delay(100);

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

digitalWrite(10, HIGH);

digitalWrite(11, HIGH);

delay(100);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

delay(100);

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

digitalWrite(10, HIGH);

digitalWrite(11, HIGH);

delay(100);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

delay(100);

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

digitalWrite(10, HIGH);

digitalWrite(11, HIGH);

delay(100);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

delay(100);

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

digitalWrite(10, HIGH);

digitalWrite(11, HIGH);

delay(100);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

delay(100);

break;

}

key_value = results.value;

irrecv.resume();

}

}

本文地址:https://www.cknow.cn/archives/616

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任。特此声明!

如发现本站文章存在版权问题,烦请提供版权疑问、侵权链接、联系方式等信息发邮件至candieraddenipc92@gmail.com,我们将及时沟通与处理。