#define ledVerde 22
#define ledRojom 23
#define ledRojoM 21
int contador = 20; // Valor inicial del contador
void setup() {
pinMode(ledVerde, OUTPUT);
pinMode(ledRojom, OUTPUT);
pinMode(ledRojoM, OUTPUT);
Serial.begin(115200);
Serial.println("Contador inicial: " + String(contador));
}
void loop() {
// Espera a que haya datos disponibles en el puerto serie
while (!Serial.available()) {
// Esperar
}
// Lee el carácter del puerto serie
char input = Serial.read();
// Incrementa o decrementa el contador según la entrada
if (input == '+') {
contador++;
if (contador > 23) {
contador = 20; // Reinicia el contador si excede 23
}
} else if (input == '-') {
contador--;
if (contador < 20) {
contador = 20; // No permitir que el contador baje de 20
}
}
// Controla los LEDs según el valor del contador
digitalWrite(ledVerde, LOW);
digitalWrite(ledRojom, LOW);
digitalWrite(ledRojoM, LOW);
// Enciende el LED correspondiente al valor del contador
if (contador == 21) {
digitalWrite(ledVerde, HIGH);
} else if (contador == 22) {
digitalWrite(ledRojom, HIGH);
} else if (contador == 23) {
digitalWrite(ledRojoM, HIGH);
}
// Muestra el estado actual del contador por el puerto serie
Serial.println("Contador: " + String(contador));
// Pequeña pausa para evitar saturar la salida
delay(100);
}