Obsah:

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

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

Video: Základní počítač Arduino s výstupem VGA: 5 kroků (s obrázky)
Video: Arduino návody | Raspberry Pi: Úvod a výběr desky 2024, Červenec
Anonim
Image
Image
Základní počítač Arduino s výstupem VGA
Základní počítač Arduino s výstupem VGA
Základní počítač Arduino s výstupem VGA
Základní počítač Arduino s výstupem VGA

Ve svém předchozím Instructable jsem ukázal, jak postavit retro 8bitový počítač se systémem BASIC pomocí dvou Arduino a s výstupním signálem v B&W pro televizní obrazovku.

Nyní ukážu, jak postavit stejný počítač, ale s barevným výstupním signálem pro monitor VGA!

Proměnné a program BASIC můžete zadávat pomocí klávesnice PS2 a generuje výstup pro monitor VGA s rozlišením textu 24 sloupců x 10 řádků znaků 5x6 pixelů ve čtyřech barvách. 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ů.

Tento projekt lze také použít k tisku jednoduchých textových zpráv na monitor, jak ukazuje třetí obrázek na této stránce.

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ý díky knihovně VGAx generuje výstup VGA.

Myšlenka použít jedno nebo více Arduino k vytvoření starého stylu PC s dialektem Basic není nová, ale pokud vím, žádný z nich nemá barevný výstup. 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, což je ČB. Navíc v mnoha z těchto projektů musí být postaveny speciální štíty nebo hardware. Zde potřebujete pouze dva Arduino, několik rezistorů a konektor pro klávesnici PS2 a monitor, jak je znázorněno na výše uvedených obrázcích.

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

TinyBasic Plus a knihovna VGAx fungují pro Arduino IDE 1.6.4.

Nejprve si jej stáhněte 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_VGAx.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 proměnné.

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

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.

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;
  • musíte také připojit 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 a kód VGAx na druhé Arduino a dejte vše dohromady

Nahrajte knihovnu a kód VGAx na druhé Arduino a dejte vše dohromady
Nahrajte knihovnu a kód VGAx na druhé Arduino a dejte vše dohromady

Nejprve si stáhněte kód VGAx-PC.ino v dolní části této stránky a zkopírujte jej do počítače do adresáře se stejným názvem.

Stáhněte si knihovnu VGAx z tohoto odkazu na GitHub. Nejjednodušší je zkopírovat jej do podsložky softwaru Arduino s názvem „knihovny“, aby byla okamžitě rozpoznána.

DŮLEŽITÉ: tato knihovna funguje pro Arduno IDE 1.6.4, ale není plně kompatibilní se staršími nebo novějšími verzemi.

Nahrajte VGAx-PC.ino na druhou desku Arduino (testoval jsem to pro verzi Nano, ale Uno by také mělo fungovat).

Upozornění na nedostatek dostupné paměti je normální. Pokud nemáte další chyby, je vše v pořádku a můžete okamžitě začít stavět vlastní 8bitové PC.

K tomu potřebujete:

  • dva Arduino Uno Rev. 3 nebo dva Arduino Nano 3.x (ATmega328)
  • konektor DSUB15, tj. konektor VGA samice nebo kabel VGA, který je třeba odříznout.
  • odpory: 2 x 68 Ohm a 2 x 470 Ohm
  • samičí konektor PS2
  • dráty
  • fakultativní: prkénko nebo pásové prkénko

Schéma je uvedeno v horní části tohoto kroku. V úvodním kroku je uveden příklad hotové „konzoly“.

Stejné schéma s vyšším rozlišením je uvedeno v komprimovaném souboru v dolní části tohoto kroku.

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ů
Volitelné: Použití desky plošných spojů
Volitelné: Použití desky plošných spojů

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

Pro video výstup Arduino jsem použil dva ženské proužky záhlaví s 15 otvory, zatímco pro master jsem použil dva pásy s doble otvory. Tímto způsobem mohu použít externí k vložení kontaktů komponent jiných projektů, které lze řídit přímo pomocí základního kódu. Také jsem ve středu přidal zbylé proužky, jeden připojený k 5 V a druhý pro GND.

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

Mým hlavním vědomím je Sandro Maffiodo aka Smaffer, tvůrce úžasné knihovny VGAx.

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 zájemcům o tento projekt: 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: