Innehållsförteckning:

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

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

Video: Arduino Basic PC med VGA -utgång: 5 steg (med bilder)
Video: doubling the drop every time the PC survives #shorts 2024, Juli
Anonim
Image
Image
Arduino Basic PC med VGA -utgång
Arduino Basic PC med VGA -utgång
Arduino Basic PC med VGA -utgång
Arduino Basic PC med VGA -utgång

I min tidigare Instructable har jag visat hur man bygger en retro 8-bitars dator som kör BASIC, med hjälp av två Arduino, och med en utsignal i B&W för en TV-skärm.

Nu ska jag visa hur man bygger samma dator, men med utsignalen i färg för en VGA -skärm!

Du kan mata in variablerna och BASIC -programmet med ett PS2 -tangentbord, och det genererar utdata för en VGA -bildskärm med en textupplösning på 24 kolumner x 10 rader med 5x6 pixeltecken, i fyra färger. 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.

Detta projekt kan också användas för att skriva ut enkla textmeddelanden på bildskärmen, som visas på den tredje bilden på denna sida.

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 VGA -utgången tack vare VGAx -biblioteket.

Tanken att använda en eller flera Arduino för att skapa en gammaldags dator med en dialekt av Basic är inte ny, men så vitt jag vet har ingen av dem färgutmatning. I vissa projekt som finns tillgängliga på nätet använde människor LCD -skärmar, medan andra använde TVout -biblioteket, som är svartvitt, 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, få motstånd och kontakten för PS2 -tangentbordet och bildskärmen, som visas i bilderna ovan.

Steg 1: Bygg Arduino Master med TinyBasic och PS2 -tangentbord

TinyBasic Plus och VGAx -biblioteket fungerar för Arduino IDE 1.6.4.

Ladda ner den först från Arduino 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_VGAx.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 variablerna från den.

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 = 4800

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;
  • du måste ansluta GND och +5V också.

Jag fick en gammal PS2 -honkontakt från ett trasigt PC -moderkort. Du kan helt enkelt sälja den 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 VGAx -biblioteket och koden på den andra Arduino och sätt ihop allt

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

Ladda ner först VGAx-PC.ino-koden längst ner på denna sida och kopiera den till din dator i en katalog med samma namn.

Ladda ner VGAx -biblioteket från den här länken på GitHub. Det enklaste sättet är att kopiera det i undermappen för Arduino -programvaran med namnet "bibliotek", för att genast bli igenkänd.

VIKTIGT: detta bibliotek fungerar för Arduno IDE 1.6.4 men det är inte helt kompatibelt med äldre eller nyare versioner.

Ladda upp VGAx-PC.ino i ditt andra Arduino-kort (jag testade det för Nano-versionen men Uno borde också fungera).

En varning för lågt tillgängligt minne är normalt. Om du inte har andra fel är allt ok och du kan omedelbart börja bygga din egen 8-bitars PC.

För detta behöver du:

  • två Arduino Uno Rev. 3 eller två Arduino Nano 3.x (ATmega328)
  • en DSUB15 -kontakt, dvs en VGA -honkontakt eller en VGA -kabel som ska klippas.
  • motstånd: 2 x 68 Ohm och 2 x 470 Ohm
  • en PS2 -honkontakt
  • trådar
  • fakultativ: en brödbräda eller en bandbräda

Schemat visas högst upp i detta steg. Ett exempel på en färdig "konsol" visas i det inledande steget.

Samma schema med högre upplösning rapporteras i en komprimerad fil längst ner i detta steg.

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

Du kan också bygga denna grundläggande VGA -dator med ett litet kretskort. Du kan ta inspiration från bilderna i det här steget eller så kan du till och med skriva ut din egen tavla.

Jag använde två honremsor med 15 hål för videoutgången Arduino, medan jag för mästaren använde två remsor med dubbla hål. På detta sätt kan jag använda de externa för att infoga kontakterna till andra projektkomponenter, som kan drivas direkt med grundkod. Jag lade också till i mitten till överblivna remsor, en ansluten till 5 V och den andra för GND.

Steg 5: Slutkommentarer och bekräftelser

Min främsta kunskap går till Sandro Maffiodo aka Smaffer, skaparen av det fantastiska VGAx -biblioteket.

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 som är intresserade av detta projekt: 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: