Encender led con 2 carácteres

Hola gente buenos días. Les comento que estoy tratando de encender led's desde el monitor serial pero no se que estoy haciendo mal que solo me permite 1 carácter, es decir, de 0 a 9. Por ejemplo: Si yo con el 1 enciendo led rojo, y quiero encender led azul con el 10, resulta que me detecta el 1 solo y me enciende el rojo. Hay alguna forma de que me detecte 2 caracteres y no 1? No se si me explico bien. Gracias

Buenos días. Si yo fuese adivino jugará el powerball y viviera en silicon valley. Postea tu código para saber que estas haciendo mal.

char caracter; String comando; int luzB = 4; //LUZ BLANCA PIN 4 int luzV = 10; //LUZ VERDE PIN 10 int luzA = 6; //LUZ AMARILLA PIN 6 int luzR = 12; //LUZ ROJA PIN 12 int luzAz = 8; //LUZ AZUL PIN 8 int burbujero = 2; //BURBUJERO PIN 2 int luznegra = 3; //LUZ NEGRA PIN 3

void setup() {

Serial.begin(115200);

pinMode(luzB, OUTPUT); //DECLARAMOS LUZ BLANCA COMO SALIDA. pinMode(luzV, OUTPUT); //DECLARAMOS LUZ VERDE COMO SALIDA. pinMode(luzA, OUTPUT); //DECLARAMOS LUZ AMARILLA COMO SALIDA. pinMode(luzR, OUTPUT); //DECLARAMOS LUZ ROJA COMO SALIDA. pinMode(luzAz, OUTPUT); //DECLARAMOS LUZ AZUL COMO SALIDA. pinMode(burbujero, OUTPUT); //DECLARAMOS BURBUJERO COMO SALIDA. pinMode(luznegra, OUTPUT); //DECLARAMOS LUZ NEGRA COMO SALIDA.

}

void loop() {

while (Serial.available()>0){ // Si existen datos de entrada en la comunicacion serial hacer lo siguiente...

caracter= Serial.read(); // Guardamos el dato introducido.

comando.concat(caracter); // Guarda el estado que vb le manda a arduino.

}

if (comando.equals("2") == true) { //ENVIA UN 2 Y ENCIENDE LUZ BLANCA

digitalWrite(luzB, HIGH); comando = "";

}

if (comando.equals("4") == true) { //ENVIA UN 4 Y ENCIENDE LUZ AZUL

digitalWrite(luzAz, HIGH); comando = ""; }

if (comando.equals("8") == true) { //ENVIA 8 Y ENCIENDE LUZ VERDE

digitalWrite(luzV, HIGH); comando = "";

}

if (comando.equals("16") == true) { //ENVIA 16 Y ENCIENDE LUZ ROJA

digitalWrite(luzR, HIGH); comando = "";

}

if (comando.equals("32") == true) { //ENVIA 32 Y ENCIENDE LUZ AMARILLA

digitalWrite(luzA, HIGH); comando = "";

}

if (comando.equals("1") == true) { // ENCIENDE LUZ NEGRA

digitalWrite(luznegra, HIGH); comando = "";

}

if (comando.equals("0") == true) { // APAGA LUZ NEGRA

digitalWrite(luznegra, LOW); comando = "";

}

if (comando.equals("64") == true) { // ENCIENDE BURBUJERO

digitalWrite(burbujero, HIGH); comando = "";

}

if (comando.equals("3") == true) { // APAGA BURBUJERO

digitalWrite(burbujero, LOW); comando = "";

} }

Ese es el código

Si solo vas a trabajar con numeros ,seria mas sencillo usar Serial.parseInt() y evaluar la respuesta con switch:

int comando;
int luzB = 4;          //LUZ BLANCA PIN 4
int luzV = 10;         //LUZ VERDE PIN 10
int luzA = 6;          //LUZ AMARILLA PIN 6
int luzR = 12;         //LUZ ROJA PIN 12
int luzAz = 8;         //LUZ AZUL PIN 8
int burbujero = 2;     //BURBUJERO PIN 2
int luznegra = 3;      //LUZ NEGRA PIN 3

void setup() {
  
 Serial.begin(115200);

 pinMode(luzB, OUTPUT);       //DECLARAMOS LUZ BLANCA COMO SALIDA.
 pinMode(luzV, OUTPUT);       //DECLARAMOS LUZ VERDE COMO SALIDA.
 pinMode(luzA, OUTPUT);       //DECLARAMOS LUZ AMARILLA COMO SALIDA.
 pinMode(luzR, OUTPUT);       //DECLARAMOS LUZ ROJA COMO SALIDA.
 pinMode(luzAz, OUTPUT);      //DECLARAMOS LUZ AZUL COMO SALIDA.
 pinMode(burbujero, OUTPUT);  //DECLARAMOS BURBUJERO COMO SALIDA.
 pinMode(luznegra, OUTPUT);   //DECLARAMOS LUZ NEGRA COMO SALIDA.
 

}

void loop() {

if (Serial.available()>0){         // Si existen datos de entrada en la comunicacion serial hacer lo siguiente...

  comando = Serial.parseInt();              // Guardamos el dato introducido.
  switch (comando) {
    case 2:
      digitalWrite(luzB, HIGH);
      break;
    case 4:
      digitalWrite(luzAz, HIGH);
      break;
    // Y asi con todos los if  
  }  
}
}

Por cierto ,el codigo se adjunta con el tag de code </> ,es el primero arriba a la izquierda.

Millones de gracias genio! anduvo de 10!