Obsah:

Základní počítač Arduino s TV výstupem: 5 kroků (s obrázky)
Základní počítač Arduino s TV výstupem: 5 kroků (s obrázky)

Video: Základní počítač Arduino s TV výstupem: 5 kroků (s obrázky)

Video: Základní počítač Arduino s TV výstupem: 5 kroků (s obrázky)
Video: Arduino: Základy 01 | Seznámení s Arduinem [sub] 2024, Listopad
Anonim
Image
Image
Základní počítač Arduino s TV výstupem
Základní počítač Arduino s TV výstupem
Základní počítač Arduino s TV výstupem
Základní počítač Arduino s TV výstupem
Základní počítač Arduino s TV výstupem
Základní počítač Arduino s TV výstupem

V tomto Instructables ukážu, jak postavit retro 8bitový počítač se systémem BASIC pomocí dvou Arduino a několika dalších komponent.

Proměnné a program BASIC můžete zadat pomocí klávesnice PS2 a výstup se zobrazí na monitoru s textem 47 sloupců x 29 řádků znaků 8x8 pixelů (ČB), rozlišení podobné nebo lepší než u Commodore 64, které se rovná 40 x 25 znaků.

Můžete to vidět v akci v horním videu.

Program pak lze uložit na Arduino EEPROM a I/O piny můžete stále ovládat přímo pomocí vyhrazených základních příkazů.

Jeden Arduino je „pán“a běží na něm Tiny Basic Plus, implementace Tiny Basic v jazyce C, se zaměřením na podporu Arduina. Ovládá také klávesnici PS2. Výstup je pak odeslán přes sériový port do druhého Arduina, který generuje video výstup díky úžasné knihovně MRETV.

Myšlenka použít jedno nebo více Arduino k vytvoření starého stylu PC s dialektem Basic není nová, ale zatím existují silná omezení výstupního rozlišení. V některých projektech dostupných na internetu lidé používali LCD displeje, zatímco v jiných, aby bylo možné používat monitory, byla použita knihovna TVout, která má mnohem nižší rozlišení. Navíc v mnoha z těchto projektů musí být postaveny speciální štíty nebo hardware.

Zde potřebujete pouze dva Arduino, pár diod, několik odporů a konektor pro klávesnici PS2 a monitor, jak ukazuje obrázek výše.

Krok 1: Sestavte Arduino Master pomocí klávesnice TinyBasic a PS2

TinyBasic Plus a MRETV pracují pro starší - a jiné - Arduino IDE.

Nejprve si stáhněte IDE 1.6.4 z oficiální webové stránky Arduino. Pokud máte na počítači novější verze, je nejlepší stáhnout si jej ve formátu.zip a rozbalit je v počítači. Kliknutím na tento odkaz stáhnete verzi systému Windows.

Pak potřebujete knihovnu PS2keyboard. Najdete ho v dolní části této stránky. Stačí jej rozbalit a zkopírovat složku PS2keyboard do: arduino-1.6.4 / libraries

Nakonec si na této stránce stáhněte soubor: TinyBasicPlus_PS2.ino, rozbalte jej a nahrajte do svého Arduina.

Toto je variace standardního TinyBasic Plus, kde jsem přidal knihovnu PS2 a upravil kód tak, aby z něj přijímal viariable.

Další podrobnosti o TiniBasic Plus a návody najdete na tomto odkazu.

Pokud nejsou žádné problémy a problémy s kompatibilitou, Tiny Basic již běží. Můžete to vyzkoušet prostřednictvím sériového monitoru ve vašem PC. K tomuto účelu používám PuTTY, ale je k dispozici mnoho dalších programů.

Musíte nastavit správný COM port (je stejný jako v Arduino IDE) a přenosovou rychlost = 2400

Zde již můžete vyzkoušet některý program v jazyce Basic pouhým zadáním do klávesnice počítače (později si ukážu, jak připojit klávesnici PS2 přímo k Arduinu).

Zkuste například:

10 TISK „Ahoj, světe!“

20 GOTO 10

BĚH

Nekonečnou smyčku pak můžete zastavit pouhým zadáním ctrl+c. Mějte na paměti, že tato kombinace nebude fungovat pro klávesnici PS2.

V dalším kroku ukážu, jak připojit klávesnici PS2 k Arduinu.

Krok 2: Připojte klávesnici PS2 k Master Arduino

Připojte klávesnici PS2 k Master Arduino
Připojte klávesnici PS2 k Master Arduino

Z tohoto Instructable jsem získal všechny informace a knihovnu.

V zásadě musíte připojit následující čtyři piny:

  • data klávesnice na Arduino pin 8,
  • klávesnice IRQ (hodiny) na Arduino pin 3;
  • samozřejmě musíte připojit také GND a +5V.

Z rozbité základní desky počítače jsem dostal starý konektor PS2. Můžete jej jednoduše prodat pomocí horkovzdušné pistole.

Na obrázku zobrazeném v tomto kroku najdete funkci potřebných pinů konektoru PS2.

Krok 3: Nahrajte knihovnu MRETV na druhé Arduino a dejte vše dohromady

Nahrajte knihovnu MRETV na druhé Arduino a dejte vše dohromady
Nahrajte knihovnu MRETV na druhé Arduino a dejte vše dohromady

Klíčovým bodem tohoto projektu je existence úžasné knihovny MRETV. Existuje vyhrazený instruktáž, kde je podrobně popsán.

K generování videa na celou obrazovku používá pouze dva odpory a dvě diody s textovým rozlišením 47 x 29 z 8 x 8 znaků. Jak říká v úvodu, „generování videa bylo provedeno již dříve, ale ne takto. ÚPLNÝ DUPLEX seriál je stále k dispozici při generování videa“. To umožňuje získat data z „hlavního“Arduina a zobrazit je na monitoru. V praxi se tento druhý „otrok“Arduino používá jako grafické rozhraní!

Protože MRETV funguje pro IDE 1.6.6, stáhněte si ho z oficiální webové stránky Arduina. Opět je nejlepší stáhnout si jej ve formátu.zip a rozbalit je na počítači. Kliknutím na tento odkaz stáhnete verzi systému Windows.

Stáhněte si poté knihovnu MRETV z tohoto odkazu.

Rozbalte jej a uložte složku "MRETV" do: arduino-1.6.6 / libraries

Nakonec si v dolní části této stránky stáhněte TVtext_slave.rar, rozbalte jej a nahrajte do svého slave Arduina.

Pokud se nezobrazí žádná chybová zpráva, můžete připojit konektor RCA. Potřebujete dvě diody a odpory 1 kOhm a 300 Ohm, jak ukazuje schéma na této stránce.

V tuto chvíli můžete vše spojit dohromady.

Kompletní seznam materiálů je:

  • dva Arduino Uno Rev. 3 nebo dva Arduino Nano 3.x (ATmega328)
  • dva odpory 1 kOhm
  • jeden odpor 300 Ohm
  • dvě diody 1n4148 (x2) nebo podobná křemíková spínací dioda
  • dvě zásuvky RCA (jedna pro video, jedna - volitelná - pro zvuk)
  • samičí konektor PS2
  • prkénko a dráty

Master Arduino odesílá data do slave prostřednictvím oranžového kabelu, tj. Master pin 1 (Tx) na slave pin 2 (Rx). Pokud potřebujete znovu nahrát nějaký kód, měli byste nejprve odpojit tento kabel.

Poté připojte slave arduino k 5V napájecímu zdroji, RCA kabel k TV a klávesnici k PS2, a nyní byste měli vidět kód na vaší TV!

Funkce tohoto základního dialektu jsou podrobně popsány na jeho domovské stránce (viz odkaz v kroku 2). Pomocí příkazů „esave“a „eload“můžete uložit jeden základní program do EEPROM. Tento program se standardně spouští pokaždé, když resetujete hlavní Arduino. Chcete -li jej odstranit, můžete použít příkaz „eformat“.

Jednou z nejdůležitějších funkcí tohoto programu je, že stále můžete řídit hlavní I/O Arduino pomocí vyhrazených základních příkazů, jako je

  • DWRITE pin, value - set pin with a value (HIGH, HI, LOW, LO)
  • AWRITE pin, hodnota - nastavte pin s analogovou hodnotou (pwm) 0..255
  • DREAD (pin) - získejte hodnotu pinu
  • AREAD (analogPin) - získejte hodnotu analogového pinu

Můžete tedy napsat program v jazyce Basic, který pohání nějaký hardware, uložit jej do EEPROM a poté jej spustit automaticky pouze resetováním Arduina.

Krok 4: Volitelné: Použití desky plošných spojů

Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů

Tento základní počítač můžete také sestavit pomocí malé desky plošných spojů. V tomto kroku se můžete inspirovat obrázky nebo si dokonce můžete vytisknout desku.

Pro video výstup Arduino můžete použít dva proužky hlavičky s 15 otvory, zatímco pro master doporučuji použít čtyři pásy. Tímto způsobem můžete použít externí k vložení kontaktů součástí vašeho projektu.

Také jsem ve středu přidal zbylé proužky, jeden připojený k 5 V a druhý pro GND.

Nakonec v souboru.rar najdete masky pro leptání měděné desky.

Krok 5: Závěrečné komentáře a poděkování

Tento projekt by nemohl být proveden bez knihovny MRETV. Moje hlavní poděkování tedy patří jeho autorovi, který používá zkratku pan E.

Velké díky patří také autorům TinyBasic Plus:

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

Díky také „djsadeepa“, autorovi Instructable pro připojení klávesnice PS2.

Všem lidem, kteří se o tento projekt zajímají: je jednodušší stavět, jak se může na první pohled zdát. Moje hlavní problémy byly s kompatibilitou Arduino IDE. Pokud máte potíže, neváhejte se zeptat na návrhy v komentářích.

Pokud uspějete, napište prosím také komentář nebo sdílejte obrázek zařízení, které stavíte.

Doporučuje: