Control de cuatro leds, por medio del monitor serial ingresando cadenas

Hola buen día.

¿Podrían ayudarme con un proyecto que estoy comenzando? Les comparto parte del proyecto que estoy realizando para que tengan más noción del tema. Menciono que solo Es una parte.

El proyecto proyecto consiste en un conjunto de 4 LEDs, los cuales deberán encender y/o apagar según una **serie de condiciones y un comando asociado para cada LED**.
De inicio, todos los LED estarán apagados, y por medio del monitor serial se solicitará qué LED se encenderá, escribiendo el nombre asociado al LED:
• Alfa
• Beta
• Gamma
• Omega
Una vez declarado el nombre para cada LED, se ingresará el número de veces que se desea que encienda o apague dicho LED hasta un máximo de 20 veces.

NOTA: Se debe indicar en todo momento las veces que lleva encendido o si algún dato no coincide con lo que se solicita. Una vez culminen los encendidos y apagados de un LED, todo debe apagarse.

les adjunto el código que con el que he estado trabajando.

  int LedVerde =9; // Pin digital para el LED 
  int LedAzul=8; 
  int LedRojo=10;
  int LedAmarillo=11; 
  
    
  void setup() 
  { 
    pinMode(LedVerde, OUTPUT); 
    pinMode(LedAzul, OUTPUT); 
    pinMode(LedRojo, OUTPUT); 
    Serial.begin(9600); 
  } 
    
  void loop() 
  { 
while(Serial.available()>0){
    String entrada = Serial.readStringUntil('\n');
    entrada = entrada.substring(0,entrada.length());
 
    
      if ((entrada.equals("Alfa")))
      { 
   Serial.println("LED verde: selecina las veces que se encendera el LED num: 1 al 20");
  
  for (int i=0; i<20;i++){
  Serial.println("veces encendido: "+i);
  digitalWrite(LedVerde, HIGH);
  delay(100); 
  Serial.print("El led Verde está: "); // Mostramos valores a través del monitor serie 
  Serial.print(" Encendido"); 
  Serial.print("\n");
      
    }
      }else if ((entrada.equals("Beta"))){ // carácter recibido     

   Serial.println("Beta: selecina las veces que se encendera el LED num: 1 al 20");
  
        for (int i=0; i<20;i++){
    Serial.println("veces encendido: "+i);
    digitalWrite(LedRojo, HIGH);
   delay(10);
   }
        Serial.print("El led Rojo está: "); // Mostramos valores a través del monitor serie 
      Serial.print(" Encendido"); 
      Serial.print("\n");
      }
      else if ((entrada.equals("Gama")))     
     { 
         Serial.println("Gama: selecina las veces que se encendera el LED num: 1 al 20");
  
         for (int i=0; i<20;i++){
    Serial.println("veces encendido: "+i);
   digitalWrite(LedAzul, HIGH);
   delay(10);
  }
       Serial.print("El led Verde está: "); // Mostramos valores a través del monitor serie 
      Serial.print(" Encendido"); 
      Serial.print("\n");
      } 
      else if ((entrada.equals("Omega"))) { 
         Serial.println("Omega: selecina las veces que se encendera el LED num: 1 al 20");
  
       for (int i=0; i<20;i++){
     Serial.println("veces encendido: "+i);
   digitalWrite(LedAmarillo, HIGH);
   delay(10);
  }
       Serial.print("El led Amarillo está: "); // Mostramos valores a través del monitor serie 
      Serial.print("Encendido"); 
      Serial.print("\n");
      delay(20);
      }
     entrada="";    
   }
  }

menciono que soy novato. apenas estoy iniciando en el mundo de ARDUINO

Y cual es tu pregunta?

La pregunta?? es porque al al crear el FOR y ejecutarlo se imprime en cascada la cadena agregada.
si lo que deseo agregar es el numero de veces a encender y apagar.

Gama: selecina las veces que se encendera el LED num: 1 al 20
veces encendido:
eces encendido:
ces encendido:
es encendido:
s encendido:
encendido:
encendido:
ncendido:
cendido:
endido:
ndido:
dido:
ido:
do:
o:
:

El led Verde está:
l led Verde está:
El led Verde está: Encendido

No puede usar la suma para imprimir múltiples objetos en una print() operacion. imprimirlos por separado:

`Serial.print("veces encendido: ");`
`Serial.println(i);`

:warning:
Código corregido

Tu publicación fue ** MOVIDA ** a su ubicación actual ya que es más adecuada.

¿Podría también tomarse unos minutos para Aprenda a usar el foro .

Moderador:
Por favor, lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte.
Si escribes en español debes usar el foro Arduino en español.

Te falta definir en el setup el LedAmarillo. Que seguramente no funciona.

Cuando presentes códigos en el foro, usa CONTROL+T para darle formato y que las cosas queden debidamente identadas. Ayuda a poder leerlo.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.