Innehållsförteckning:

Arduino Basic PC med TV -utgång: 5 steg (med bilder)
Arduino Basic PC med TV -utgång: 5 steg (med bilder)

Video: Arduino Basic PC med TV -utgång: 5 steg (med bilder)

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

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

Anslut PS2 -tangentbordet till Master Arduino
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

Ladda upp MRETV -biblioteket på den andra Arduino och sätt allt tillsammans
Ladda upp MRETV -biblioteket på den andra Arduino och sätt allt tillsammans

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

Valfritt: Använda ett kretskort
Valfritt: Använda ett kretskort
Valfritt: Använda ett kretskort
Valfritt: Använda ett kretskort
Valfritt: Använda ett kretskort
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: