Der lise Blog:
Einsichten, Ansichten, Aussichten

Das lise Kicker-Projekt – Kickern mit Leuchtfaktor!

Die Mitarbeiter der lise GmbH spielen in ihren Pausen gerne Kicker. Um das Spielen noch attraktiver zu gestalten, wurde der Kickertisch aufgerüstet. Gefallene Tore sollen digital gezählt und am Kickertisch über Lichtleisten visualisiert werden. Zusätzlich sollen über einen Web-Service die Tore angezeigt und Spiele sollen Spielern zugeordnet werden können.

Das Kicker-Projekt besteht im Groben aus einem Backend (ASP.NET), inklusive einer Datenbank, einem Frontend (ANGULAR 2) und aus einem Arduino, der die Spielzustände erfasst. Die Verbindung des Arduinos zum Backend erfolgt über REST und die Verbindung vom Backend zum Frontend über Websocket (Signal-R).

Der Arduino ist ein 8bit „Ein-Platinen-Computer“ mit einem Atmega 328 Mikrocontroller, der mit 16 Mhz getaktet ist. Er verfügt über sechs analoge Eingänge und 14 digitale Ein-/Ausgänge, die frei konfigurierbar sind. Innerhalb der digitalen Ein-/Ausgänge sind zwei als Interrupt-Eingänge und sechs als PWM-Ausgänge konfigurierbar. Der Arduino verfügt weiterhin über einen I²C Bus, der in unserem Kicker-Projekt zum Einsatz kommt.

Herausforderung: die lise Kicker-Profis schießen fast in Lichtgeschwindigkeit

Die Ballerkennung wird über vier Lichtschranken realisiert, die wiederum aus je einer Laserdiode und einem Photowiderstand bestehen. Es befinden sich in jedem Tor zwei Lichtschranken eine für die lise eigene „Charged“-Regel und eine für das Erkennen eines gefallenen Tors. Die „Charged“-Regel besagt, dass, wenn ein Ball aus dem Tor zurück auf das Spielfeld gelangt, das nächste Tor dann doppelt zählt.

Das Problem bei der Ballerkennung lag darin, dass einige Bälle zu schnell für die Torerkennung, also für den Arduino sind und nicht erkannt werden. Was zur Folge hat, dass ein Tor fällt, aber nicht gezählt wird.

Flip-Flop-Schaltung ist die Lösung

Die Lösung, die aus der Elektrotechnik kommt, nennt sich Flip-Flop-Schaltung. Diese Flip-Flop-Schaltung wurde zwischen die Lichtschranke und den Arduino gesetzt. Wenn jetzt ein Tor fällt, wird der Ausgang des „Flip-Flop-Gatter“ über den Setzt-Eingang des Flip-Flops auf High gesetzt und bleibt solange High bis er zurückgesetzt wird. Der Arduino hat somit Zeit, das Tor zu erkennen und setzt das Flip-Flop zurück, sobald er erkannt hat, dass ein Tor gefallen ist. 

Das Flip-Flop IC, das vier Gatter beinhaltet, wurde mit samt allen dazugehörigen Komponenten auf eine Test-Leiterplatte gelötet und auf den Arduino gesteckt. Die Lichtschranken und der Start-/Reset-Taster wurden mit der Test-Leiterplatte verbunden.

Entwickelt wurde der C++ Code für den Arduino in Visual Studio mittels eines Plugins (Visual Micro), da die „Arduino IDE“ nicht so komfortabel ist und zum Beispiel über keine Codevervollständigung verfügt.

Das Ergebnis: Perfektes Controlling über die Kicker-Spielstände

Die Spielstände werden vom Arduino erfasst und über den I²C Bus an einen weiteren Arduino gesendet, der die Spielzustände in Form von Lichtleisten auf dem Spielfeld anzeigt. So bekommen die Spieler ein visuelles Feedback über gefallene Tore. Auch der aktuelle Spielstand wird über die Lichtleisten angezeigt. Des Weiteren werden gefallene Tore und auch der Spielzustand an das Backend gesendet. So geht kein Tor mehr verloren!

Diesen Artikel weiterempfehlen

 Teilen  Teilen  Teilen  Teilen