灯遥控器怎么配对,照明遥控器配对教程
实现现象:接遥控器上面对应的数字,会点亮对应的灯。按第一下开灯,再按同样的键。关灯。
硬件接线:红外接收头接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,我们将及时沟通与处理。