Ciao a tutti, vi prego di perdonarmi se scrivo qualche castroneria.
sto affrontando la libreria MFRC522, dalla quale ho caricato l'esempio ReadNUID.
a un certo punto, dopo che ha verificato che sia tutto ok, tramite un ciclo for, scrive su un array chiamato "rfid.uid.uidByte[i]" il valore comunicato dalla scheda.
io dichiaro un altro array, chiamato byte a[4], che dovrebbe essere identico a quello che ha letto lui.
Stampando su seriale, sia il mio che il suo array sono apparentemente identici. Eppure, successivamente ho messo un if, che dovrebbe verificare se i due array sono uguali e, se lo sono, dovrebbe stampare su seriale "OK".
Tuttavia non accade e non so dove sto errando.
Grazie a chiunque abbia voglia di aiutarmi.
if (rfid.uid.uidByte[0] != nuidPICC[0] ||
rfid.uid.uidByte[1] != nuidPICC[1] ||
rfid.uid.uidByte[2] != nuidPICC[2] ||
rfid.uid.uidByte[3] != nuidPICC[3] ) {
Serial.println(F("A new card has been detected."));
// Store NUID into nuidPICC array
for (byte i = 0; i < 4; i++) {
nuidPICC[i] = rfid.uid.uidByte[i];
}
byte a[4] = {99,101,138,145};
printDec(a, rfid.uid.size);
Serial.println();
Serial.println(F("The NUID tag is:"));
Serial.print(F("In hex: "));
printHex(rfid.uid.uidByte, rfid.uid.size);
Serial.println();
Serial.print(F("In dec: "));
printDec(rfid.uid.uidByte, rfid.uid.size);
Serial.println();
if (rfid.uid.uidByte == a){
Serial.print("OK");
Serial.println();
}