Created
January 13, 2016 17:18
-
-
Save MarcelRobitaille/bebb855812428b19bb2c to your computer and use it in GitHub Desktop.
(Arduino) IR controlled RGB LED
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <./IRremote.h> | |
int pinR = 9; | |
int pinG = 6; | |
int pinB = 5; | |
int pinSignal = 11; | |
IRrecv irrecv(pinSignal); | |
decode_results results; | |
long codes[6]= { | |
0xFD28D7, //4 | |
0xFD18E7, //7 | |
0xFDA857, //5 | |
0xFD9867, //8 | |
0xFD6897, //6 | |
0xFD58A7 //9 | |
}; | |
int valR = 0; | |
int valG = 0; | |
int valB = 0; | |
void setup(){ | |
Serial.begin(9600); | |
irrecv.enableIRIn(); | |
pinMode(pinR, OUTPUT); | |
pinMode(pinG, OUTPUT); | |
pinMode(pinB, OUTPUT); | |
} | |
void loop(){ | |
if(irrecv.decode(&results)){ | |
if(results.value == codes[0] && valR < 255){ | |
valR++; | |
} | |
else if(results.value == codes[1] && valR > 0){ | |
valR--; | |
} | |
else if(results.value == codes[2] && valG < 255){ | |
valG++; | |
} | |
else if(results.value == codes[3] && valG > 0){ | |
valG--; | |
} | |
else if(results.value == codes[4] && valB < 255){ | |
valB++; | |
} | |
else if(results.value == codes[5] && valB > 0){ | |
valB--; | |
} | |
display(valR, valG, valB); | |
Serial.print("Red: "); | |
Serial.println(valR); | |
Serial.print("Green: "); | |
Serial.println(valG); | |
Serial.print("Blue: "); | |
Serial.println(valB); | |
Serial.println(""); | |
irrecv.resume(); | |
} | |
} | |
void display(int red, int green, int blue){ | |
analogWrite(pinR, constrain(red, 0, 255)); | |
analogWrite(pinG, constrain(green, 0, 255)); | |
analogWrite(pinB, constrain(blue, 0, 255)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment