Inhaltsverzeichnis:

Arduino Basic PC mit VGA-Ausgang - Gunook
Arduino Basic PC mit VGA-Ausgang - Gunook

Video: Arduino Basic PC mit VGA-Ausgang - Gunook

Video: Arduino Basic PC mit VGA-Ausgang - Gunook
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Juli
Anonim
Image
Image
Arduino Basic-PC mit VGA-Ausgang
Arduino Basic-PC mit VGA-Ausgang
Arduino Basic-PC mit VGA-Ausgang
Arduino Basic-PC mit VGA-Ausgang

In meinem vorherigen Instructable habe ich gezeigt, wie man einen Retro-8-Bit-Computer mit BASIC, mittels zwei Arduinos und mit einem Ausgangssignal in B & W für einen Fernsehbildschirm baut.

Jetzt zeige ich, wie man den gleichen Computer baut, aber mit dem Ausgangssignal in Farbe für einen VGA-Monitor!

Sie können die Variablen und das BASIC-Programm mit einer PS2-Tastatur eingeben, und es erzeugt die Ausgabe für einen VGA-Monitor mit einer Textauflösung von 24 Spalten x 10 Zeilen mit 5x6 Pixel-Zeichen, in vier Farben. Sie können es im oberen Video in Aktion sehen. Das Programm kann dann auf dem Arduino EEPROM gespeichert werden, und Sie können die I / O-Pins weiterhin direkt über dedizierte Basic-Befehle steuern.

Dieses Projekt kann auch verwendet werden, um einfache Textnachrichten auf dem Monitor zu drucken, wie im dritten Bild auf dieser Seite gezeigt.

Ein Arduino ist der "Master", und es läuft Tiny Basic Plus, eine C-Implementierung von Tiny Basic, mit Schwerpunkt auf der Unterstützung von Arduino. Es steuert auch eine PS2-Tastatur. Die Ausgabe wird dann über die serielle Schnittstelle an den zweiten Arduino gesendet, der dank der VGAx-Bibliothek die VGA-Ausgabe generiert.

Die Idee, einen oder mehrere Arduinos zu verwenden, um einen PC im alten Stil mit einem Dialekt von Basic zu erstellen, ist nicht neu, aber meines Wissens hat keiner von ihnen eine Farbausgabe. In einigen im Internet verfügbaren Projekten wurden LCD-Displays verwendet, während in anderen, um die Verwendung von Monitoren zu ermöglichen, die TVout-Bibliothek verwendet wurde, die B&W ist. Außerdem müssen bei vielen dieser Projekte spezielle Shields oder Hardware gebaut werden. Hier benötigen Sie nur zwei Arduino, wenige Widerstände und den Anschluss für die PS2-Tastatur und den Monitor, wie in den obigen Bildern gezeigt.

Schritt 1: Bauen Sie den Arduino Master mit TinyBasic und PS2-Tastatur

TinyBasic Plus und die VGAx-Bibliothek funktionieren für Arduino IDE 1.6.4.

Laden Sie es zuerst von der offiziellen Arduino-Webseite herunter. Wenn Sie eine neuere Version auf Ihrem PC haben, laden Sie diese am besten im.zip-Format herunter und entpacken Sie diese auf Ihrem PC. Klicken Sie auf diesen Link, um die Windows-Version herunterzuladen.

Sie benötigen dann die PS2keyboard-Bibliothek. Sie finden es unten auf dieser Seite. Entpacken Sie es einfach und kopieren Sie den PS2keyboard-Ordner in: arduino-1.6.4\libraries

Laden Sie schließlich auf dieser Seite die Datei herunter: TinyBasicPlus_PS2_VGAx.ino, entpacken Sie sie und laden Sie sie auf Ihren Arduino hoch.

Dies ist eine Variation des Standard TinyBasic Plus, bei der ich die PS2-Bibliothek hinzugefügt und den Code geändert habe, um die Variablen daraus zu akzeptieren.

Weitere Details zu TiniBasic Plus und Tutorials finden Sie unter diesem Link.

Wenn es keine Probleme und Kompatibilitätsprobleme gibt, wird Tiny Basic bereits ausgeführt. Sie können es über einen seriellen Monitor in Ihrem PC testen. Zu diesem Zweck verwende ich PuTTY, es stehen aber auch viele andere Programme zur Verfügung.

Sie müssen den richtigen COM-Port einstellen (dieser ist der gleiche, den Sie in der Arduino IDE finden) und die Baudrate = 4800

Hier können Sie bereits einige Programme in Basic testen, indem Sie sie einfach mit Ihrer PC-Tastatur eingeben (NB später werde ich zeigen, wie Sie die PS2-Tastatur direkt mit dem Arduino verbinden).

Versuchen Sie zum Beispiel:

10 DRUCK "Hallo Welt!"

20 GOTO 10

LAUF

Sie können die Endlosschleife dann einfach durch Eingabe von Strg+C stoppen.

Beachten Sie, dass diese Kombination nicht für die PS2-Tastatur funktioniert.

Im nächsten Schritt zeige ich, wie man die PS2-Tastatur mit Arduino verbindet.

Schritt 2: Verbinden Sie die PS2-Tastatur mit dem Master Arduino

Verbinden Sie die PS2-Tastatur mit dem Master Arduino
Verbinden Sie die PS2-Tastatur mit dem Master Arduino

Ich habe alle Informationen und Bibliothek von diesem Instructable.

Im Wesentlichen müssen Sie die folgenden vier Pins verbinden:

  • Tastaturdaten an Arduino Pin 8,
  • Tastatur IRQ (Takt) an Arduino Pin 3;
  • Sie müssen auch GND und +5V anschließen.

Ich habe eine alte PS2-Buchse von einem defekten PC-Motherboard. Sie können es einfach mit einer Heißluftpistole ausverkaufen.

In dem in diesem Schritt gezeigten Bild finden Sie die Funktion der benötigten Pins des PS2-Anschlusses.

Schritt 3: Laden Sie die VGAx-Bibliothek und den Code auf dem zweiten Arduino hoch und setzen Sie alles zusammen

Laden Sie die VGAx-Bibliothek und den Code auf dem zweiten Arduino hoch und setzen Sie alles zusammen
Laden Sie die VGAx-Bibliothek und den Code auf dem zweiten Arduino hoch und setzen Sie alles zusammen

Laden Sie zuerst den Code VGAx-PC.ino unten auf dieser Seite herunter und kopieren Sie ihn auf Ihren PC in ein Verzeichnis mit demselben Namen.

Laden Sie die VGAx-Bibliothek von diesem Link auf GitHub herunter. Am einfachsten kopieren Sie es in den Arduino-Software-Unterordner namens "libraries", um sofort erkannt zu werden.

WICHTIG: Diese Bibliothek funktioniert für Arduno IDE 1.6.4, ist jedoch nicht vollständig kompatibel mit älteren oder neueren Versionen.

Laden Sie die VGAx-PC.ino in Ihr zweites Arduino-Board hoch (ich habe es für die Nano-Version getestet, aber das Uno sollte auch funktionieren).

Eine Warnung für wenig verfügbaren Speicher ist normal. Wenn Sie keine anderen Fehler haben, ist alles in Ordnung und Sie können sofort damit beginnen, Ihren eigenen 8-Bit-PC zu bauen.

Dazu benötigen Sie:

  • zwei Arduino Uno Rev. 3 oder zwei Arduino Nano 3.x (ATmega328)
  • einen DSUB15-Anschluss, d. h. eine VGA-Buchse oder ein zu schneidendes VGA-Kabel.
  • Widerstände: 2 x 68 Ohm und 2 x 470 Ohm
  • eine PS2-Buchse
  • Drähte
  • fakultativ: ein Steckbrett oder ein Streifenbrett

Der Schaltplan wird oben in diesem Schritt gemeldet. Ein Beispiel für eine fertige „Konsole“wird im Einführungsschritt gezeigt.

Der gleiche Schaltplan mit einer höheren Auflösung wird in einer komprimierten Datei am Ende dieses Schritts angezeigt.

Schritt 4: Optional: Verwendung einer Platine

Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte
Optional: Verwendung einer Leiterplatte

Sie können diesen Basis-VGA-PC auch mit einer kleinen Platine bauen. Sie können sich in diesem Schritt von den Bildern inspirieren lassen oder sogar Ihre eigene Tafel drucken.

Ich habe zwei Buchsenleisten mit 15 Löchern für den Videoausgang Arduino verwendet, während ich für den Master zwei Streifen mit Doppellöchern verwendet habe. Auf diese Weise kann ich die externen verwenden, um die Kontakte anderer Projektkomponenten einzufügen, die direkt mit Basic-Code angesteuert werden können. Ich habe auch in der Mitte übrig gebliebene Streifen hinzugefügt, einen an 5 V und den anderen für GND.

Schritt 5: Abschließende Kommentare und Danksagungen

Mein größtes Dankeschön geht an Sandro Maffiodo aka Smaffer, den Schöpfer der fantastischen VGAx-Bibliothek.

Vielen Dank auch an die Autoren von TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Tiny Basic Plus - Scott Lawrence

Danke auch an "djsadeepa", den Autor des Instructable für den Anschluss der PS2-Tastatur.

An alle an diesem Projekt Interessierten: Wenn Sie Probleme haben, zögern Sie nicht, Vorschläge in den Kommentaren zu stellen.

Wenn Sie erfolgreich sind, schreiben Sie bitte auch einen Kommentar oder teilen Sie ein Bild des von Ihnen gebauten Geräts.

Empfohlen: