Étape 3: logiciel
#include < Wire.h >
#include < Adafruit_NFCShield_I2C.h >
#define IRQ 6 / / cette trace doit être découpée et secourables !
#define RESET 8
Adafruit_NFCShield_I2C nfc (IRQ, RESET) ;
//////////////////////////////////// SETUP
void setup() {}
mettre en place une bibliothèque série à 9600 bps
Serial.Begin(9600) ;
trouver le bouclier Adafruit RFID/NFC
NFC.Begin() ;
uint32_t versiondata = nfc.getFirmwareVersion() ;
Si (! versiondata) {}
Serial.Print ("n’a pas trouvé PN53x board") ;
while (1) ; Halt
}
A obtenu des données ok, imprimez-le !
Serial.Print ("Found puce PN5 ») ; Serial.println ((versiondata >> 24) & 0xFF, HEX) ;
Serial.Print ("Firmware Ver.") ; Serial.Print ((versiondata >> 16) & 0xFF, DEC) ;
Serial.Print('.') ; Serial.println ((versiondata >> 8) & 0xFF, DEC) ;
configurer Office pour lire les étiquettes RFID
NFC. SAMConfig() ;
Keyboard.Begin() ; lancer le clavier
}
/////////////////////////////////// LOOP
chiffres non signé = 0 ;
void loop() {}
uint8_t succès ;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0} ; Tampon pour stocker l’UID retourné
uint8_t uidLength ; Longueur de l’UID (4 ou 7 octets selon ISO14443A type de carte)
Attendez que la carte RFID s’affiche !
Serial.println ("Waiting for une carte ISO14443A...") ;
Attendez un ISO14443A type cartes (Mifare, etc.). Quand on se trouve
« uid » sera rempli avec l’UID et indiquera à l’uidLength
Si l’uid est 4 (Mifare Classic) ou 7 octets (Mifare Ultralight)
succès = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, & uidLength) ;
uint32_t cardidentifier = 0 ;
Si (success) {}
Trouvé une carte !
Serial.Print ("carte détectée #") ;
tourner le FourBytes UID d’un mifare classic dans une seule variable #
CardIdentifier = uid [3] ;
CardIdentifier << = 8 ; CardIdentifier | = uid [2] ;
CardIdentifier << = 8 ; CardIdentifier | = uid [1] ;
CardIdentifier << = 8 ; CardIdentifier | = uid [0] ;
Serial.println(CardIdentifier) ;
Si (cardidentifier == 606061173) {}
Keyboard.Write('m') ;
Keyboard.Write('y') ;
Keyboard.Write('p') ;
Keyboard.Write('a') ;
Keyboard.Write('s') ;
Keyboard.Write('s') ;
Keyboard.Write('w') ;
Keyboard.Write('o') ;
Keyboard.Write('r') ;
Keyboard.Write('d') ;
Delay(5000) ; s’assure que le mot de passe n’est pas répété
}
}
}
Une fois que le code est téléchargé, ouvrez le moniteur série à 9600 bauds. Placer le tag NFC sur le bouclier pendant une seconde et puis l’enlever. Le moniteur de la série doit dire: « Carte détectée nombre #card. » Copiez le numéro de carte unique et collez-le dans le cardidentifier == 606061173 énoncé dans le code. Le numéro de carte remplacera 606061173. Puis modifiez les déclarations keyboard.write de préciser votre lettre d’un mot de passe à la fois. Reupload le code, et chaque fois que l’étiquette NFC est placée sur le bouclier il tapera votre mot de passe pour vous.