In der Familie spielen wir in letzter Zeit oft das Spiel des Lebens. Doch wenn alle zusammenkommen müssen wir schon improvisieren, denn die Spieleranzahl reicht nicht aus. Aus einem Spaß heraus entstand daraufhin aber die Idee ein komplett eigenes Spielbrett zu kreieren. Schnell haben wir uns ein paar Intentionen aus der aktuellsten Version des Spiels beschafft. Meinen Part am Spiel hatte ich ebenso schnell gefunden. Denn Papiergeld ist out, heutzutage gibt es sogar in Gesellschaftsspielen ein Bankkartenterminal. Eben so wie es auch im realen Leben ist. Immer mehr bezahlen per Karte. Von der Idee war ich total begeistert.
Also habe ich mich an die Planung gemacht. Wie könnte man so ein Bankkartenterminal selbst bauen?
Konzept
Nach einiger Recherche, hab ich mich dazu entschlossen das Ganze über einen Arduino umzusetzen. Im Raum stand auch noch die Idee für eine Smartphone-App. Jedoch fehlt hier meiner Meinung nach das „richtige Feeling“ ;).
Als Bankkarten sollen beschreibbare RFID-Karten dienen. Denn wenn ich nur die eindeutige ID der jeweilige Karten auslese und den Kontostand im Arduino RAM speichere, könnte es bei einem Stromausfall (= Akku leer) ein großes Ärgernis in der Runde geben. Und das wollen wir schließlich vermeiden!
Komponenten
Folgende Komponenten habe ich für das Projekt verwendet:
- Arduino UNO
- USB-B Durchführung
- Folientastatur 4×4 Matrix
- I²C Kartenleser PN532
- RFID Karten (Mifare Classic 1k)
- I²C 20×4 LCD Display
- Kunststoffgehäuse
Umsetzung
Als ging es an die Umsetzung. Zuerst habe ich die Schaltung auf einem Breadboard aufgebaut und das Programm dazu erstellt. So konnte ich sichergehen, dass ich an alle Komponenten gedacht habe und auch nichts mehr fehlt. Hier im Blog gehe ich jedoch nach der logischen Reihenfolge Mechanik zu Hardware und Software vor.
Mechanik
Zunächst musste das Gehäuse des Bankkartenterminal entsprechend angepasst werden. Also etwa den Ausschnitt für das Display, den Schlitz für die Karten, die Bohrung für die USB-Leitung und den Schlitz für die Folienleitung der Tastenmatrix. Wie ich feststellen musste, ein sehr zeitintensiver Abschnitt im Projekt. Das Endergebnis hat aber den Zeitaufwand wieder in Relation gebracht:

Hardware
Als nächste ging es an die Hardware. Hierbei habe ich mich zum Löten entschieden, da ich mit den Dupont-Steckern bereits schlechte Erfahrungen bezüglich Übergangswiderstand und Haltekraft erfahren hatte. Alle Steckverbindungen für die Frontplatte des Gehäuses, sprich Display und Tastatur sind jedoch steckbar. Das erleichtert das Öffnen und Bearbeiten des Gehäuses bei späteren Änderungen stark. Aus diesem Grund hab ich mich also hier für Dupont-Stecker entschieden.

Im oberen Bereich ist auch die Innenführung für die Karten zu sehen. Aus Gründen der leichteren Bearbeitung und Materialverfügbarkeit (war noch im Lager herumgelegen 😉 ), habe ich hier Holz verwendet. Ganz oben ist auch der Kartenleser zu erkennen. Leider musste ich diesen aber nachträglich noch einmal umdrehen, da es sonst zu Problemen mit den Leitungen gekommen wäre. Da das Lochbild der Platine allerdings nicht symmetrisch ist, ist der Leser jetzt leicht schräg verbaut. Das tut zwar der Funktion keinen Abbruch, jedoch meinem Ego 😛
Software
Zu guter Letzt muss natürlich auch ein entsprechendes Programm auf dem Arduino UNO laufen. Die Arbeitsweise kann wie folgt dargestellt werden:
- Anzeige der Standardansicht „Bitte Karten einstecken …“
- Wenn Karte eingesteckt:
- Anzeige der Standardansicht „Übersicht für Spielername, Kontostand und Gehalt“
- Wenn Taste „Karte zurücksetzen“ gedrückt wird
- Anzeige „Soll Karte zurückgesetzt werden?“
- Abfrage ob Aktion bestätigt wurde, wenn ja, dann Kontostand auf 3.000 € und Gehalt auf 0 € setzen
- Wenn Taste „Gehalt festlegen“ gedrückt wird
- Anzeige „Bitte Gehalt eingeben“
- Die Nummerntasten der Tastatur lassen die Eingabe des Gehalts zu
- Wird der eingegebene Wert mit der Taste „Gehalt festlegen“ bestätigt, wird das Gehalt auf der RFID Karte gespeichert
- Wenn Taste „Buchung“ gedrückt wird
- Anzeige „Buchungsbetrag eingeben“
- Die Nummerntasten der Tastatur lassen die Eingabe des Betrags zu (+/- Taste negiert den Wert)
- Wird der eingegebene Wert mit der Taste „Buchung“ bestätigt, wird der entsprechende Betrag vom Kontostand auf der RFID Karte ab- oder zugebucht.
- Wenn Taste „Gehalt zubuchen“ gedrückt wird
- Das auf der RFID-Karte hinterlegte Gehalt wird dem Kontostand hinzugebucht und wieder auf der Karte gespeichert
- Wenn Taste „Gewinnerermittlung“ gedrückt wird
- Anzeige „Bitte alle Karten nacheinander kurz einstecken“
- Auf dem Display baut sich eine nach Kontostand sortierte Liste auf, die anzeigt, wer welchen Kontostand hat und durch die Sortierung auch automatisch die Reihenfolge der Gewinner
- Wenn Taste „Karte zurücksetzen“ gedrückt wird
- Anzeige der Standardansicht „Übersicht für Spielername, Kontostand und Gehalt“

Endergebnis
Als letztes habe ich noch ein Layout für die Front des Terminals gezeichnet, ausgedruckt und aufgeklebt.

Bankkarten
Momentan sind alle Spielkarten weiß. Glücklicherweise hat sich ein befreundeter Künstler aber bereiterklärt, die Karten individuell zu gestalten. Auf das Ergebnis bin ich schon sehr gespannt!