Sonntag, 23. August 2015

LED Spiel

In diesem Post geht es darum, wie man mit dem Arduino ein kleines Spiel, mit LEDs und Buttons, bauen kann. Bei diesem Spiel leuchtet jeweils zufällig eine von vier LEDs. Der Spieler muss nun den Button vor der LED drücken. Danach leuchtet wieder zufällig eine der vier LEDs. Das Spiel läuft 30 Sekunden, und gewonnen hat der, der am öftesten den richtigen Button gedrückt hat. Für jeden falschen Buttondruck gibt es einen Punktabzug.

Die Hardware

Zunächst einmal benötigt man 4 LEDs, sowie 4 Buttons. Außerdem benötigt man 4 kleine Widerstände. Die Buttons werden auf der einen Seite mit dem Ground verbunden und auf der anderen Seite über die Widerstände mit den 3.3V des Arduino. Auf der dadurch positiven Seite des Buttons wird außerdem die Verbindung zum Arduino angebracht. Dadurch ist der Eingangspin des Arduino normalerweise auf HIGH und sobald der Button gedrückt wird auf LOW. Neben die Button bringt man nun jeweils die LEDs an.


In echt sieht das dann so aus:


Die Software

Zunächst einmal müssen die Pins, an denen die LEDs angeschlossen sind, als OUTPUTs und die Pins, an denen die Buttons angeschlossen sind, als INPUTS definiert werden. Im eigentlichen Spiel generiert der Arduino eine Zufallszahl zwischen 2 und 6, die Pins an denen die LEDs angeschlossen sind. Der Zufallspin wird dann auf HIGH geschaltet.

Nun beginnt eine while Schleife, die solange weitergeht, wie der richtige Button nicht gedrückt wurde. In ihr wird geprüft, ob ein Button gedrückt wurde. Sollte das der Fall sein, wird vom "score" eins abgezogen. Anschließend wird geprüft, ob eventuell der richtige Button gedrückt wurde. Falls er der Richtige ist wird dem score zwei hinzugefügt(eins, weil nichts abgezogen werden muss, und eins, weil es der Richtige ist). Dadurch wird immer ein Punkt abgezogen, wenn ein falscher Button gedrückt wurde und ein Punkt hinzugefügt, wenn der Richtige gedrückt wurde.

Dieser Vorgang wird 30 Sekunden lang durchgeführt. Danach werden alle LEDs angeschaltet, und der erreichte Score über die serielle Verbindung an den PC gesendet:

Hier seht ihr den Code:

Keine Kommentare:

Kommentar veröffentlichen