Indholdsfortegnelse:

Arduino Basic PC Med TV -output: 5 trin (med billeder)
Arduino Basic PC Med TV -output: 5 trin (med billeder)

Video: Arduino Basic PC Med TV -output: 5 trin (med billeder)

Video: Arduino Basic PC Med TV -output: 5 trin (med billeder)
Video: Built an AWESOME MINECRAFT Controller 2024, November
Anonim
Image
Image
Arduino Basic PC med TV -output
Arduino Basic PC med TV -output
Arduino Basic PC med TV -output
Arduino Basic PC med TV -output
Arduino Basic PC med TV -output
Arduino Basic PC med TV -output

I denne instruktion vil jeg vise, hvordan man bygger en retro 8-bit computer, der kører BASIC, ved hjælp af to Arduino og få andre komponenter.

Du kan indtaste variablerne og BASIC -programmet med et PS2 -tastatur, og output vises på en skærm med en tekst på 47 kolonner x 29 rækker med 8x8 pixel tegn (S / H), en opløsning, der ligner eller er bedre end Commodore 64, lig med 40 x 25 tegn.

Du kan se det i aktion i den øverste video.

Programmet kan derefter gemmes på Arduino EEPROM, og du kan stadig styre I/O -benene direkte via Basic dedikerede kommandoer.

Den ene Arduino er "mesteren", og den kører Tiny Basic Plus, en C -implementering af Tiny Basic, med fokus på understøttelse af Arduino. Det styrer også et PS2 -tastatur. Outputtet sendes derefter via den serielle port til den anden Arduino, som genererer videooutput takket være det fantastiske MRETV -bibliotek.

Ideen om at bruge en eller flere Arduino til at oprette en gammel PC med en dialekt med Basic er ikke ny, men indtil videre er der nogle stærke begrænsninger i outputopløsningen. I nogle projekter, der var tilgængelige på nettet, brugte folk LCD -skærme, mens i andre, for at tillade brug af skærme, har det været brugt TVout -biblioteket, som har en meget lavere opløsning. Desuden skal der i mange af disse projekter bygges særlige skjolde eller hardware.

Her skal du bare bruge to Arduino, et par dioder, få modstande og stikket til PS2 -tastaturet og skærmen, som vist på billedet ovenfor.

Trin 1: Byg Arduino Master med TinyBasic og PS2 -tastatur

TinyBasic Plus og MRETV fungerer for ældre - og forskellige - Arduino IDE.

Download først IDE 1.6.4 fra Arduino officielle webside. Hvis du har en nyere version på din pc, er det bedst at downloade den i.zip -format og pakke dem ud på din pc. Klik på dette link for at downloade Windows -versionen.

Du skal derefter bruge PS2 -tastaturbiblioteket. Du kan finde den nederst på denne side. Bare tryk den ud og kopier PS2-tastaturmappen i: arduino-1.6.4 / libraries

Endelig på denne side skal du downloade filen: TinyBasicPlus_PS2.ino, komprimere og uploade den på din Arduino.

Dette er en variation af standard TinyBasic Plus, hvor jeg har tilføjet PS2 -biblioteket og ændret koden for at acceptere den levedygtige fra den.

Flere detaljer om TiniBasic Plus og selvstudier kan findes på dette link.

Hvis der ikke er problemer og kompatibilitetsproblemer, kører Tiny Basic allerede. Du kan teste det gennem en seriel skærm i din pc. Til dette formål bruger jeg PuTTY, men mange andre programmer er tilgængelige.

Du skal indstille den korrekte COM -port (den er den samme, du finder i Arduino IDE) og baudrate = 2400

Her kan du allerede teste et eller andet program i Basic bare ved at skrive dem med dit pc -tastatur (NB senere viser jeg, hvordan du forbinder PS2 -tastaturet direkte til Arduino).

Prøv for eksempel:

10 UDSKRIFT "Hej, verden!"

20 GOTO 10

LØB

Du kan derefter stoppe den uendelige loop bare ved at skrive ctrl+c. Bemærk, at denne kombination ikke virker på PS2 -tastaturet.

I det næste trin vil jeg vise, hvordan du forbinder PS2 -tastaturet til Arduino.

Trin 2: Tilslut PS2 -tastaturet til Master Arduino

Tilslut PS2 -tastaturet til Master Arduino
Tilslut PS2 -tastaturet til Master Arduino

Jeg fik alle informationer og bibliotek fra denne Instructable.

I det væsentlige skal du forbinde følgende fire stifter:

  • tastaturdata til Arduino pin 8,
  • tastatur IRQ (ur) til Arduino pin 3;
  • selvfølgelig skal du også forbinde GND og +5V.

Jeg fik et gammelt PS2 hunstik fra et ødelagt pc -bundkort, du kan simpelthen ikke sælge det med en varmepistol.

På billedet vist i dette trin kan du finde funktionen af de nødvendige ben på PS2 -stikket.

Trin 3: Upload MRETV -biblioteket på den anden Arduino og sæt alt sammen

Upload MRETV -biblioteket på den anden Arduino og sæt alt sammen
Upload MRETV -biblioteket på den anden Arduino og sæt alt sammen

Nøglepunktet i dette projekt er eksistensen af det fantastiske MRETV -bibliotek. Der er en dedikeret instruerbar, hvor den er beskrevet i detaljer.

Det bruger kun to modstande og to dioder til at generere fuldskærmsvideo med en tekstopløsning på 47 x 29 på 8x8 tegn. Som det står i indledningen, "er videogenerering blevet gjort før, men ikke sådan. FULD DUPLEX -serie er stadig tilgængelig under generering af video". Dette gør det muligt at få data fra "master" Arduino og vise dem på skærmen. I praksis bruges denne anden "slave" Arduino som en grafisk grænseflade!

Da MRETV fungerer til IDE 1.6.6, kan du downloade det fra den officielle Arduino -webside. Igen er det bedste at downloade det i.zip -format og komprimere dem på din pc. Klik på dette link for at downloade Windows -versionen.

Download derefter MRETV -biblioteket fra dette link.

Komprimér det, og gem mappen "MRETV" i: arduino-1.6.6 / libraries

Hent endelig TVtext_slave.rar nederst på denne side, komprimér den og upload i din Arduino -slave.

Hvis der ikke er nogen fejlmeddelelse, kan du tilslutte RCA -stikket. Du har brug for de to dioder og modstande på 1 kOhm og 300 Ohm, som vist på skematisk side på denne side.

På dette tidspunkt kan du forbinde alt sammen.

Den komplette materialeliste er:

  • to Arduino Uno Rev. 3 eller to Arduino Nano 3.x (ATmega328)
  • to modstande 1 kOhm
  • en modstand 300 Ohm
  • to dioder 1n4148 (x2) eller lignende siliciumkoblingsdiode
  • to RCA -stik hun (en til video, en - fakultativ - til lyd)
  • et PS2 hunstik
  • et brødbræt og ledninger

Master Arduino sender dataene til slaven gennem det orange kabel, dvs. master pin 1 (Tx) til slave pin 2 (Rx). Hvis du skal uploade en kode igen, skal du først afbryde dette kabel.

Tilslut derefter slave arduino til en 5V strømforsyning, RCA -kablet til tv'et og tastaturet til PS2, og du skulle nu se koden til dit tv!

Funktionerne i denne grundlæggende dialekt er beskrevet i detaljer på dens hjemmeside (se link i trin 2). Med kommandoerne "esave" og "eload" kan du gemme et Basic -program i EEPROM. Dette program køres som standard hver gang du nulstiller master Arduino. For at slette det kan du bruge kommandoen "eformat".

En af de vigtigste funktioner i dette program er, at du stadig kan køre master Arduino I/O med dedikerede Basic -kommandoer, som f.eks.

  • DWRITE pin, værdi - sæt pin med en værdi (HIGH, HI, LOW, LO)
  • AWRITE pin, værdi - sæt pin med analog værdi (pwm) 0..255
  • DREAD (pin) - få værdien af pin
  • AREAD (analogPin) - få værdien af den analoge pin

Således kan du skrive et program i Basic, der driver noget hardware, gemme det i EEPROM og derefter køre det automatisk ved blot at nulstille Arduino.

Trin 4: Valgfrit: Brug af et printkort

Valgfrit: Brug af et printkort
Valgfrit: Brug af et printkort
Valgfrit: Brug af et printkort
Valgfrit: Brug af et printkort
Valgfrit: Brug af et printkort
Valgfrit: Brug af et printkort

Du kan også bygge denne grundlæggende pc ved hjælp af et lille printkort. Du kan hente inspiration fra billederne i dette trin, eller du kan endda printe dit bræt.

Du kan bruge to kvindelige headerstrimler med 15 huller til videooutput Arduino, mens jeg for master foreslår at bruge fire strimler. På denne måde kan du bruge de eksterne til at indsætte kontakterne på dine projektkomponenter.

Jeg tilføjede også i midten til resterende strimler, den ene tilsluttet 5 V og den anden til GND.

Endelig kan du i.rar -filen finde maskerne til at ætse et kobberbræt.

Trin 5: Afsluttende kommentarer og anerkendelser

Dette projekt kunne ikke have været udført uden MRETV -biblioteket. Således går min største anerkendelse til hans forfatter, der bruger forkortelsen hr. E.

Mange tak også til forfatterne af TinyBasic Plus:

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

Tak også til "djsadeepa", forfatteren af Instructable til tilslutning af PS2 -tastaturet.

Til alle de mennesker, der er interesseret i dette projekt: det er lettere at bygge, som det kan virke ved første øjekast. Mine hovedproblemer har været med Arduino IDE -kompatibilitet. Hvis du har problemer, tøv ikke med at stille forslag i kommentarerne.

Hvis du lykkes, kan du også skrive en kommentar eller dele et billede af den enhed, du bygger.

Anbefalede: