#include <IRremote.h>
IRrecv receiver(9);
void setup() {
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
receiver.enableIRIn();
}
int counter = 0;
void loop() {
if(receiver.decode()){
int value = 0;
value = receiver.decodedIRData.command;
receiver.resume();
}
while(receiver.decodedIRData.command == 2){
plus();
receiver.decodedIRData.command = 0;
}
while(receiver.decodedIRData.command == 152){
minus();
receiver.decodedIRData.command = 0;
}
if(receiver.decodedIRData.command == 48){
green();
}
else if(receiver.decodedIRData.command == 24){
red();
}
else if(receiver.decodedIRData.command == 122){
blue();
}
else if(receiver.decodedIRData.command == 16){
white();
}
/*else if(receiver.decodedIRData.command == 104){
custom();
}*/
}
void red(){
analogWrite(13, counter);
analogWrite(12, 0);
analogWrite(11, 0);
}
void green(){
analogWrite(13, 0);
analogWrite(12, counter);
analogWrite(11, 0);
}
void blue(){
analogWrite(13, 0);
analogWrite(12, 0);
analogWrite(11, counter);
}
void white(){
analogWrite(13, counter);
analogWrite(12, counter);
analogWrite(11, counter);
}
void plus(){
counter = counter + 15;
if(counter >255){
counter = 255;
}
Serial.println(counter);
}
void minus(){
counter = counter - 15;
if(counter <0){
counter = 0;
}
Serial.println(counter);
}
/*void custom(){
analogWrite(13, 0);
analogWrite(12, 0);
analogWrite(11, 0);
int wert = 11;
int add=0;
if(receiver.decodedIRData.command == 144 & wert!=13){
wert++;
analogWrite(13, 250);
analogWrite(12, 250);
analogWrite(11, 250);
}
if(receiver.decodedIRData.command == 224 & wert!=11){
wert--;
analogWrite(13, 250);
analogWrite(12, 250);
analogWrite(11, 250);
}
if(receiver.decodedIRData.command == 2){
add+10;
analogWrite(wert, add);
}
if(receiver.decodedIRData.command == 152){
add-10;
analogWrite(wert, add);
}
}*/