Meine Motivation
Mir bereitet es große Freude, wenn ich über Dinge, die ich erlebe oder selber ausführe, Daten sammeln kann. Statistiken über andere und sich selbst sind einfach spannend. Und ich bin da nicht der Einzige, der AppStore wimmelt gerade nur so von Tracking-Apps. Egal ob Schlaf, Sport oder Produktivität im Büro, über alles lassen sich Statistiken anfertigen.
Neben meiner etwas “Nerd-Klischee”-haften Liebe für Daten und Statistiken spiele ich sehr gerne Kicker. Bringt man diese beiden Interessen zusammen, liegt die Geschäftsidee von Tracking-Apps für’s kickern nicht fern. Solche Apps und Programme sind natürlich schon lange am Markt (z.B. Packeroo oder Kickertool) . Das Spektrum geht von Training-Apps bis hin zu Tunierprogrammen, Auswahl gibt es also genug.
Großer Nachteil all dieser Apps und Programme ist jedoch das Handling: Bei jedem (Eigen-)Tor oder Foul muss das Spiel unterbrochen, das Handy in die Hand genommen und dann dem Äther mitgeteilt werden. Und das stört massiv – So sehr, dass ich lieber auf Statistiken verzichte.
Mein Wunsch ist es also, Daten beim kickern zu sammeln, ohne dabei den Spielfluss zu unterbrechen!
Die Projektidee
Um diesen Wunsch erfüllen zu können, brauche ich Hardware am Kicker. Das Programm soll während des Spiels nicht mehr über einen Display bedient werden, sondern über Knöpfe oder ähnliches. Wenn nun ein Tor fällt, drückt man einfach einen Knopf und das Spiel geht weiter. Pro Seite ein Knopf würde zwar schon einiges bringen, wirklich spannende Statistiken lassen sich damit jedoch noch nicht sammeln. Die Lösung? – Mehr Hardware, mehr Knöpfe!
Natürlich darf ein Name für das Projekt nicht fehlen. Aus Statistik und Kicker wird staticker! Schmerzhaftes Wortspiel, but it work’s for me ;-)
Das grobe Konzept
Das Projekt setzt sich skizzenhaft wie folgt zusammen:
- Software
- Hardware
- Hardware für die User Interaktion
- Input-Device
- Score-Display
- Sonstige Hardware
- Raspberry Pi
- Arduino
- Power Supply
- Hardware für die User Interaktion
Im Folgenden werden die einzelnen Punkte näher besprochen.
Software
Die Software teilt sich in zwei große Teile auf:
- Der Code auf dem Arduino muss folgendes handeln:
- Gepresste Knöpfe müssen registriert werden, ohne den Arduino zu blockieren.
- Eventuell soll ein “Rückgängig”-Befehl über einen lang gepressten Knopf realisiert werden, d.h. die Dauer eines Events muss gemessen und decodiert werden.
- Solche Events müssen über die serielle Schnittstelle dem Raspberry mitgeteilt werden
- Außerdem muss der Arduino Befehle vom Raspberry entgegennehmen und umsetzen können. Zu diesen Befehlen gehört u.a. das ändern des Score-Displays oder der LED’s des Input-Devices.
- Der Code auf dem Raspberry muss folgendes handeln:
- Eingehende Befehle vom Arduino müssen verarbeitet werden (z.B. Spielstand erhöhen).
- Befehle an den Arduino müssen versandt werden (z.B. LED’s ändern).
- Kommunikation mit einer Datenbank, um u.a. Spiele und Spieler zu speichern.
- Eine Website muss gehostet werden. Über diese soll u.a. folgendes möglich sein:
- Spielerprofiele anlegen und verwalten
- Einzelspiele und evtl. Turniere anlegen
- Statistiken anzeigen
Input-Device
Das Input-Device stellt während eines Spieles die Haupt-User-Interaktion dar. Es soll je einen Knopf für ein Eigentor und ein reguläres Tor besitzen. Außerdem soll dem Spieler die persönlich geschossenen Tore und Eigentore anzeigen. Pro Slot (Torwart+Abwehr oder Mittelfeld+Sturm) soll es ein Input-Device geben.
Das folgende Bild zeigt eine Skizze des Input-Devices.
Score-Display
Das Score-Display ersetzt die klassische Spielstandsanzeige. Hier sollen die Spieler den Spielstand in digitaler Form ablesen können. Die klassische Spielstandsanzeige soll nicht demontiert werden, damit man den Kicker auch “offline” nutzen kann. Aktuell ist die Umsetzung mit einem 7-Segment-Display geplant.
Das folgende Bild zeigt eine Skizze des Score-Displays.
Raspberry Pi & Arduino
Der Raspberry Pi ist das Herz des Projekts. Dieser soll eine Website hosten, die Datenbank bereitstellen und mit dem Arduino kommunizieren. Der Arduino ist die Schnittstelle zur Hardware (Score-Displays und Input-Devices). Die Kommunikation zwischen den Geräten soll über das USB-Kabel erfolgen.
Ich habe mich bewusst dagegen entschieden, die Hardware über die GPIO Pin’s des Raspberrys anzusteuern. Das hat folgende Gründe:
-
Die Raspberry GPIO Pin’s arbeiten mit 3.3V, der Arduino (wie die Hardware) mit 5V.
-
Der Arduino Uno besitzt mehr Pins. Falls diese trotzdem nicht reichen, lässt sich sehr unproblematisch auf den Arduino Mega upgraden.
-
Ein Arduino ist sehr günstig
Power Supply
Die LED’s können einiges an Strom ziehen. Damit der Arduino und Raspberry durch eine Spannungsschwankung nicht unterversorgt sind und rebooten müssen, ist eine ausreichende Stromversorgung nötig.
Credits
Table Soccer CAD Model: https://grabcad.com/yo.metalys-1