Gracias ricobos:
He hecho la prueba con los cambios que me indicas, el Monitor serial continua detallando los numeros de las tarjetas pero no se me enciende ninguno de los leds.
Te detallo el nuevo código utilizado:
[codeint 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 = 9;
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); // imprimir el código de la etiqueta
if (code == "5200043602820E")
{
digitalWrite(ledrojo, HIGH);
}
if (code == "4B001085431305")
{
digitalWrite(ledverde, HIGH);
}
}
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);
}
}
}
]