Forum: Mikrocontroller und Digitale Elektronik Arduino + Magnetkartenleser


von Christopher V. (count0)


Angehängte Dateien:

Lesenswert?

Guten nabend :-)

Ich versuche mich daran mir gerade eine kleine "Command Station" auf 
Arduino Duemilanova-Basis zu bauen, also Befehle ueber die 
USB-to-Serial-Schnittstelle auf den PC schicken, die dann mit einem 
kleinen Daemon-Programm (Linux-Rechner) verarbeitet werden. Soll dann am 
Schluss Lautstaerkeregelung (per Potenitometer-Abfrage), Anzahl neuen 
E-Mails im Postfach per LED-Segmentanzeige am Arduino usw. enthalten, 
das Ganze in eine Gehaeuse aus Plexiglas verpackt. Ich hatte auch vor 
das Mounten/Unmounten von verschluesselten Partitionen ueber diese Box 
anzustossen, per RFID-Sensor wenn man sich am Rechner befinded.

Als ich nun mal wieder bei Pollin etwas gestoebert habe ist mir diesser 
Magentkartenleser aufgefallen:

http://www.pollin.de/shop/dt/MDg0ODcyOTk-/Computer_und_Zubehoer/Hardware/Zubehoer/Magnetkartenleser_PANASONIC_ZU_M1363S1E1.html

Da man fuer 5 EUR nun nicht viel falsch machen kann hab ich so ein Ding 
gleich mit eingesackt. Ich habe mir ueberlegt bevor ich deutlich 
teureres RFID-Geraet verbaue probier selbiges mal mit dem Kartenleser, 
dazu noch ne LED die anzeigt wenn die Crypto-Partition am Rechner 
gemountet ist und ein Druckknopf zum Unmounten (statt "Weggehen" bei der 
RFID-Loesung).

Ich habe das Manual/Spezifikationen (Seite 6 und 7 duerften die 
wichtigen sein) des Kartenleser mal an das Posting hier angehaengt fuer 
Detailinformationen. Das Geraet ist, so wie ich das verstehe, wohl kein 
Geraet das die gelesenen Daten einfach per serieller Schnittstelle 
sendet. Mit seriellen Schnittstellen kann ich ganz gut umgehen, mit so 
einem TTL-Geraet habe ich aber leider so ziemlich gar keine Erfahrung so 
dass ich mir nicht so ganz klar bin wie man da rangeht.

Von daher meine Frage, hat jemand Erfahrung mit solcher 
Interface-Technik oder hat sogar schonmal den selben Leser an einen 
Mikrocontroller angeschlossen, der mir nen Tip in die richtige Richtung 
geben koennte? Mein erster Gedanke war das man bei solcher 
Low-Level-Technik die analogen Eingaenge des Arduino "missbraucht" um 
die Signalpegel der Ausgangsleitungen des Lesers in Bits zu uebersetzen. 
Aber ich wollte mich vergewissern bevor ich anfange Rumzuloeten und ne 
Woche ohne Erfolg frustriert Rumprogrammiere.

Gruss,
Chris Vermont.

von Chris (^^) (Gast)


Lesenswert?

Ich hab damit schon was angefangen, ich hab das mit einem µC ATmega 8 
(8MHZ Quarz) und dem gleichen Leser beschalten. Funktioniert bis jetzt 
Teilweise da es unterschiedliche Bitwerte entstehen je nach dem du 
schnell oder langsam die Magnetkarte durchziehst. Wichtig sind die Takt 
und Datenleitungen der einzelnen Spuren die kann man problem los aus 
lesen aber eine Bedingung dazu herzustellen das der z.B. Bitwert der 
Karte 1 immer gleich ist, ist schwierig, z.B.: bei mir kommen zwischen 0 
und 150 Takte und Bitwerte lasse ich dementsprechend berechnen. Der Takt 
habe ich zum Test auf 16 eingegrenz da der µC auch mit 16 Bit arbeitet 
^^, auf jedenfall für jeden Takt errechnet sich 2^n-1 vom Takt der 
Bitwert.

Wenn der Takt 1 ist und die Datenleitung1 = 1 ist also High dann wird 
ein Bit gerechnet.

Ich benutze den Interrupt0 für den Takt und lass ihn bei jeder Int0 
Auslösung um 1 hoch zählen. Die Berechnung erfolgt im Interrupt.

Beispiel:

(n Takte --> Bitwert + 2^n-1)

1 Takt --> 2^1-1 also 2^0 = 1 --> n = 1

(Bitwert1 = Bitwert1 + n) 'Kommentar: jetziger Bitwert1 + 1

Bitwert1 = Bitwert1 + 1

Dann lasse ich Takt und Bitwert an ein LCD Display ausgeben.

Soweit bin ich jetzt könnte man auch noch vom µC zur RS232 Schnittstelle 
zum PC schicken.

Aber wie geschrieben bis jetzt sind die Werte immer unterschiedlich und 
ich weiss auch nicht genau was auf den Karten sind da ich nur meinen 
Code zum berechnen nutze, bzw. die Karten nicht beschrieben hab sondern 
nur gelesen.

Ohne Magnetkarte geht eh nix ich hab zum Glück vom Betrieb übrige 
Zugangskarten zum testen genutzt.

Schreiben wird sicher etwas anders verfahren.

Gruss Chris

(Azubi Lehrjahr 3)

von Chris (^^) (Gast)


Lesenswert?

Habs hinbekommen ich hatte nur ein Fehler in der Hardware man darf die 3 
Taktleitungen nicht zusammen schließen und die Cardload Leitungen auch 
nicht obwohl jeder selber entscheiden kann ob man den Cardload 
braucht/will.

Der Magnetkartenleser ist ein tolles Gerät hat spaß gemacht das zu 
bauen, kleiner tipp: Die Ausgangssignale des Lesers sollten an einen Hex 
Schmitt Trigger und dessen ausgang mit einem RC Glied beschalten werden, 
damit die Signale besser verwertet werden, ich hab das mit dem µC so 
beschalten, damit ich auf Steigende Flanken den Int0 zählen lasse und 
das die Signal "High" = 1 und die "Low" = 0 sind ^^ .

von Ferenc (Gast)


Lesenswert?

Hallo

Ein sehr alter Thread (08/2010), ich weiss.
Ich habe mir vor kurzem ebenfalls drei Stück zugelegt (Ja, die gibts 
immer noch).
Die Leser funktionieren gut und liefern mehr oder weniger Ergebnisse. 
Leider findet man ausser im ausführlichen Manual sehr wenige 
Informationen im Netz. Dieser Thread hat mir sehr geholfen.

Gruss

von Robin P. (aqua443)


Lesenswert?

Den gibt es gerade bei Pollin für 1,95.
Wenn da jemand den Sketch mir posten könnte, hätte man was für die 
langen Winterabende zum basteln :-)

Beitrag #5454755 wurde von einem Moderator gelöscht.
Beitrag #5454757 wurde von einem Moderator gelöscht.
Beitrag #5454763 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.