Tartalomjegyzék:

Kézi BASIC számítógép: 6 lépés (képekkel)
Kézi BASIC számítógép: 6 lépés (képekkel)

Videó: Kézi BASIC számítógép: 6 lépés (képekkel)

Videó: Kézi BASIC számítógép: 6 lépés (képekkel)
Videó: ELSZÍVTAM ÉLETEM ELSŐ CIGIJÉT. vagy nyalókáját? #shorts 2024, Július
Anonim
Kézi BASIC számítógép
Kézi BASIC számítógép
Kézi BASIC számítógép
Kézi BASIC számítógép

Ez az útmutató leírja a BASIC -t futtató kis kézi számítógép építésének folyamatát. A számítógép az ATmega 1284P AVR chip köré épül, amely a számítógép buta nevét is inspirálta (HAL 1284).

Ezt a konstrukciót HEAVILY ihlette az itt található csodálatos projekt és a SuperCON BASIC Badge.

A számítógép a TinyBasic módosított verzióját futtatja, bár a szoftver nagy része a dan14 projektjén alapul. Természetesen követheti ezt az utasítást, vagy még jobb, ha javít rajta, mivel elkövettem néhány hibát.

Ehhez a projekthez készítettem egy kézikönyvet is. Megemlít néhány hibát és sajátosságot a kiválasztott monitorhoz, de ami a legfontosabb, tartalmazza a BASIC műveletek listáját.

Ennek közzététele után készítettem egy videót, amely bemutatta a projektet.

1. lépés: Használt alkatrészek

Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam

A fő IC -hez:

  • ATmega 1284P
  • 16 MHz -es kristály
  • 2x 22pf kerámia kondenzátor
  • 10KΩ ellenállás (visszaállításhoz húzza fel)
  • 4 tűs gomb (visszaállításhoz)
  • 470Ω ellenállás (kompozit videóhoz)
  • 1kΩ ellenállás (kompozit videó szinkronizáláshoz)
  • 3 tűs jumper (videó jelhez)
  • Passzív csengő

A billentyűzet vezérléséhez:

  • ATmega 328P (mint az Arduino Uno -ban)
  • 16 MHz -es kristály
  • 2x 22pf kerámia kondenzátor
  • 12x 10KΩ ellenállás (visszaállításhoz húzza fel és gombok)
  • 51x 4 tűs gomb (a tényleges billentyűzethez)

A teljesítményhez:

  • L7805 feszültségszabályozó
  • 3 mm -es LED
  • 220Ω ellenállás (LED -hez)
  • 2x 0,1 µF elektrolit kondenzátor
  • 0,22 µF elektrolit kondenzátor (ezt a 0,22 -et és egy 0,1 -et helyettesítheti egy 0,33 -mal. Azt is mondták nekem, hogy az értékek nem igazán számítanak, de nem vagyok jó a kondenzátorokkal)
  • 2x 2 tűs jumper (tápellátáshoz és főkapcsolóhoz)

GPIO (Talán adjon hozzá még néhány érvet):

  • 7 tűs jumper
  • 2x 8 tűs jumper
  • 2 tűs jumper (5V és GND esetén)
  • 3-4 tűs jumper (soros kommunikációhoz)

Nem PCB:

  • 4 hüvelykes LCD kijelző kompozit videóval (az enyém bemeneti feszültsége 7-30V között volt)
  • 3D nyomtatott tartó kijelzőhöz
  • Valami kapcsoló

2. lépés: Az áramkör

Az áramkör
Az áramkör

Az áramkör nem túl szép, és a fő IC-régió nagy részét a dan14 ihlette. Ennek ellenére ez egy nagyon egyenes Arduino egy kenyérpályás áramkörön. A billentyűzet egyszerű rács, és az ATmega328 vezérli. A két AVR chip az UART soros érintkezőin keresztül kommunikál.

Mind a kép, mind az Eagle-fájljaim csatolva vannak, és remélhetőleg elég lesz az áramkör újbóli létrehozásához. Ha nem, nyugodtan értesítsen, és frissítem az Instructable -t.

3. lépés: A NYÁK

A NYÁK
A NYÁK
A NYÁK
A NYÁK

A NYÁK kétrétegű és az Auto Route (Ó, micsoda ** lyuk!) Segítségével készült. Elöl gombokkal és tápellátást jelző LED -el, a többi pedig hátul található. A PCB -m JCL PCB -vel készült, és csodálatos munkát végeztek vele. A NYÁK újratelepítéséhez szükséges fájloknak a korábbi Eagle-fájlokban kell lenniük.

Javaslom, hogy alakítsa át a NYÁK -t, mivel vannak olyan dolgaim, amelyeket másképp szeretnék csinálni. Ha tetszik a dizájnom, még mindig van (az írásom óta) négy fel nem használt tábla, amelyeket szívesen eladok.

A tábla négy fúrólyukkal rendelkezik, amelyeket az LCD kijelző felszerelésére használtam.

4. lépés: A kód feltöltése

A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése

Mind az 1284, mind a 328 természetesen kódot igényel, és az általam használt kód itt található: https://github.com/PlainOldAnders/HAL1284 az ArduinoSrc/src alatt. Egyszerűen az Arduino IDE -t használtam a kód módosításához és feltöltéséhez, de mielőtt ezt megtehetné, el kell égetnie a rendszerbetöltőket az IC -ken:

ATMega328:

Ez egyszerű abban az értelemben, hogy rengeteg támogatás létezik a rendszerbetöltő írásához és a kód feltöltéséhez ehhez az IC -hez. Általában követem ezt az útmutatót, leginkább azért, mert folyamatosan elfelejtem a konkrétumokat.

A 328 kódja (ArduinoSrc/billentyűzet alatt) meglehetősen egyszerű. Teljesen az Adafruit_Keypad-master- könyvtárra támaszkodik. Ha bármi változik a lib-el kapcsolatban, a github-oldalamon használt verziót az ArduinoSrc/lib alá tettem.

ATmega1284:

Ez egy kicsit nehéz volt számomra, amikor először megkaptam az IC -t. Azzal kezdtem, hogy innen szereztem be a rendszerbetöltőt, és követtem a telepítési útmutatót. A rendszerbetöltő égetéséhez egyszerűen ugyanazt tettem, mint a 328 -nál, és innen kaptam segítséget. Mindkét IC -hez csak egy Arduino Uno -t használtam a rendszerbetöltő írásához és a kód feltöltéséhez (eltávolításkor az IC -t eltávolították az Arduino Uno -ból).

A kód (ArduinoSrc/HAL1284Basic alatt) túl bonyolult számomra, de módosítani tudtam a kód egyes részeit:

Hozzáadtam pár parancsot ([A] jelzéssel a kézikönyvben. Pdf), és más parancsokat is módosítottam:

Tone: A tone parancs korábban csak az Arduino hangfunkcióját használta, de a TVout könyvtár használatakor emiatt a hangjelző nem működött megfelelően. Megváltoztattam, hogy a TVout hangfunkcióját használjam, de ez azt jelenti, hogy a hangjelző csapnak 15-ös tűnek kell lennie (az atmega1284 esetében)

Soros kommunikáció: Mivel a billentyűzet DIY, soros kommunikációt használ a karakterek olvasásához. Mivel itt az atmega1284 -et használják, két soros kommunikációs vonal áll rendelkezésre, és ha a "sercom" engedélyezve van, a kód lehetővé teszi a soros porton keresztüli írást is (számítógépről vagy bármiről).

Felbontás: A projekthez használt monitor meglehetősen buta, és kis felbontásra van szükség, különben a kép villog. Ha jobb monitort használ, azt javaslom, hogy módosítsa a felbontást a beállítási funkcióban.

5. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

A kód feltöltésével, a NYÁK -val és az alkatrészekkel készen áll az összeszerelés ideje. Minden alkatrészt használtam lyukon, így a forrasztás nem volt túl nehéz (szemben a badass-SMD-forrasztó pasikkal). A monitort 3D nyomtatott tartóval rögzítették a NYÁK négy fúrólyukához. Ha másik monitort használ, a négy fúrólyuk remélhetőleg felhasználható ennek felszerelésére.

Az itt használt monitortartó egy váltókapcsoló (a NYÁK „kapcsoló” jumperjéhez csatlakoztatva) és a monitor három vezérlőgombjának elhelyezésére is alkalmas. A tartó műanyag M3 csavarokkal és távtartókkal van rögzítve.

A hálózati csatlakozóhoz JST NYÁK -csatlakozót használtam, bár a sima csőcsatlakozó kicsit simább lett volna. A tápellátáshoz 12 V -os tápegység vagy három soros 18650 akkumulátor között váltottam. Egy nálam simább cowboy valószínűleg sima elemtartót tervezhetne a táblához.

6. lépés: Hibák és jövőbeli munka

Nyilak: A nyilakat véletlenül helyezték el, és nem sok funkciót töltenek be. Ez megnehezíti a navigációt

Fájl I/O: Fájl I/O képességek léteznek, de ezek nincsenek megvalósítva. Ennek leküzdésére a HAL1284Com szoftver képes fájlokat feltölteni a táblára. Lehetőség van az EEPROM -ra történő feltöltésre is.

PEEK/POKE: A PEEK és a POKE nincs tesztelve, és nem tudom, hogy melyek a címek.

Break: A Break (Esc) néha végtelen ciklusokban összezavarja a teljes kódot.

7. pin: A PWM 7. csap nehéz lehet, ha DWRITE High vagy AWRITE 255 -öt próbál használni. Az AWRITE 254 -el jól működik.

Idióta: Ideális lenne, ha az UART1 -en keresztül is fel lehetne tölteni, de a feltöltés csak UART0 -n keresztül lehetséges, ezért a feltöltést a fő IC kivonásával kell elvégezni. A képernyő- és feszültségszabályozó 5 kissé túlmelegszik, ha hosszú ideig fut.

Ajánlott: