Buenos días chicos, estoy desarrollando un proyecto con el RFID-RC522 el cual guarda en una base de datos la id de una tarjeta. El sistema funciona, pero en ocasiones la misma tarjeta RFID, me reporta dos ids parecidas pero diferentes al fin y al cabo. Me sucede en 2 de cada 10 lecturas y necesitaría que fuese muchísimo mas fiable.
¿Alguna idea de porque me sucede esto?¿Puede ser causa del código?
Adjunto parte del código.
void InsertSQL(String uid){
uid.toCharArray(SQLuid,9);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
sprintf(query, INSERT_DATA, SQLuid);
cur_mem->execute(query);
delete cur_mem;
}
void loop() {
Serial.println("1. Esperamos leer tarjeta");
delay(1000);
if ( mfrc522.PICC_IsNewCardPresent())
{
//Seleccionamos una tarjeta
if ( mfrc522.PICC_ReadCardSerial())
{
// Enviamos serialemente su UID
Serial.println("3.Obtenemos el uid");
for (byte i = 0; i < mfrc522.uid.size; i++) {
uid.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : ""));
uid.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println("4.Guardamos en la BBDD");
InsertSQL(uid);
// Terminamos la lectura de la tarjeta actual
mfrc522.PICC_HaltA();
uid="";
}