Obsah:

Ruční základní počítač: 6 kroků (s obrázky)
Ruční základní počítač: 6 kroků (s obrázky)

Video: Ruční základní počítač: 6 kroků (s obrázky)

Video: Ruční základní počítač: 6 kroků (s obrázky)
Video: Trik při stavbě počítače. 2024, Červenec
Anonim
Ruční ZÁKLADNÍ počítač
Ruční ZÁKLADNÍ počítač
Ruční ZÁKLADNÍ počítač
Ruční ZÁKLADNÍ počítač

Tento Instructable popisuje můj proces stavby malého kapesního počítače se systémem BASIC. Počítač je postaven na čipu ATmega 1284P AVR, který také inspiroval hloupý název počítače (HAL 1284).

Tato stavba je TĚŽKĚ inspirována úžasným projektem, který se zde nachází, a odznakem SuperCON BASIC.

Na počítači běží upravená verze TinyBasic, přestože většina softwaru vychází z projektu dan14. Samozřejmě se můžete řídit tímto Instructable, nebo ještě lépe, zlepšit ho, protože jsem udělal několik chyb.

K tomuto projektu jsem také vytvořil manuál. Zmiňuje některé chyby a specifika pro vybraný monitor, ale co je nejdůležitější, obsahuje seznam ZÁKLADNÍCH operací.

Poté, co to bylo zveřejněno, jsem vytvořil video představující projekt.

Krok 1: Díly, které jsem použil

Díly, které jsem použil
Díly, které jsem použil
Díly, které jsem použil
Díly, které jsem použil
Díly, které jsem použil
Díly, které jsem použil

Pro hlavní IC:

  • ATmega 1284P
  • 16MHz krystal
  • 2x 22pf keramický kondenzátor
  • Rezistor 10KΩ (pro reset vytažení)
  • 4pinové tlačítko (pro reset)
  • 470Ω rezistor (pro kompozitní video)
  • Rezistor 1 kΩ (pro synchronizaci kompozitního videa)
  • 3kolíkový můstek (pro video signál)
  • Pasivní bzučák

Pro ovládání keybaord:

  • ATmega 328P (Stejně jako ty, které se používají v Arduino Uno)
  • 16MHz krystal
  • 2x 22pf keramický kondenzátor
  • 12x 10KΩ odpor (pro reset vytažení a tlačítka)
  • 51x 4pinové tlačítko (pro skutečnou klávesnici)

Pro napájení:

  • Regulátor napětí L7805
  • 3mm LED
  • Rezistor 220Ω (pro LED)
  • 2x 0,1 µF elektrolytický kondenzátor
  • 0,22 µF elektrolytický kondenzátor (Můžete nahradit tento 0,22 a jeden 0,1 za jeden 0,33. Také mi bylo řečeno, že na hodnotách vlastně nezáleží, ale nejsem kondenzátor)
  • 2x 2kolíkový můstek (pro napájení a hlavní vypínač)

GPIO (Možná přidejte několik dalších důvodů):

  • 7kolíkový propojka
  • 2x 8pinový propojka
  • 2kolíkový propojka (pro 5V a GND)
  • 3-4kolíkový propojka (pro sériovou komunikaci)

Bez PCB:

  • 4 "LCD displej s kompozitním videem (moje měl vstupní napětí mezi 7-30V)
  • 3D vytištěný držák na displej
  • Nějaký přepínač

Krok 2: Okruh

Okruh
Okruh

Okruh není moc hezký a velká část hlavní IC oblasti je inspirována dan14. Jak již bylo řečeno, je to docela přímočaré Arduino na obvodu Breadboard. Klávesnice je jednoduchá mřížka a ovládá ji ATmega328. Dva AVR čipy komunikují přes sériové piny UART.

Jak obrázek, tak moje soubory Eagle jsou připojeny a snad budou stačit k obnovení obvodu. Pokud ne, neváhejte mě informovat a já aktualizuji Instructable.

Krok 3: DPS

DPS
DPS
DPS
DPS

Deska plošných spojů je dvouvrstvá a je vytvořena pomocí funkce Auto Route (Ach, jaká ** díra!). Má tlačítka a LED indikátor napájení na přední straně a zbytek na zadní straně. Nechal jsem si vyrobit PCB s JCL PCB a odvedli s tím úžasnou práci. Soubory potřebné k obnově desky plošných spojů by měly být v souborech Eagle dříve.

Navrhoval bych, abyste přepracovali desku plošných spojů, protože mám některé věci, které bych chtěl udělat jinak. Pokud se vám můj design líbí, stále mám (podle psaní) čtyři nepoužité desky, které jsem více než ochoten prodat.

Deska má čtyři vyvrtané otvory, které jsem použil pro montáž LCD displeje.

Krok 4: Nahrání kódu

Nahrání kódu
Nahrání kódu
Nahrání kódu
Nahrání kódu
Nahrání kódu
Nahrání kódu

1284 i 328 samozřejmě potřebují kód a kód, který jsem použil, najdete zde: https://github.com/PlainOldAnders/HAL1284 pod ArduinoSrc/src. Jednoduše jsem použil Arduino IDE k úpravě a odeslání kódu, ale než to bude možné provést, budete muset vypálit zavaděče na integrovaných obvodech:

ATMega328:

Toto je snadné v tom smyslu, že existuje spousta podpory, jak vypálit bootloader a nahrát kód do tohoto IC. Obvykle se řídím tímto průvodcem, většinou proto, že stále zapomínám na specifika.

Kód pro 328 (pod ArduinoSrc/klávesnicí) je poměrně jednoduchý. Zcela spoléhá na knihovnu Adafruit_Keypad-master-. V případě, že se na lib něco změní, zahrnul jsem verzi, kterou jsem použil na své stránce github pod ArduinoSrc/lib.

ATmega1284:

Když jsem poprvé dostal IC, bylo to pro mě trochu obtížné. Začal jsem tím, že jsem odtud dostal bootloader, a následoval průvodce instalací. Chcete -li vypálit zavaděč, jednoduše jsem udělal to samé jako u 328 a dostal jsem pomoc odtud. Pro oba integrované obvody jsem použil Arduino Uno jak pro vypalování bootloaderu, tak pro nahrání kódu (při nahrávání odstraněn IC z Arduino Uno).

Kód (pod ArduinoSrc/HAL1284Basic) je pro mě příliš komplikovaný, ale dokázal jsem upravit některé části kódu:

Přidal jsem několik příkazů (v manuálu označených [A]) a změnil jsem také další příkazy:

Tón: Příkaz tón dříve používal funkci tónů Arduina, ale při použití knihovny TVout to způsobilo, že bzučák nefunguje správně. Změnil jsem to tak, aby používal funkci tónu TVout, ale to znamená, že tónový PIN MUSÍ být pin 15 (pro atmega1284)

Sériová komunikace: Jelikož je klávesnice DIY, používá ke čtení znaků sériovou komunikaci. Protože se zde používá atmega1284, jsou k dispozici dvě sériové komunikační linky, a když je povoleno „sercom“, kód také umožňuje zápis přes sériový port (z počítače nebo čehokoli).

Rozlišení: Monitor použitý pro tento projekt je docela hloupý a je potřeba malé rozlišení, jinak obraz bliká. Pokud používáte lepší monitor, doporučuji změnit rozlišení ve funkci nastavení.

Krok 5: Montáž

Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění

S nahraným kódem a připravenou deskou plošných spojů a součástmi je nyní čas na montáž. Všechny části, které jsem použil, byly skrz otvor, takže pájení nebylo příliš obtížné (na rozdíl od badass-SMD-pájecích kluků venku). Monitor byl připevněn ke čtyřem vrtaným otvorům v desce plošných spojů pomocí 3D vytištěného držáku. Pokud je použit jiný monitor, čtyři otvory pro snadnou montáž lze použít.

Zde použitý držák monitoru je také navržen tak, aby obsahoval kolébkový spínač (připojený k propojce "přepínače" na desce plošných spojů) a tři ovládací tlačítka pro monitor. Držák je upevněn plastovými šrouby M3 a rozpěrkami.

Pro napájecí zástrčku jsem použil konektor JST PCB, i když hladký hlavní konektor by byl o něco hladší. Pro napájení desky jsem přepínal mezi napájecím zdrojem 12V nebo třemi 18650 bateriemi v sérii. Hladší kovboj než já by pravděpodobně mohl navrhnout úhledný držák baterie pro desku.

Krok 6: Chyby a budoucí práce

Klávesy se šipkami: Klávesy se šipkami byly vloženy náhodně a nemají mnoho funkcí. To ztěžuje navigaci

Soubor I/O: Existují možnosti File I/O, ale tyto nejsou implementovány. Aby se tomu zabránilo, je software HAL1284Com schopen nahrávat soubory na desku. Je také možné nahrát do EEPROM.

PEEK/POKE: PEEK a POKE nejsou testovány a nejsem si jistý, jaké jsou adresy.

Break: Break (Esc) si někdy pohrával s celým kódem, když byl v nekonečných smyčkách.

Pin 7: PWM pin 7 může být obtížný při pokusu o DWRITE High nebo AWRITE 255. Funguje to dobře s AWRITE 254.

Idiot: Bylo by ideální mít také možnost odesílat přes UART1, ale nahrávání je možné pouze přes UART0, takže nahrávání bude nutné provést extrahováním hlavního IC. Při dlouhém provozu se regulátor obrazovky a napětí 5 příliš zahřívá.

Doporučuje: