Stap 4: De Software - invoeren van gegevens in onze kaart
De software was de volgende. Met behulp van de Arduino IDE, uitgevoerd ik een eenvoudige menu-systeem dat stond me toe om de relevante faciliteit en CardID gegevens rechtstreeks via het toetsenbord invoeren. Ik heb ook mits een manier van weergeven van de gegevens met behulp van de LED's die ik gemonteerd op het bord.Één probleem ik kwam, was toen ik was het berekenen van de kaartgegevens (pariteit en controlesom) op de vlieg - met succes worden gelezen, de kaart heeft voor de uitvoer van gegevens in real time (de meeste lezers moeten een aantal opeenvolgende geldig leest) en de kaart op uitvoer ongeldige gegevens toevoegen subroutine en berekening vertragingen veroorzaakt, voorzover de lezer betrokken was. Ik heb gewerkt rond dit probleem door het vullen van een matrix van bits die wordt verstuurd wanneer de kaart is in meer verzenden. Op die manier de berekeningen zijn gedaan slechts eenmaal.
Wanneer de kaart is ingeschakeld, wacht hij op de 'mode' toets ingedrukt worden. Het nummer van de huidige modus wordt weergegeven met behulp van een set van 4 LEDs. Elke druk op de knop 'mode' verhoogt de huidige modus. Zodra de juiste modus wordt weergegeven, start de 'enter'-toets of het uitvoeren van die functie.
MODE 1 - modus voor laag stroomverbruik (slaap)
De card betreedt een modus voor laag stroomverbruik, wachten op de reset-knop worden ingedrukt om te ontwaken opnieuw het
Modus 2 - een Hex faciliteit-ID invoeren
De kaart wacht op 2 cijfers moeten worden ingevoerd die de code van de faciliteit voor dit systeem betekent (In dit geval is 2C) - de software standaard 2C - dus dit niet hoeft te worden ingevoerd.
MODE 3 - decimale Card ID
De kaart wordt gewacht tot 8 cijfers moeten worden ingevoerd de CardID voor de kaart te worden vervalst betekenende (In dit geval is het 07820706) - Dit is het lange nummer afgedrukt op de achterzijde van de kaart, niet het 119,21922 nummer.
Modus 4 - Dump de faciliteit en de kaart-ID
De faciliteit en de kaart-ID zijn gedumpt als Hex getallen met behulp van de 4 LED's aan de bovenkant van de kaart.
Modus 5 - emuleren een kaart
De card betreedt emulatiemodus - alle LED's zijn uitgeschakeld. Emulatiemodus kan alleen worden verlaten door op de reset-knop te drukken.
De software steunt op Mark Stanley's en Alexander Brevig het toetsenblok bibliotheek http://www.arduino.cc/playground/Code/Keypad