this is my code and its working but i don't know how to add the Multicolor LED cycles through the a spectrum of colors / light frequencies
// Defines the pin used for each color
int ledRed=3;
int ledBlue=5;
int ledGreen=6;
// Save the values to designate each color (0-254)
int valueRed=254;
int valueGreen=254;
int valueBlue=254;
// Defines the pins used for buttons
int BotonSelect = 8;
int BotonReduce = 9;
int BotonIncrement = 10;
int ledSelected = 0;
void setup()
{
//Note that the pins used by the buttons are INPUT
pinMode(BotonSelect, INPUT);
pinMode(BotonReduce, INPUT);
pinMode(BotonIncrement, INPUT);
analogWrite(ledRed, 255);
}
// Default value: Red
// 0= Red, 1=Green, 2=Blue
int pinLed = 0;
void loop()
{
int valueLed = 0;
if (digitalRead(BotonSelect) == HIGH)
{
pinLed++;
// To not spend laps
if (pinLed > 2) { pinLed=0; }
// We turn off all LEDs and eluego is what will display only the LED Selected
analogWrite(ledRed, 0);
analogWrite(ledGreen, 0);
analogWrite(ledBlue, 0);
// We wait until the button is released
while (digitalRead(BotonSelect) == HIGH) { }
delay(10); // We expect a little more ...
}
// Check if the value increases
if (digitalRead(BotonIncrement) == HIGH)
{
if (pinLed == 0) { valueRed++; }
if (pinLed == 1) { valueGreen++; }
if (pinLed == 2) { valueBlue++; }
delay(5);
}
// Check if the value reduce
if (digitalRead(BotonReduce) == HIGH)
{
if (pinLed == 0) { valueRed--; }
if (pinLed == 1) { valueGreen--; }
if (pinLed == 2) { valueBlue--; }
delay(5);
}
// This is to not be of turns in the output value (0-254)
if (valueRed > 254) { valueRed=254; }
if (valueRed < 0) { valueRed=0; }
if (valueGreen > 254) { valueGreen=254; }
if (valueGreen < 0) { valueGreen=0; }
if (valueBlue > 254) { valueBlue=254; }
if (valueBlue < 0) { valueBlue=0; }
// Update the color value Selected
if (pinLed == 0) { analogWrite(ledRed, valueRed); }
if (pinLed == 1) { analogWrite(ledGreen, valueGreen); }
if (pinLed == 2) { analogWrite(ledBlue, valueBlue); }
}