Innholdsfortegnelse:

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

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

Video: Arduino Basic PC med TV -utgang: 5 trinn (med bilder)
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, November
Anonim
Image
Image
Arduino Basic PC med TV -utgang
Arduino Basic PC med TV -utgang
Arduino Basic PC med TV -utgang
Arduino Basic PC med TV -utgang
Arduino Basic PC med TV -utgang
Arduino Basic PC med TV -utgang

I denne instruksen vil jeg vise hvordan du bygger en retro 8-biters datamaskin som kjører BASIC, ved hjelp av to Arduino og få andre komponenter.

Du kan legge inn variablene og BASIC -programmet med et PS2 -tastatur, og utgangen vises på en skjerm med en tekst på 47 kolonner x 29 rader med 8x8 piksler tegn (S / H), en oppløsning som er lik eller bedre enn Commodore 64, lik 40 x 25 tegn.

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.

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 videoutgangen takket være det fantastiske MRETV -biblioteket.

Ideen om å bruke en eller flere Arduino til å lage en gammel PC med en dialekt med Basic er ikke ny, men så langt er det noen sterke begrensninger i utgangsoppløsningen. 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 har en mye lavere oppløsning. Videre må det i mange av disse prosjektene bygges spesielle skjold eller maskinvare.

Her trenger du bare to Arduino, et par dioder, få motstander og kontakten til PS2 -tastaturet og skjermen, som vist på bildet ovenfor.

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

TinyBasic Plus og MRETV fungerer for eldre - og forskjellige - Arduino IDE.

Last ned IDE 1.6.4 først fra den offisielle siden til Arduino. 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.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 den levedyktige 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 = 2400

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 vil fungere 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;
  • selvfølgelig må du koble til GND og +5V også.

Jeg har en gammel PS2 hunkontakt fra et ødelagt PC -hovedkort. Du kan ganske enkelt selge det 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 MRETV -biblioteket på den andre Arduinoen og sett alt sammen

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

Hovedpoenget med dette prosjektet er eksistensen av det fantastiske MRETV -biblioteket. Det er en dedikert Instructable der den er beskrevet i detaljer.

Den bruker bare to motstander og to dioder for å generere fullskjermvideo, med en tekstoppløsning på 47 x 29 på 8 x 8 tegn. Som det står i innledningen, har "videogenerering blitt gjort før, men ikke slik. FULL DUPLEX -serien er fortsatt tilgjengelig mens du genererer video". Dette gjør det mulig å få dataene fra "master" Arduino og vise dem på skjermen. I praksis brukes denne andre "slaven" Arduino som et grafisk grensesnitt!

Siden MRETV fungerer for IDE 1.6.6, kan du laste den ned fra Arduino offisielle webside. Igjen, det beste er å laste det ned i.zip -format og pakke dem ut på PCen. Klikk på denne lenken for å laste ned Windows -versjonen.

Last ned deretter MRETV -biblioteket fra denne lenken.

Komprimer den og lagre mappen "MRETV" i: arduino-1.6.6 / libraries

Til slutt laster du ned TVtext_slave.rar nederst på denne siden, pakker den ut og laster opp i din Arduino -slave.

Hvis det ikke er noen feilmelding, kan du koble til RCA -kontakten. Du trenger de to dioder og motstandene på 1 kOhm og 300 Ohm, som vist i diagrammet på denne siden.

På dette tidspunktet kan du koble alt sammen.

Den komplette materialelisten er:

  • to Arduino Uno Rev. 3 eller to Arduino Nano 3.x (ATmega328)
  • to motstander 1 kOhm
  • en motstand 300 Ohm
  • to dioder 1n4148 (x2) eller lignende silisiumbryterdiode
  • to RCA plugg hunn (en for video, en - fakultativ - for lyd)
  • en PS2 hunkontakt
  • et brødbrett og ledninger

Master Arduino sender dataene til slaven gjennom den oransje kabelen, dvs. master pin 1 (Tx) til slave pin 2 (Rx). Hvis du trenger å laste opp noen koder på nytt, bør du først koble fra denne kabelen.

Koble deretter slaven arduino til en 5V strømforsyning, RCA -kabelen til TV -en og tastaturet til PS2, og du bør nå se koden til TVen din!

Funksjonene til denne grunnleggende dialekten er beskrevet i detaljer på hjemmesiden (se lenke i trinn 2). Med kommandoene "esave" og "eload" kan du lagre ett Basic -program i EEPROM. Dette programmet kjøres som standard hver gang du nullstiller master Arduino. For å slette den kan du bruke kommandoen "eformat".

En av de viktigste funksjonene i dette programmet er at du fremdeles kan kjøre master Arduino I/O med dedikerte grunnleggende kommandoer, for eksempel

  • DWRITE pin, verdi - sett pin med en verdi (HIGH, HI, LOW, LO)
  • AWRITE pin, verdi - sett pin med analog verdi (pwm) 0..255
  • DREAD (pin) - få verdien av pinnen
  • AREAD (analogPin) - få verdien til den analoge pinnen

Dermed kan du skrive et program i Basic som driver litt maskinvare, lagre det i EEPROM og deretter kjøre det automatisk bare ved å tilbakestille Arduino.

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

Du kan også bygge denne grunnleggende 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 brettet ditt.

Du kan bruke to hunnhodestrimler med 15 hull for videoutgangen Arduino, mens jeg for masteren foreslår at du bruker fire strimler. På denne måten kan du bruke de eksterne til å sette inn kontaktene til prosjektkomponentene dine.

Jeg la også i midten til rester av strimler, den ene koblet til 5 V og den andre for GND.

Til slutt kan du i.rar -filen finne masker for å etse et kobberbrett.

Trinn 5: Sluttkommentarer og anerkjennelser

Dette prosjektet kunne ikke ha blitt utført uten MRETV -biblioteket. Dermed går min viktigste erkjennelse til forfatteren hans, som bruker forkortelsen Mr E.

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: det er lettere å bygge som det kan virke ved første blikk. Mine hovedproblemer har vært med Arduino IDE -kompatibilitetene. Hvis du har problemer, ikke nøl med å stille forslag i kommentarene.

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

Anbefalt: