// *Interfacing RGB LED with Arduino
// * Author: Osama Ahmed
//Defining variable and the GPIO pin on Arduino
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
int pot = 0;
byte brig = 0;
float f = 0;
byte r = 0;
void setup() {
Serial.begin(115200);
//Defining the pins as OUTPUT
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(A0, INPUT);
}
void loop() {
pot = analogRead(A0);
Serial.print("pot: ");
Serial.println(pot);
brig = map(pot, 0, 1023, 0, 100);
Serial.print("brig: ");
Serial.println(brig);
Serial.println("----------------");
setColor(255, 0, 0, brig); // Red Color
delay(1000);
/*
setColor(0, 255, 0, brig); // Green Color
delay(1000);
setColor(0, 0, 255, brig); // Blue Color
delay(1000);
setColor(255, 255, 255, brig); // White Color
delay(1000);
setColor(170, 0, 255, brig); // Purple Color
delay(1000);
setColor(127, 127, 127, brig); // Light Blue
delay(1000);
*/
}
void setColor(int redValue, int greenValue, int blueValue, byte prc) {
f = prc;
f = f / 100;
Serial.print("f: ");
Serial.println(f);
r = redValue * f;
Serial.print("Red: ");
Serial.println(r);
analogWrite(redPin, redValue * f);
analogWrite(greenPin, greenValue * f);
analogWrite(bluePin, blueValue * f);
}