Inhoudsopgave:

Arduino Basic PC met VGA-uitgang - Ajarnpa
Arduino Basic PC met VGA-uitgang - Ajarnpa

Video: Arduino Basic PC met VGA-uitgang - Ajarnpa

Video: Arduino Basic PC met VGA-uitgang - Ajarnpa
Video: CVE, Automatisering, Besturingstechniek. Centrale verwerkingseenheid. Veel voorbeelden. 2024, Juli-
Anonim
Image
Image
Arduino Basic-pc met VGA-uitgang
Arduino Basic-pc met VGA-uitgang
Arduino Basic-pc met VGA-uitgang
Arduino Basic-pc met VGA-uitgang

In mijn vorige Instructable heb ik laten zien hoe je een retro 8-bit computer met BASIC bouwt, door middel van twee Arduino, en met een uitgangssignaal in zwart-wit voor een tv-scherm.

Nu zal ik laten zien hoe je dezelfde computer bouwt, maar met het uitgangssignaal in kleur voor een VGA-monitor!

U kunt de variabelen en het BASIC-programma invoeren met een PS2-toetsenbord en het genereert de uitvoer voor een VGA-monitor met een tekstresolutie van 24 kolommen x 10 rijen van 5x6 pixels tekens, in vier kleuren. Je kunt het in actie zien in de bovenste video. Het programma kan vervolgens worden opgeslagen op de Arduino EEPROM en u kunt de I/O-pinnen nog steeds rechtstreeks bedienen via speciale basiscommando's.

Dit project kan ook worden gebruikt om eenvoudige tekstberichten op de monitor af te drukken, zoals weergegeven in de derde afbeelding op deze pagina.

Eén Arduino is de "master" en draait Tiny Basic Plus, een C-implementatie van Tiny Basic, met een focus op ondersteuning voor Arduino. Het bestuurt ook een PS2-toetsenbord. De output wordt vervolgens via de seriële poort naar de tweede Arduino gestuurd die de VGA-output genereert dankzij de VGAx-bibliotheek.

Het idee om een of meer Arduino te gebruiken om een pc in oude stijl te maken met een dialect van Basic is niet nieuw, maar voor zover ik weet, heeft geen van hen een kleurenuitvoer. In sommige projecten die op het internet beschikbaar zijn, gebruikten mensen LCD-schermen, terwijl in andere, om het gebruik van monitoren mogelijk te maken, de TVout-bibliotheek werd gebruikt, die B&W is. Verder moeten in veel van deze projecten speciale schilden of hardware worden gebouwd. Hier heb je slechts twee Arduino, een paar weerstanden en de connector voor het PS2-toetsenbord en de monitor nodig, zoals weergegeven in de bovenstaande afbeeldingen.

Stap 1: Bouw de Arduino Master met TinyBasic en PS2-toetsenbord

TinyBasic Plus en de VGAx-bibliotheek werken voor Arduino IDE 1.6.4.

Download het eerst van de officiële webpagina van Arduino. Als u een nieuwere versie op uw pc hebt, kunt u deze het beste downloaden in.zip-indeling en deze op uw pc decomprimeren. Klik op deze link om de Windows-versie te downloaden.

Je hebt dan de PS2-toetsenbordbibliotheek nodig. Deze vind je onderaan deze pagina. Decomprimeer het gewoon en kopieer de PS2keyboard-map naar: arduino-1.6.4\libraries

Download ten slotte op deze pagina het bestand: TinyBasicPlus_PS2_VGAx.ino, decomprimeer en upload het naar uw Arduino.

Dit is een variatie op de standaard TinyBasic Plus waar ik de PS2-bibliotheek heb toegevoegd en de code heb aangepast om de variabelen ervan te accepteren.

Meer details over TiniBasic Plus en tutorials zijn te vinden op deze link.

Als er geen problemen en compatibiliteitsproblemen zijn, is Tiny Basic al actief. U kunt het testen via een seriële monitor in uw pc. Hiervoor gebruik ik PuTTY, maar er zijn veel andere programma's beschikbaar.

Je moet de juiste COM-poort instellen (het is dezelfde die je vindt in de Arduino IDE) en baudrate = 4800

Hier kun je al een aantal programma's in Basic testen door ze gewoon met je pc-toetsenbord te typen (NB later zal ik laten zien hoe je het PS2-toetsenbord rechtstreeks op de Arduino kunt aansluiten).

Probeer bijvoorbeeld:

10 AFDRUKKEN "Hallo, wereld!"

20 GA NAAR 10

LOOP

U kunt de oneindige lus dan stoppen door ctrl+c te typen.

Merk op dat deze combinatie niet werkt voor het PS2-toetsenbord.

In de volgende stap zal ik laten zien hoe je het PS2-toetsenbord op Arduino kunt aansluiten.

Stap 2: Sluit het PS2-toetsenbord aan op de Master Arduino

Sluit het PS2-toetsenbord aan op de Master Arduino
Sluit het PS2-toetsenbord aan op de Master Arduino

Ik heb alle informatie en bibliotheek van deze Instructable.

In wezen moet u de volgende vier pinnen aansluiten:

  • toetsenbordgegevens naar Arduino pin 8,
  • toetsenbord IRQ (klok) naar Arduino pin 3;
  • je moet ook GND en +5V verbinden.

Ik heb een oude vrouwelijke PS2-connector van een kapot pc-moederbord. Je kunt het gewoon weer onverkocht met een heteluchtpistool.

In de afbeelding die in deze stap wordt getoond, vindt u de functie van de benodigde pinnen van de PS2-connector.

Stap 3: Upload de VGAx-bibliotheek en code op de tweede Arduino en zet alles samen

Upload de VGAx-bibliotheek en code op de tweede Arduino en zet alles samen
Upload de VGAx-bibliotheek en code op de tweede Arduino en zet alles samen

Download eerst de VGAx-PC.ino-code onderaan deze pagina en kopieer deze naar uw pc in een map met dezelfde naam.

Download de VGAx-bibliotheek via deze link op GitHub. De eenvoudigste manier is om het te kopiëren naar de submap van de Arduino-software met de naam "bibliotheken", zodat het onmiddellijk wordt herkend.

BELANGRIJK: deze bibliotheek werkt voor Arduno IDE 1.6.4 maar is niet volledig compatibel met oudere of nieuwere versies.

Upload de VGAx-PC.ino in je tweede Arduino-bord (ik heb het getest voor de Nano-versie, maar de Uno zou ook moeten werken).

Een waarschuwing voor weinig beschikbaar geheugen is normaal. Als je geen andere fouten hebt, is alles in orde en kun je meteen beginnen met het bouwen van je eigen 8-bits pc.

Hiervoor heb je nodig:

  • twee Arduino Uno Rev. 3 of twee Arduino Nano 3.x (ATmega328)
  • een DSUB15-connector, d.w.z. een vrouwelijke VGA-connector of een VGA-kabel die moet worden doorgeknipt.
  • weerstanden: 2 x 68 Ohm en 2 x 470 Ohm
  • een vrouwelijke PS2-connector
  • draden
  • facultatief: een breadboard of een stripboard

Het schema wordt bovenaan deze stap gerapporteerd. Een voorbeeld van een afgewerkte "console" wordt getoond in de inleidende stap.

Hetzelfde schema, met een hogere resolutie, wordt gerapporteerd in een gecomprimeerd bestand onderaan deze stap.

Stap 4: Optioneel: een PCB gebruiken

Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken
Optioneel: een PCB gebruiken

U kunt deze Basic VGA PC ook bouwen met een kleine PCB. Je kunt je laten inspireren door de foto's in deze stap of je kunt zelfs je eigen bord afdrukken.

Ik gebruikte twee vrouwelijke headerstrips met 15 gaten voor de video-uitgang Arduino, terwijl ik voor de master twee strips met dubbele gaten gebruikte. Op deze manier kan ik de externe gebruiken om de contacten van andere projectcomponenten in te voegen, die direct kunnen worden aangestuurd met Basic-code. Ik heb in het midden ook de overgebleven strips toegevoegd, de ene aangesloten op 5 V en de andere voor GND.

Stap 5: Laatste opmerkingen en dankbetuigingen

Mijn belangrijkste dank gaat uit naar Sandro Maffiodo alias Smaffer, de maker van de geweldige VGAx-bibliotheek.

Veel dank ook aan de auteurs van TinyBasic Plus:

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

Dank ook aan "djsadeepa", de auteur van de Instructable voor de aansluiting van het PS2-toetsenbord.

Aan alle mensen die geïnteresseerd zijn in dit project: als je problemen hebt, aarzel dan niet om suggesties te vragen in de comments.

Als het je lukt, schrijf dan ook een opmerking of deel een foto van het apparaat dat je bouwt.

Aanbevolen: