En Universal RFID nyckel (4 / 9 steg)
Steg 4: Programvaran - in data i våra kort
Programvaran var nästa. Med hjälp av Arduino IDE, genomfört jag ett enkelt menysystem som tillät mig att ange den berörda anläggningen och CardID data direkt från knappsatsen. Jag gav också ett sätt att visa data med hjälp av lysdioder som jag monterat i styrelsen.Ett problem jag kom över, var när jag beräkningen av kortdata (paritet och kontrollsumma) i farten - läsas framgångsrikt, kortet har att mata ut data i realtid (de flesta läsare behöver ett antal sekventiell giltig läsningar) och som läsaren var orolig att lägga subrutin och beräkning förseningar orsakas kortet till utgång ogiltiga data. Jag arbetade runt detta problem genom att fylla en matris med bitar som får skickas när kortet är i överför mer. På så sätt beräkningarna görs bara en gång.
När kortet drivs upp, väntar det på mode-knappen pressas. Aktuellt läge nummer visas en uppsättning 4 lysdioder. Varje tryck på knappen 'läge' steg aktuellt läge. När rätt läge visas, sedan 'skriva' nyckeln börjar att funktionen körs.
Läge 1 - ange lågenergiläge (sova)
Kortet går in i lågenergiläge, väntar på reset-knappen pressas att åter väcka det
Läge 2 - ange en Hex anläggning-ID
Kortet väntar 2 siffror anges betecknar anläggning koden för detta system (i detta fall, det är 2C) - programvaran som standard 2C - så detta inte behöver anges.
Läge 3 - Decimal kort-ID
Kortet väntar 8 siffror anges betecknar CardID för kortet till förfalskas (i detta fall, det är 07820706) - Detta är den långa nummer tryckt på baksidan av kortet, inte antalet 119,21922.
Läge 4 - dumpa anläggning och kort-ID
Anläggningen och kort-ID dumpas som Hex siffror med 4 lysdioder överst på kortet.
Läge 5 - emulera en kort
Kortet går in emuleringsläge - alla lysdioder är avstängda. Emuleringsläge kan endast vara avslutades genom att trycka på reset-knappen.
Programvaran bygger på Mark Stanley och Alexander Brevig knappsatsen bibliotek http://www.arduino.cc/playground/Code/Keypad