Innehållsförteckning:
- Steg 1: Bygg Arduino Master med TinyBasic och PS2 -tangentbord
- Steg 2: Anslut PS2 -tangentbordet till Master Arduino
- Steg 3: Ladda upp MRETV -biblioteket på den andra Arduino och sätt ihop allt
- Steg 4: Valfritt: Använda ett kretskort
- Steg 5: Slutkommentarer och bekräftelser
Video: Arduino Basic PC med TV -utgång: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I denna instruktion kommer jag att visa hur man bygger en retro 8-bitars dator som kör BASIC, med hjälp av två Arduino och några andra komponenter.
Du kan mata in variablerna och BASIC -programmet med ett PS2 -tangentbord, och utmatningen visas på en bildskärm med en text på 47 kolumner x 29 rader med 8x8 pixeltecken (svartvitt), en upplösning som är lika eller bättre än Commodore 64, lika med 40 x 25 tecken.
Du kan se det i aktion i den övre videon.
Programmet kan sedan sparas på Arduino EEPROM, och du kan fortfarande styra I/O -stiften direkt med grundläggande dedikerade kommandon.
En Arduino är "mästaren", och den kör Tiny Basic Plus, en C -implementering av Tiny Basic, med fokus på stöd för Arduino. Det styr också ett PS2 -tangentbord. Utmatningen skickas sedan via serieporten till den andra Arduino som genererar videoutgången tack vare det fantastiska MRETV -biblioteket.
Tanken att använda en eller flera Arduino för att skapa en gammaldags dator som kör en dialekt med Basic är inte ny, men än så länge finns det några starka begränsningar i utgångsupplösningen. I vissa projekt som finns tillgängliga på nätet använde människor LCD -skärmar, medan andra använde TVout -biblioteket som har en mycket lägre upplösning för att tillåta användning av bildskärmar. Dessutom måste speciella sköldar eller hårdvara byggas i många av dessa projekt.
Här behöver du bara två Arduino, ett par dioder, några motstånd och kontakten för PS2 -tangentbordet och bildskärmen, som visas på bilden ovan.
Steg 1: Bygg Arduino Master med TinyBasic och PS2 -tangentbord
TinyBasic Plus och MRETV fungerar för äldre - och olika - Arduino IDE.
Ladda ner IDE 1.6.4 först från Arduinos officiella webbsida. Om du har en nyare version på din dator är det bäst att ladda ner den i.zip -format och packa upp dem på din dator. Klicka på den här länken för att ladda ner Windows -versionen.
Du behöver då PS2 -tangentbordsbiblioteket. Du hittar den längst ner på denna sida. Komprimera bara den och kopiera mappen PS2keyboard i: arduino-1.6.4 / libraries
Slutligen, på den här sidan, ladda ner filen: TinyBasicPlus_PS2.ino, packa upp och ladda upp den på din Arduino.
Detta är en variant av standard TinyBasic Plus där jag har lagt till PS2 -biblioteket och ändrat koden för att acceptera det löpande från det.
Mer information om TiniBasic Plus och självstudier finns på denna länk.
Om det inte finns några problem och kompatibilitetsproblem körs Tiny Basic redan. Du kan testa den med en seriell bildskärm i din dator. För detta ändamål använder jag PuTTY, men många andra program är tillgängliga.
Du måste ställa in rätt COM -port (det är samma som du hittar i Arduino IDE) och överföringshastighet = 2400
Här kan du redan testa något program i Basic bara genom att skriva dem med ditt PC -tangentbord (OBS senare visar jag hur du ansluter PS2 -tangentbordet direkt till Arduino).
Prova till exempel:
10 UTSKRIFT "Hej, värld!"
20 GÅTT 10
SPRINGA
Du kan sedan stoppa den oändliga slingan bara genom att skriva ctrl+c. Observera att denna kombination inte fungerar för PS2 -tangentbordet.
I nästa steg kommer jag att visa hur du ansluter PS2 -tangentbordet till Arduino.
Steg 2: Anslut PS2 -tangentbordet till Master Arduino
Jag fick all information och bibliotek från denna instruerbara.
I huvudsak måste du ansluta följande fyra stift:
- tangentbord Data till Arduino pin 8,
- tangentbord IRQ (klocka) till Arduino pin 3;
- självklart måste du ansluta GND och +5V också.
Jag fick en gammal PS2 -honkontakt från ett trasigt PC -moderkort, du kan helt enkelt sälja det med en värmepistol.
På bilden som visas i det här steget kan du hitta funktionen hos de nödvändiga stiften på PS2 -kontakten.
Steg 3: Ladda upp MRETV -biblioteket på den andra Arduino och sätt ihop allt
Nyckelpunkten för detta projekt är förekomsten av det fantastiska MRETV -biblioteket. Det finns en dedikerad instruerbar där den beskrivs i detaljer.
Den använder endast två motstånd och två dioder för att generera helskärmsvideo, med en textupplösning på 47 x 29 på 8 x 8 tecken. Som det sägs i inledningen, "videogenerering har gjorts tidigare, men inte så här. FULL DUPLEX -serie är fortfarande tillgänglig när du skapar video". Detta gör det möjligt att få data från "master" Arduino och visa dem på monitorn. I praktiken används denna andra "slav" Arduino som ett grafiskt gränssnitt!
Eftersom MRETV fungerar för IDE 1.6.6 kan du ladda ner det från Arduinos officiella webbsida. Återigen är det bästa att ladda ner den i.zip -format och packa upp dem på din dator. Klicka på den här länken för att ladda ner Windows -versionen.
Ladda sedan ner MRETV -biblioteket från denna länk.
Komprimera den och spara mappen "MRETV" i: arduino-1.6.6 / libraries
Slutligen ladda ner TVtext_slave.rar längst ner på denna sida, packa upp den och ladda upp i din Arduino -slav.
Om det inte finns något felmeddelande kan du ansluta RCA -kontakten. Du behöver de två dioderna och motstånden på 1 kOhm och 300 Ohm, som visas i schemat på denna sida.
Vid denna tidpunkt kan du ansluta allt tillsammans.
Den fullständiga materiallistan är:
- två Arduino Uno Rev. 3 eller två Arduino Nano 3.x (ATmega328)
- två motstånd 1 kOhm
- ett motstånd 300 Ohm
- två dioder 1n4148 (x2) eller liknande kiselkopplingsdiod
- två RCA -hona (en för video, en - fakultativ - för ljud)
- en PS2 -honkontakt
- en brödbräda och trådar
Master Arduino skickar data till slaven genom den orange kabeln, dvs masterstift 1 (Tx) till slavstift 2 (Rx). Om du behöver ladda upp en kod igen bör du först koppla bort den här kabeln.
Anslut sedan slaven arduino till en 5V strömförsörjning, RCA -kabeln till TV: n och tangentbordet till PS2, och du bör nu se koden till din TV!
Funktionerna för denna grundläggande dialekt beskrivs i detaljer på dess hemsida (se länk i steg 2). Med kommandona "esave" och "eload" kan du spara ett Basic -program i EEPROM. Detta program körs som standard varje gång du återställer master Arduino. För att radera det kan du använda kommandot "eformat".
En av de viktigaste funktionerna i detta program är att du fortfarande kan köra master Arduino I/O med dedikerade grundläggande kommandon, t.ex.
- DWRITE pin, value - set pin med ett värde (HIGH, HI, LOW, LO)
- AWRITE -stift, värde - ställ in stift med analogt värde (pwm) 0..255
- DREAD (pin) - få värdet på pin
- AREAD (analogPin) - få värdet på den analoga stiftet
Således kan du skriva ett program i Basic som driver lite hårdvara, spara det i EEPROM och sedan köra det automatiskt genom att bara återställa Arduino.
Steg 4: Valfritt: Använda ett kretskort
Du kan också bygga denna Basic PC med en liten PCB. Du kan ta inspiration från bilderna i det här steget eller så kan du till och med skriva ut din tavla.
Du kan använda två honremsor med 15 hål för videoutgången Arduino, medan jag för mastern föreslår att du använder fyra remsor. På så sätt kan du använda de externa för att infoga kontakterna på dina projektkomponenter.
Jag lade också till i mitten till överblivna remsor, en ansluten till 5 V och den andra för GND.
Slutligen, i.rar -filen, kan du hitta maskerna för att etsa en kopparplatta.
Steg 5: Slutkommentarer och bekräftelser
Detta projekt kunde inte ha gjorts utan MRETV -biblioteket. Således går mitt främsta erkännande till hans författare, som använder förkortningen Mr E.
Stort tack också till författarna till TinyBasic Plus:
- Tiny Basic 68k - Gordon Brandly
- Arduino Basic / Tiny Basic C - Michael Field
- Tiny Basic Plus - Scott Lawrence
Tack också till "djsadeepa", författare till Instructable för anslutning av PS2 -tangentbordet.
Till alla människor som är intresserade av detta projekt: det är lättare att bygga så att det kan verka vid första ögonkastet. Mina främsta problem har varit med Arduino IDE -kompatibilitet. Om du har problem, tveka inte att fråga förslag i kommentarerna.
Om du lyckas kan du också skriva en kommentar eller dela en bild av enheten du bygger.
Rekommenderad:
Handhållen BASIC -dator: 6 steg (med bilder)
Handhållen BASIC -dator: Denna instruktionsbok beskriver min process för att bygga en liten handdator som kör BASIC. Datorn är byggd kring ATmega 1284P AVR -chipet, som också inspirerade det dumma namnet på datorn (HAL 1284) .Denna konstruktion är TYCKLIGT inspirerad av
Telepresence Robot: Basic Platform (Del 1): 23 steg (med bilder)
Telepresence Robot: Basic Platform (Del 1): En telepresence robot är en typ av robot som kan fjärrstyras över internet och fungera som en surrogat för någon annanstans. Till exempel, om du är i New York, men fysiskt vill interagera med ett team av människor i Californien
Arduino Bluetooth Basic Tutorial: 6 steg (med bilder)
Arduino Bluetooth Basic Tutorial: UPDATE: UPPDATERAD VERSION AV DENNA ARTIKEL KAN HITTAS HÄR Har du någonsin tänkt på att styra elektroniska enheter med din smartphone? Att styra din robot eller andra enheter med din smartphone kommer att bli riktigt coolt. Här är en enkel och grundläggande
Så här styr du ESP8266 -baserad Sonoff Basic Smart Switch med en smartphone: 4 steg (med bilder)
Så här styr du ESP8266 -baserad Sonoff Basic Smart Switch med en smartphone: Sonoff är en enhetslinje för Smart Home utvecklad av ITEAD. En av de mest flexibla och billiga enheterna från den linjen är Sonoff Basic. Det är en Wi-Fi-aktiverad switch baserad på ett bra chip, ESP8266. Den här artikeln beskriver hur du konfigurerar Cl
ESP8266 Robotbil programmerad med ESP8266 Basic: 18 steg (med bilder)
ESP8266 Robotbil programmerad med ESP8266 Basic: Jag är en naturvetenskapslärare på mellanstadiet och även Robotic Club Advisor. Jag har letat efter mer kostnadseffektiva sätt att få robotar i händerna på mina elever. Med de låga priserna på ESP8266 -brädor har jag kunnat skapa en autonom