Welcher Taster (Buzzer) zuerst gedrückt wird, dessen Lampe leuchtet und bleibt auch an, egal wie oft die anderen noch auf ihren Buzzer drücken. Die Anzeige lügt nicht, sie zeigt eindeutig wer schneller war :-), so gibt es keinen Streit mehr darüber welche Gruppe/ Person sich zuerst gemeldet hat.
Spielleiter Buzzer mit LCD Display und Ardublock Software
Ich habe als Hardware das SEEED grove System verwendet. Die Verdrahtung von GND und VCC habe ich jeweils ignoriert. Durch das GROVE spare ich mir die Pulldown und Vorwiderstände auf dem Breadborad. Die Taster für die Spieler sind an PIN 2-3, der Reset ist an PIN4. Die LEDs und der Buzzer für die Spieler sind an PINs 8-7-6. Das Grove Display ist an den IC2 Bus angeschlossen.
Das LCD Display kann natürlich auch einfach weg gelassen werden.
Die Module des Grove System sind in den passenden Blöcken sehr gut aufgehoben. So verrutscht nichts und es kann gut gespielt werden.
Die Software des Spiele Buzzers
Die Software ist in drei Teile gegliedert.
- SETUP
- LOOP
- Spieler --> eins
- Spieler --> zwei
Im SETUP Teil mache ich nicht sehr viel. Es wird lediglich der Text für das Display angezeigt. Nach dem anzeigen des "Buzzer Spiel" wechselt die Farbe auf grün und der Text "bereit" erscheint. Mehr braucht es gar nicht.
Im LOOP Teil für den ersten Spieler geschieht schon wesentlich mehr.
Zuerst wird der Taster an PIN zwei über den "falls" Block abgefragt.
Ist dieser HIGH:
- wird die LED von Spieler eins angeschaltet
- wird die "Char" Variable auf "A" gesetzt
- wird im LCD Display angezeigt wer gedrückt hat und über den Pfeil in die Richtung des "drückers" gezeigt
- wird ein Ton für 1000ms abgespielt
Als nächstes kommt ein "solange" Block. Da die Bedingung "CHAR = A" erfüllt ist wiederholt sich dieser Block solange bis "Char" nicht mehr A ist. Während "Char" noch "A" ist, wird nur der Taster an PIN abgefragt. Das ist der Reset Taster. Ist dieser HIGH:
- wird die LED die leuchtet ausgeschaltet
- wird der Text auf dem Display zurück gesetzt
- wird ein kurzer Ton abgespielt
Das Spiel ist bereit für eine neue Runde.
Im LOOP Teil für den zweiten Spieler passiert genau das gleiche. Nur eben mit dem Taster, der LED und der Variablen für den zweiten Spieler. Auch hier ist das Spiel nach dem drücken des Reset Tasters bereit für eine neue Runde.