Stap 3: Software
#include < Wire.h >
#include < Adafruit_NFCShield_I2C.h >
#define IRQ-6 / / deze tracering moet snijden en herbedraad!
#define RESET 8
Adafruit_NFCShield_I2C nfc (IRQ, RESET);
//////////////////////////////////// SETUP
VOID Setup {}
instellen van seriële bibliotheek 9600 bps
Serial.begin(9600);
vinden van Adafruit RFID/NFC schild
NFC.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
Als (! versiondata) {}
Serial.Print vinden ("niet PN53x bord");
terwijl (1); stoppen
}
Kreeg ok gegevens, uitprinten!
Serial.Print ("gevonden chip 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);
configureren van de Raad van bestuur om te lezen van RFID-tags
NFC. SAMConfig();
Keyboard.begin(); starten van het toetsenbord
}
/////////////////////////////////// LOOP
niet-ondertekende cijfer = 0;
void loop {}
uint8_t succes;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; Buffer voor het opslaan van de geretourneerde UID
uint8_t uidLength; Lengte van de UID (4 of 7 bytes, afhankelijk van het kaarttype ISO14443A)
wachten voor RFID-kaart te tonen!
Serial.println ("Waiting for een ISO14443A kaart...");
Wachten op een ISO14443A type kaarten (Mifare, etc.). Als er een wordt gevonden
'uid' wordt gevuld met de UID en uidLength moeten aangeven
Als de uid 4 bytes (Mifare Classic) of 7 bytes (Mifare Ultralight is)
succes = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, & uidLength);
uint32_t cardidentifier = 0;
Als (succes) {}
Vond een kaartje!
Serial.Print ("kaart gedetecteerd #");
Draai de vier byte UID van een mifare classic in een enkele variabele #
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println(cardidentifier);
Als (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); zorgt ervoor dat het wachtwoord wordt niet herhaald
}
}
}
Zodra de code is geladen, open de seriële monitor instellen met 9600 baud. Plaats de NFC tag op het schild voor een tweede en vervolgens verwijderen. De seriële monitor moet zeggen, "Kaart gedetecteerd #card nummer." Het unieke kaartnummer Kopieer en plak deze in de cardidentifier == 606061173 instructie in de code. Het kaartnummer wordt vervangen door 606061173. Wijzig de verklaringen van de keyboard.write duidelijk te maken uw wachtwoord één letter tegelijk. Reupload de code, en wanneer de NFC-tag is geplaatst op het schild zal het Typ uw wachtwoord voor u.