Surbyte
October 14, 2021, 2:10am
23
Si ese es el caso, creaste una solución para el Led ROJO.
Ahora debes crear otras para Amarillo y Verde.
el amarillos será
if (numero >= 5 && numero <= 7)
el verde
if (numero == 8 || numero == 9)
ya que no puedes usar otra cosa que lo aprendido, entonces disminuye los delay a digamos 100 mseg y cuenta 5 para pasar a la otra opcion pero en todo momento debes hacerlo de otra forma.
Si quieres te explico cómo sería.
1 Like
lo habia pensado asi, pero no me anda, obviamente algo hago mal, cuando lo depuro pasa x el for n veces, y despues se va abajo, no vuelve a arrancar
const int SalidaLedVerde = 2;
const int SalidaLedAmarillo = 10;
const int SalidaLedRojo = 6;
char caracter = ' ';
bool estadoencendido = false;
String palabra = "";
int i = 0;
void setup()
{
Serial.begin(9600);
pinMode(SalidaLedVerde, OUTPUT);
pinMode(SalidaLedAmarillo, OUTPUT);
pinMode(SalidaLedRojo, OUTPUT);
}
void loop()
{
if (Serial.available() > 0)
{
char letra = Serial.read();
String palabra = String(letra);
int numero = palabra.toInt();
if (numero < 5)
{
int i;
for (i = 0; i < numero; i++)
{
digitalWrite(SalidaLedRojo, HIGH);
delay(100);
digitalWrite(SalidaLedRojo, LOW);
delay(100);
}
if (numero >= 5 && numero <= 7)
{
digitalWrite(SalidaLedAmarillo, HIGH);
delay(100);
digitalWrite(SalidaLedAmarillo, LOW);
delay(100);
}
if (numero >= 8 && numero <= 9)
{
digitalWrite(SalidaLedVerde, HIGH);
delay(100);
digitalWrite(SalidaLedVerde, LOW);
delay(100);
}
}
}
}
Revisa donde cierras los if() .
Te doy una pista: si numero es menor que 5 nunca va a estar entre 5 y 7 o entre 8 y 9.
Saludos
1 Like
system
Closed
April 12, 2022, 9:24am
26
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.