Pong auf MAX7219 Matrizen spielen (mit Joystick) ÔÇô Raspberry Pi

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.

21 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
  4. Hallo,
    Ich habe das Projekt nach gebaut hat auch alles so weit funktioniert allerdings sobald ich das Programm starten will bekomme ich einen SyntaxError aufgrund der Zeile 159 in pong.py und ich weis nicht wie ich das beheben kann.

    Antworten
  5. hey, ich bau gerade etwas ├Ąhnliches und ich muss wissen, wie ich joystick und matrizen ansteuere, bzw wie ich die CE0 und CE1 bedienen kann. Kannst du mir helfen?

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht ver├Âffentlicht.

Blog abonnieren

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