PONG mit Arduino

pong farbig

Projektbeschreibung

Dieses Projekt setzt das bekannte Spiel PONG mit einem Arduino Nano und einem adressierbaren LED-Streifen um. Der LED-Streifen bildet das Spielfeld, auf dem sich der Ball als leuchtender Punkt von einer Seite zur anderen bewegt. Zwei Spieler schlagen den Ball mit jeweils einem Taster im richtigen Moment zurück, während sie versuchen, den Ball möglichst lange im Spiel zu halten.

Dank des geringen Hardwareaufwands eignet sich das Projekt hervorragend für Workshops, Jugendgruppen und Hobbyprojekte.

Grundaufbau

Die gesamte Elektronik besteht aus wenigen Standardbauteilen:

  • Arduino Nano V3
  • 1 m LED-Streifen mit 60 WS2812-LEDs
  • zwei Taster für die Spieler
  • Spannungsversorgung mit 5 V über USB
  • Gehäuse und Mechanik

Der LED-Streifen bildet das Spielfeld. Jede LED entspricht einer Position des Balls. Die beiden Taster befinden sich jeweils an den Enden des Spielfelds und dienen zum Zurückschlagen des Balls, dadurch ist die Zuordnung für beide Spieler sofort eindeutig.

Spieler ROT befindet sich am Anfang des LED-Streifens, Spieler GRÜN am Ende. Idealerweise sollten die Taster auch die Farben rot und grün haben.

Wer das Spiel akustisch erweitern möchte, ergänzt ein DFPlayer Modul mit einem kleinen Lautsprecher. Dieser gibt bei Ballkontakt, Punktgewinn oder Spielende passende Klangeffekte wieder.

Spannungsversorgung

Die Schaltung wird mit 5 Volt versorgt. Für die meisten Anwendungen genügt die Versorgung über den USB-Anschluss des Arduino oder über eine separate USB-C-Buchse.

WS2812-LEDs können bei voller Helligkeit einen hohen Strom aufnehmen. Da während des Spiels jedoch nur wenige LEDs gleichzeitig leuchten, reicht in der Praxis meist ein 5-V-Netzteil mit mindestens 1 A Belastbarkeit aus.

Benötigtes Material

Anzahl                 Bauteil
1                             Arduino Nano V3
1                             WS2812-LED-Streifen, 1 m, 60 LEDs
1                             Widerstand 1 K
1                             Kondenstator 100 nF
1                             Kondensator 100 µF
2                             Taster (Schließer)
1                             Netzteil und USB-C-Kabel zur Spannungsversorgung
1 (optional)        DFPlayer Mini MP3-Modul
1 (optional)        Lautsprecher (4-8 Ohm, ca. 1–3 W)

Je nach Aufbau Gehäuse, Befestigungsmaterial und Leitungen.

Schaltung

Mechanik

Als Träger eignet sich ein Aluminiumprofil besonders gut. Alternativ funktioniert auch ein gerader Holzstab. Den selbstklebenden LED-Streifen klebst du direkt auf den Träger.

Der elektrische Anschluss befindet sich an einem Ende des Streifens. Die beiden Taster sollten möglichst direkt an den Enden montiert werden. Dadurch ordnen die Spieler ihren Taster intuitiv der jeweiligen Spielfeldseite zu.

Hinweis: Im Eifer des Gefechts fallen Tastendrücke manchmal etwas kräftiger aus. Deshalb empfiehlt sich eine robuste und belastbare mechanische Ausführung.

Software

Die Software basiert auf einem Sketch von „flyingangel“, der im Rahmen eines Arduino-Projekts veröffentlicht wurde:
https://projecthub.arduino.cc/flyingangel/1d-pong-1a0acf
Für dieses Projekt habe ich den ursprünglichen Sketch überarbeitet und erweitert. Neben kleineren Verbesserungen am Spielablauf ergänzt eine optionale Soundausgabe über ein DFPlayer-Mini-MP3-Modul das Spiel. So begleiten passende Klänge Ballkontakte, Punktgewinne und das Spielende. Der ursprüngliche Autor ist zusammen mit weiteren Quellenangaben im Programmcode genannt.

Optional Sound Erweiterung

Der DFPlayer Mini benötigt eine microSD-Karte mit den Sounddateien.

Formatiere die Speicherkarte zunächst mit FAT32. Anschließend kopierst du die Sounddateien einzeln in aufsteigender Reihenfolge in das Hauptverzeichnis. Offenbar verarbeitet der DFPlayer die Dateinummern nicht immer korrekt. Das schrittweise Kopieren der Dateien in aufsteigender Reihenfolge sorgt erfahrungsgemäß für einen zuverlässigen Betrieb.

Funktionsbeschreibung – Spielablauf

Nach dem Einschalten begrüßt das Spiel die Spieler mit einem Regenbogeneffekt auf dem LED-Streifen. Danach erscheint das Spielfeld.

Nun kann mit der roten Taste die Helligkeit des LED-Streifens in fünf Stufen eingestellt werden. Mit der grünen Taste wird die Auswahl bestätigt und das eigentliche Spiel gestartet. Der Spieler, der den ersten Aufschlag hat, wird durch eine entsprechende LED-Anzeige signalisiert.

Die blauen Bereiche an beiden Enden markieren den Schlagbereich. Nur innerhalb dieser Zonen kann der Ball erfolgreich zurückgeschlagen werden. Je näher der Ball am Ende des Spielfelds getroffen wird, desto höher ist seine Rückspielgeschwindigkeit. Mit jeder erfolgreichen Ballrückgabe erhöht sich die Ballgeschwindigkeit kontinuierlich. Dadurch steigt der Schwierigkeitsgrad im Verlauf des Spiels stetig an.

Der erste Spieler eröffnet die Runde mit einem Tastendruck. Anschließend bewegt sich der Ball als leuchtende LED über den Streifen.

Erreicht der Ball das Ende des Spielfeldes, muss der jeweilige Spieler seinen Taster im richtigen Moment betätigen. Erfolgt der Tastendruck innerhalb des erlaubten Bereiches, wird der Ball zurückgeschlagen und bewegt sich in die entgegengesetzte Richtung.

Wird zu früh oder zu spät gedrückt, ist der Ball verloren. Der Gegenspieler erhält einen Punkt und in der Mitte des LED-Streifens wird der Spielstand angezeigt. Anschließend beginnt die nächste Runde.

Das Spiel endet, sobald ein Spieler fünf Punkte erreicht hat.

Downloads

Download des Arduino Sketches und der Klang-Dateien.

Nach oben scrollen