So erstellen Sie das klassische Pong-Spiel mit Arduino

So erstellen Sie das klassische Pong-Spiel mit Arduino / DIY

Pong war das erste Videospiel, das den Massenmarkt erreichte. Zum ersten Mal in der Geschichte wird der Begriff a “Videospiel” wurde dank des Atari 2600 in das Familienheim gebracht - es ist also nur richtig, dass wir diesem historischen Juwel eine kleine Hommage erweisen. Jetzt können Sie das noch einmal erleben (zugegebenermaßen etwas langweiliges Gameplay) mit einem Arduino und einigen üblichen Komponenten.

Ich lüge nicht - es ist unwahrscheinlich, dass Ihre Tochter ihren Nintendo DS aufgibt, und dies wird keine stundenlangen Spaß für die ganze Familie bieten -, aber es ist ein fantastisches und einfaches Projekt, um Ihre Arduino-Codierung zu verbessern. Und wenn Sie gerade erst anfangen, vergessen Sie nicht, unseren Arduino-Führer für Anfänger zu lesen.

Wir erstellen zwei grundlegende Controller, und das Video wird über ein Standard-Composite-Videokabel an Ihr Fernsehgerät ausgegeben.

Voraussetzungen für Arduino Pong

  • 470 Ohm Widerstand x1
  • 1k Ohm Widerstand x1
  • 10k Ohm Potentiometer (verdoppelter variabler Widerstand) x2
  • Arduino x1 (beliebige Version)
  • RCA Stecker x1 (Wenn Sie mehr als einen haben, können Sie auch den Ton anschließen. Einer für das Video ist ein absolutes Minimum)
  • Druckknopf Schalter x1
  • 10k Ohm Widerstand x1

Sie können auch die TV Out Arduino-Bibliothek von hier herunterladen TVoutBeta1.zip, die neueste Version. Legen Sie die resultierenden Ordner alle in Ihre / arduino / Bibliotheken Verzeichnis und starten Sie die Arduino IDE neu, wenn sie bereits geöffnet ist.

TV-Ausgang testen

Nehmen Sie Ihren RCA-Stecker und entfernen Sie die äußere Schicht. Sammeln Sie die Abschirmung, drehen Sie sie und legen Sie sie zur Seite. Das ist dein Boden. In der Mitte sollte sich ein anderes Kabel mit Kunststoffabschirmung befinden - streifen Sie dieses Kabel wieder ab, damit Sie Ihre Signalleitung haben.

Löten Sie die Widerstände 470 Ohm und 1k Ohm an die mittlere Signalleitung Ihres Cinch-Steckers - dies liefert ein Sync-Signal und das eigentliche Videosignal, die den analogen Videoeingang bilden. Der 470 Ohm Widerstand sollte in den digitalen IO-Pin D07 gesteckt werden, während der 1k Ohm-Widerstand zu Pin D09 geht.

Diese Pins werden von der Bibliothek gesetzt, die wir importieren. Sie können sie also nicht ändern. Einer Ihrer Arduino GND-Pins sollte zur Abschirmung (außerhalb) des RCA gehen.

Jetzt können Sie fortfahren und ein Beispiel laden. Obwohl sowohl PAL als auch NTSC vorhanden sind, sollte dies bei modernen digitalen Fernsehern keine Rolle spielen - die NTSC-Demo funktionierte gut für mich, obwohl ich in Großbritannien war. Schließen Sie Ihren Fernseher an, und Sie sollten einen schönen Retro 3D-Würfel erhalten. Oooooh ja - bist du schon aufgeregt? ich bin.

Analoge Potentiometereingänge testen

Ok, wir haben den TV-Ausgang am Laufen, jetzt wollen wir mit den Controllern loslegen. Die Verdrahtung der “Töpfe” ist nicht so kritisch - jeder sollte 3 Pins haben, und der zentrale Pin liefert fast immer das Ausgangssignal. Verbinden Sie das mit A0 und A1 (eine für jeden Topf). An einer der seitlichen Pins - egal welche -, verdrahten Sie + 5V. Der andere Stift auf der anderen Seite sollte zur Erde gehen.

Hier habe ich beide auf ein einzelnes Steckbrett gelegt, da ich nur kurze Drähte habe. Für ein poliertes Produkt sollten Sie ein altes Netzwerkkabel verwenden, um etwas Abstand zu haben (damit Sie tatsächlich auf dem Sofa sitzen können, um zu spielen)..

Laden Sie als Nächstes eine der grundlegenden Beispielskizzen, die mit dem Arduino geliefert werden - die analoge Eingabe. Diese Demo blinkt die integrierte LED schneller oder langsamer, abhängig von der Eingabe an A0.

Der andere A1-Pot wird nicht getestet, aber wenn Sie A0 richtig verdrahtet haben, kann ich nicht erkennen, wie Sie auf A1 einen Fehler machen würden. Nehmen wir also an, dass alles gut ist und machen Sie weiter.

Fügen Sie einen Startschalter hinzu

Zum Schluss fügen wir einen Startschalter an D02 hinzu. Siehe hierzu den Verdrahtungsplan. Mit diesem Schalter können Sie das Spiel starten, wenn Sie sich im Menü befinden.

Der Pong-Code

Wir verwenden Code, der ursprünglich von geschrieben wurde Lamonica, verändert von duboisvb für zwei Spieler und von mir aktualisiert, um die neueste Betaversion der TV-Out-Bibliothek zu verwenden. Sie können den Code von dieser Pastebin anzeigen und herunterladen.

Es ist ziemlich lang, aber einfacher Code, der keine Erklärung von mir erfordern sollte. Wie bei den meisten Spielen stützt es sich auf einen Spielzustand (Menü, In-Game, Game Over) und liest die Eingangswerte beider Controller und den Schalter bei jeder Wiederholung der Schleife. Dahinter stehen die Methoden zum Zeichnen des Bildschirms, des Balls, der Paddel und der Spiellogik.

Beachten Sie, dass der Code enthält Audioausgang Auch: Ich konnte keine weiteren Cinch-Stecker finden, um das zu testen, aber wenn Sie welche haben, dann verdrahten Sie den Signal-Pin direkt mit D11, und Sie sollten einige angenehme Retro-Töne erhalten.

Um ehrlich zu sein, wusste ich nicht, dass Arduino auch ohne eine immense komplexe Codierung Fernsehen machen konnte; Die TV-Out-Bibliothek macht es wirklich einfach. Auch wenn Sie kein Retro-Gaming sind, ist die Verwendung dieses einfachen TV-Ausgangs eine großartige Möglichkeit, vorhandene Geräte als billiges Monitorgerät zu verwenden. Sie können natürlich auch Farbe ausgeben.

Glaubst du, du wirst Arduino Pong ausprobieren oder vielleicht dein eigenes Retro-Videospiel-Remake machen? Sagen Sie uns in den Kommentaren, wenn Sie haben!

Erfahren Sie mehr über: Arduino, Retro Gaming.