Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry Pi

4. August 2017
17 Comments

In diesem Tutorial zeige ich, wie man mit einem Joystick ganz einfach mittels des Raspberry Pi’s auf seinen MAX7219 LED Matrizen das Retro Spiel Pong spielen kann. Dazu gibt es noch ein kleines Demo Video, welches vielleicht auf den Geschmack bringt 😉

 

Zubehör

Aufbau

Den Aufbau der Matrizen zeige ich bereits hier, den Aufbau des Joysticks wiederum hier.
Du solltest beide Tutorials durchlaufen haben, bevor du weiter gehst.

Die Pin Belegung des Raspberrys sieht folgendermaßen aus:

RaspberryPi MCP3008 MAX7219
Pin 2 (5V) VCC
Pin 1 (3.3V) Pin 16 (VDD)  —
Pin 1 (3.3V) Pin 15 (VREF)  —
Pin 6 (GND) Pin 14 (AGND)  GND
Pin 23 (SCLK) Pin 13 (CLK)  CLK
Pin 21 (MISO) Pin 12 (DOUT)  —
Pin 19 (MOSI) Pin 11 (DIN)  DIN
Pin 24 (CE0)  CS
Pin 26 (CE1) Pin 10 (CS/SHDN)  —
Pin 6 (GND) Pin 9 (DGND)  —

 

Jene Pinsignale, die an beide Module angeschlossen werden, kannst du z.B. mit Hilfe eines Breadboards „verdoppeln“ (dies betrifft GND, MOSI und SCLK).

Vom MCP3008 Baustein müssen die Verbindungen noch zum Joystick gehen. Wenn du dies bereit im vorherigen Tutorial gemacht hast, kannst du weiter zum nächsten Schritt (die Belegung ist identisch).

RPi/MCP3008 Joystick
 Raspberry Pin 6 (GND)  GND
 Raspberry Pin 1 (3.3V)  +5V
 Pin 1 (CH0)  SW
 Pin 3 (CH2)  VRy

 

Software

Der Einfachheit halber habe ich ein GitHub Repository mit den Skripten erstellt. Dies enthält u.a. auch die Bibliothek für die MAX7219 Matrizen und ist direkt lauffähig.

sudo git clone https://github.com/tutRPi/Pong-Game-MAX7219 && cd Pong-Game-MAX7219

(git muss natürlich installiert sein)

Solltest du nicht 3×3 Matrizen verwenden, musst du dies in der multilineMAX7219.py mittels

sudo nano multilineMAX7219.py

verändern (Zeile 113/114).

Nun sollte alles bereit sein. Du kannst es nun starten:

sudo python pong.py

Sollte dir das Spiel zu schwerr oder zu einfach erscheinen, kannst du dies in der pong.py Datei verändern (Zeile 56: eine Zahl zwischen 0 und 1, wobei ich einen Wert um 0.8 empfehle). In der Datei kannst du auch noch andere Parameter, wie die Höhe des Boardes oder die Geschwindigkeit verstellen.

Demo Video

Hier habe ich noch ein kleines Demo Video gemacht.

17 Kommentare

  1. Habe vor im Zuge eines Schul-Projekts das Pong Spiel mittels Java zu realisieren ( Phyton sollen wir nicht nutzen) ….hast du zufällig ein paar Tipps für mich wie ich das umsetzen kann? Sollte doch auch machbar sein, oder?

    Antworten
  2. so hab jetzt noch mal getestet und jetzt ist es so das in den ersten beiden 8×8 Feldern das spiel teilweise angezeigt wird und die anderen 8×8 Felder leuchten noch komplett.

    Antworten
  3. Cool. Wieviele dieser 8×8 MAX7219 kann man denn rein theoretisch verwenden?
    Ich denke da an 4 x 16 MAX7219’s. Nicht fuer Pong, sondern eher eine LED-Uhr.

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!