#define PIN_RED 23
#define PIN_GREEN 22
#define PIN_BLUE 21
void setup() {
pinMode(PIN_RED, OUTPUT);
pinMode(PIN_GREEN, OUTPUT);
pinMode(PIN_BLUE, OUTPUT);
// Inicia los LEDs apagados (encendido completo debido al ánodo común)
analogWrite(PIN_RED, 255);
analogWrite(PIN_GREEN, 255);
analogWrite(PIN_BLUE, 255);
}
void loop() {
// Sube la intensidad del rojo a 255 (encender)
fadeOut(PIN_RED); // Cambiado a fadeOut para aumentar la intensidad en ánodo común
// Sube la intensidad del verde a 255 (queda amarillo)
fadeOut(PIN_GREEN); // Cambiado para ánodo común
// Baja la intensidad del rojo a 0 (queda verde)
fadeIn(PIN_RED); // Cambiado para ánodo común
// Sube la intensidad del azul a 255 (queda cian)
fadeOut(PIN_BLUE); // Cambiado para ánodo común
// Baja la intensidad del verde a 0 (queda azul)
fadeIn(PIN_GREEN); // Cambiado para ánodo común
// Sube la intensidad del rojo a 255 (queda magenta)
fadeOut(PIN_RED); // Cambiado para ánodo común
// Sube la intensidad del verde a 255 (queda blanco)
fadeOut(PIN_GREEN); // Cambiado para ánodo común
// Una pausa antes de repetir la secuencia
delay(1000);
}
// Función para "incrementar" la intensidad de un LED en ánodo común
void fadeOut(int pin) {
for (int i = 255; i >= 0; i--) {
analogWrite(pin, i);
delay(10);
}
}
// Función para "disminuir" la intensidad de un LED en ánodo común
void fadeIn(int pin) {
for (int i = 0; i <= 255; i++) {
analogWrite(pin, i);
delay(10);
}
}