Código Rfid

hey.. he probado este firmware y hace lo siguiente
1- cuando detecta el tag que tiene "B" enciende y deja encendido el led en el pin 13 y muestra la "B" en el serial monitor
2- pero cuando lee otra tarjeta enciende y apaga el led, hasta dejarlo apagado, mismo pin 13, no tengo más led =( aquí muestra en serial monitor el valor que está en la posición 13 del string de la tarjeta.

Si tomas el código y lo cargas sin hacer cambios el punto 2 se cumplirá si o si :slight_smile:

cuentanos que va resultando 8)

lo que sí aun no entiendo porque debo pasar dos veces la tarjeta :~ para lograr hacer lo que indique arriba :slight_smile:

int  val = 0; 
char code[14];
// 2 dígitos del código de fabricación
// 10 dígitos del código de tarjeta
// 2 dígitos bits de paridad
int bytesread = 0; 
int ledrojo = 8;
int ledverde = 13;
int Rest = 2;


void setup() { 

  Serial.begin(9600);     // RFID lector TX pin, Velocidad de transmisión: 9600, Bits de datos: 8, bit de parada: 1.
  pinMode(Rest,OUTPUT);      // Set 2 pin digital como OUTPUT para conectar con el pin RESET RFID
  pinMode(ledrojo,OUTPUT);
  pinMode(ledverde,OUTPUT);
 // digitalWrite(Rest, HIGH);  // Activar el lector RFID
}  


void loop() { 

  if(Serial.available() > 0) {            // Si se dispone de datos de lector
    if((val = Serial.read()) == 10) {     // comprobar cabecera
      bytesread = 0; 
      while(bytesread < 14) {             // leer 14 dígitos del código de
        if( Serial.available() > 0) { 
          val = Serial.read(); 
          if((val == 10)||(val == 13)) {  // si el encabezado o dejar de bytes antes de la lectura de 10 dígitos
            break;                        // dejar de leer
          } 
          code[bytesread] = val;          // añadir el dígito
          bytesread++;                    // listo para leer siguiente dígito
        } 
      } 
    //  if(bytesread == 14) {               // si tiene 14 dígitos de lectura se ha completado
       // Serial.print("TAG code is: ");    // TAG posiblemente un buen
        //Serial.println(code[13]);        // imprimir el código de la etiqueta
       // Serial.println(code);        // imprimir el código de la etiqueta
        
        if (code[13] == 'B')    //mi tag es: x2400CC392AFBxxx y el otro tag que tengo es x2400CC572897xxx
        {
          Serial.println(code[13]);
          digitalWrite(13, HIGH);
        }
        else                
        {
        Serial.println(code[13]);
        digitalWrite(13, HIGH);   // set the LED on
        delay(1000);              // wait for a second
        digitalWrite(13, LOW);    // set the LED off
        delay(1000); 
        digitalWrite(13, HIGH);   // set the LED on
        delay(1000);              // wait for a second
        digitalWrite(13, LOW);    // set the LED off
        delay(1000);
        
        }
    } 
      bytesread = 0; 
     // digitalWrite(Rest, LOW);               // desactivar el lector de RFID por un momento para que no se inunde
     // delay(1500);                        // esperar un poco
    //  digitalWrite(Rest, HIGH);              // Activar el lector RFID
      //digitalWrite(ledrojo, LOW);
      //digitalWrite(ledverde, LOW);
  //} 
  } 
}