Innholdsfortegnelse:

Arduino Basic PC med VGA -utgang: 5 trinn (med bilder)
Arduino Basic PC med VGA -utgang: 5 trinn (med bilder)

Video: Arduino Basic PC med VGA -utgang: 5 trinn (med bilder)

Video: Arduino Basic PC med VGA -utgang: 5 trinn (med bilder)
Video: Как провести инвентаризацию всех компьютеров в вашей сети 2024, November
Anonim
Image
Image
Arduino Basic PC med VGA -utgang
Arduino Basic PC med VGA -utgang
Arduino Basic PC med VGA -utgang
Arduino Basic PC med VGA -utgang

I min forrige Instructable har jeg vist hvordan jeg bygger en retro 8-biters datamaskin som kjører BASIC, ved hjelp av to Arduino, og med et utgangssignal i B&W for en TV-skjerm.

Nå skal jeg vise hvordan du bygger den samme datamaskinen, men med utgangssignalet i farger for en VGA -skjerm!

Du kan legge inn variablene og BASIC -programmet med et PS2 -tastatur, og det genererer utdata for en VGA -skjerm med en tekstoppløsning på 24 kolonner x 10 rader med 5x6 piksler tegn, i fire farger. Du kan se det i aksjon i den øvre videoen. Programmet kan deretter lagres på Arduino EEPROM, og du kan fortsatt styre I/O -pinnene direkte via grunnleggende dedikerte kommandoer.

Dette prosjektet kan også brukes til å skrive ut enkle tekstmeldinger på skjermen, som vist på det tredje bildet på denne siden.

En Arduino er "mesteren", og den kjører Tiny Basic Plus, en C -implementering av Tiny Basic, med fokus på støtte for Arduino. Det styrer også et PS2 -tastatur. Utgangen sendes deretter via den serielle porten til den andre Arduino som genererer VGA -utgangen takket være VGAx -biblioteket.

Ideen om å bruke en eller flere Arduino til å lage en gammel PC med en dialekt med Basic er ikke ny, men så vidt jeg vet har ingen av dem fargeutgang. I noen prosjekter som var tilgjengelige på nettet, brukte folk LCD -skjermer, mens i andre, for å tillate bruk av skjermer, har det blitt brukt TVout -biblioteket, som er S / H. Videre må det i mange av disse prosjektene bygges spesielle skjold eller maskinvare. Her trenger du bare to Arduino, få motstander og kontakten for PS2 -tastaturet og skjermen, som vist på bildene ovenfor.

Trinn 1: Bygg Arduino Master med TinyBasic og PS2 -tastatur

TinyBasic Plus og VGAx -biblioteket fungerer for Arduino IDE 1.6.4.

Last den først ned fra Arduino offisielle nettside. Hvis du har en nyere versjon på PC -en, er det best å laste den ned i.zip -format og pakke dem ut på PCen. Klikk på denne lenken for å laste ned Windows -versjonen.

Du trenger da PS2 -tastaturbiblioteket. Du finner den nederst på denne siden. Bare pakk den ut og kopier PS2-tastaturmappen i: arduino-1.6.4 / libraries

Til slutt, på denne siden, last ned filen: TinyBasicPlus_PS2_VGAx.ino, pakk ut og last den opp på Arduino.

Dette er en variant av standard TinyBasic Plus hvor jeg har lagt til PS2 -biblioteket og endret koden for å godta variablene fra den.

Flere detaljer om TiniBasic Plus og opplæringsprogrammer finner du på denne lenken.

Hvis det ikke er problemer og kompatibilitetsproblemer, kjører Tiny Basic allerede. Du kan teste den gjennom en seriell skjerm på PCen. Til dette formålet bruker jeg PuTTY, men mange andre programmer er tilgjengelige.

Du må angi riktig COM -port (den er den samme som du finner i Arduino IDE) og baud rate = 4800

Her kan du allerede teste noen programmer i Basic bare ved å skrive dem med PC -tastaturet (NB senere viser jeg hvordan du kobler PS2 -tastaturet direkte til Arduino).

Prøv for eksempel:

10 SKRIV UT "Hei, verden!"

20 GOTO 10

LØPE

Du kan deretter stoppe den uendelige løkken bare ved å skrive ctrl+c.

Vær oppmerksom på at denne kombinasjonen ikke fungerer for PS2 -tastaturet.

I neste trinn vil jeg vise hvordan du kobler PS2 -tastaturet til Arduino.

Trinn 2: Koble PS2 -tastaturet til Master Arduino

Koble PS2 -tastaturet til Master Arduino
Koble PS2 -tastaturet til Master Arduino

Jeg fikk all informasjon og bibliotek fra denne instruksjonsboken.

I hovedsak må du koble til følgende fire pinner:

  • tastaturdata til Arduino pin 8,
  • tastatur IRQ (klokke) til Arduino pin 3;
  • du må også koble til GND og +5V.

Jeg fikk en gammel PS2 hunkontakt fra et ødelagt PC -hovedkort. Du kan ganske enkelt selge den med en varmepistol.

På bildet som vises i dette trinnet, kan du finne funksjonen til de nødvendige pinnene på PS2 -kontakten.

Trinn 3: Last opp VGAx -biblioteket og koden på den andre Arduinoen og sett alt sammen

Last opp VGAx -biblioteket og koden på den andre Arduinoen og sett alt sammen
Last opp VGAx -biblioteket og koden på den andre Arduinoen og sett alt sammen

Last ned først VGAx-PC.ino-koden nederst på denne siden, og kopier den på PCen i en katalog med samme navn.

Last ned VGAx -biblioteket fra denne lenken på GitHub. Den enkleste måten er å kopiere den i Arduino -undermappen som heter "biblioteker", for å bli gjenkjent umiddelbart.

VIKTIG: dette biblioteket fungerer for Arduno IDE 1.6.4, men det er ikke fullt kompatibelt med eldre eller nyere versjoner.

Last opp VGAx-PC.ino i ditt andre Arduino-kort (jeg testet den for Nano-versjonen, men Uno burde også fungere).

En advarsel for lite tilgjengelig minne er normalt. Hvis du ikke har andre feil, er alt ok, og du kan umiddelbart begynne å bygge din egen 8-biters PC.

For dette trenger du:

  • to Arduino Uno Rev. 3 eller to Arduino Nano 3.x (ATmega328)
  • en DSUB15 -kontakt, dvs. en VGA -hunkontakt eller en VGA -kabel som skal kuttes.
  • motstander: 2 x 68 Ohm og 2 x 470 Ohm
  • en PS2 hunkontakt
  • ledninger
  • fakultativ: et brødbrett eller et stripebrett

Skjematikken er rapportert øverst i dette trinnet. Et eksempel på en ferdig “konsoll” vises i det innledende trinnet.

Det samme skjemaet, med en høyere oppløsning, er rapportert i en komprimert fil nederst i dette trinnet.

Trinn 4: Valgfritt: Bruke en PCB

Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB
Valgfritt: Bruke en PCB

Du kan også bygge denne grunnleggende VGA -PC -en ved hjelp av en liten PCB. Du kan hente inspirasjon fra bildene i dette trinnet, eller du kan til og med skrive ut ditt eget brett.

Jeg brukte to hunnhodestrimler med 15 hull for videoutgangen Arduino, mens for masteren brukte jeg to strimler med doble hull. På denne måten kan jeg bruke de eksterne til å sette inn kontaktene til andre prosjektkomponenter, som kan drives direkte med grunnleggende kode. Jeg la også i midten til rester av strimler, den ene koblet til 5 V og den andre for GND.

Trinn 5: Sluttkommentarer og anerkjennelser

Min viktigste kunnskap går til Sandro Maffiodo alias Smaffer, skaperen av det fantastiske VGAx -biblioteket.

Tusen takk også til forfatterne av TinyBasic Plus:

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

Takk også til "djsadeepa", forfatteren av Instructable for tilkoblingen av PS2 -tastaturet.

Til alle som er interessert i dette prosjektet: Hvis du har problemer, ikke nøl med å be om forslag i kommentarene.

Hvis du lykkes, kan du også skrive en kommentar eller dele et bilde av enheten du bygger.

Anbefalt: