版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Mixly遥控调光器
组块化编程
下面直接上代码
#include <IRremote.h>
//定义好变量
volatile int LED;
IRrecv irrecv_5(5);
decode_results results_5;
long ir_item;
volatile boolean ledstate;`
void setup(){
Serial.begin(9600);
irrecv_5.enableIRIn();
pinMode(10, OUTPUT);
LED = 0;
ledstate = 0;
}
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);
irrecv_5.resume();
} else {
}
if (ir_item == 0xFF629D) {
digitalWrite(10,(!digitalRead(10)));
}
if (ir_item == 0xFF629D) {
ledstate = !ledstate;
LED = ledstate * 128;
}
if (LED != 0 && ir_item == 0xFFE21D) {
LED = constrain(LED, 1, 255);
LED = LED - 50;
}
if (LED != 0 && ir_item == 0xFFA25D) {
LED = constrain(LED, 1, 255);
LED = LED + 50;
}
analogWrite(10,LED);
}
下面给出组块的拼接