Je travaille sur un projet pour mon Makerspace local, nous avons un budget limité alors j'espérais utiliser les lecteurs RFID / NFC RFID-RC522 el'cheap'o sur eBay, j'ai reçu quelques cartes basées sur SPI, elles fonctionnent cependant les exemples de code pour eux sont limités.
J'ai trouvé plusieurs bibliothèques différentes et je me suis installé sur celle-ci: https://github.com/ljos/MFRC522
Le problème est que tout le code disponible en ligne semble provenir du code Python de certains chinois que les gens ont traduit et piraté dans une bibliothèque Arduino.
Le code fonctionne, mais les cartes Mifare sont censées avoir des UID de 4, 7 ou 10 octets et l'exemple / bibliothèque renvoie un numéro de série de 5 octets.
Il n'y a pas de documentation et la fiche technique NXP est incompréhensible ... De plus, elle semble fonctionner avec la plupart des cartes, mais elle ne fonctionne pas avec les cartes Mastercard PayWave qui sont conformes à la norme ISO 14443. Le lecteur RDM880 plus cher qui est basé sur le MFRC500 fonctionne bien et a une belle bibliothèque mais le coût rend l'implémentation impossible.
Alors, quelqu'un peut-il m'aider à obtenir cette unité basée sur NXP MFRC522 lisant l'UID de toutes les cartes ISO 14443.
#include <SPI.h>
#include <MFRC522.h>
#define RFID_SS 10
#define RFID_RST 5
MFRC522 rfid( RFID_SS, RFID_RST );
void setup() {
SPI.begin();
Serial.begin(115200);
rfid.begin();
}
void loop() {
byte data[MAX_LEN];
byte uid[5];
if ( rfid.requestTag( MF1_REQIDL, data ) == MI_OK ) {
if ( rfid.antiCollision( data ) == MI_OK ) {
memcpy( uid, data, 5 );
for ( int i = 0; i < 5; i++ ) {
Serial.print( uid[i], HEX );
Serial.print( ' ' );
}
Serial.println();
}
}
}
uid
tableau est de longueur 5. Avez-vous essayé d'utiliser un tableau plus grand car vous voulez un résultat de 10 octets?