Obsah:

Vreckové ZX (vreckové ZX spektrum): 10 krokov
Vreckové ZX (vreckové ZX spektrum): 10 krokov

Video: Vreckové ZX (vreckové ZX spektrum): 10 krokov

Video: Vreckové ZX (vreckové ZX spektrum): 10 krokov
Video: Nastal deň zúčtovania? - Atari Porfolio - [Retro-Tech] [ep1] 2024, Júl
Anonim
Pocket ZX (vreckové ZX Spectrum)
Pocket ZX (vreckové ZX Spectrum)
Pocket ZX (vreckové ZX Spectrum)
Pocket ZX (vreckové ZX Spectrum)
Pocket ZX (vreckové ZX Spectrum)
Pocket ZX (vreckové ZX Spectrum)

Som dieťa 80-tych rokov a mám pekné spomienky na 8-bitové počítače tej doby. Môj prvý počítač - ten, ktorý má v mojom srdci špeciálne miesto - bol Sinclair ZX Spectrum 48K. Keď som nedávno na webe objavil niektoré komunity zamerané na staršie počítače, rozhodol som sa, že chcem znova prežiť časť tej nostalgie a nainštaloval som na svoj MacBook emulátor Fuse. Na chvíľu to bola zábava, ale naozaj som chcel vyhradené zariadenie - najlepšie niečo malé, prenosné a samostatné, aby to zodpovedalo môjmu životnému štýlu. Voľba v tejto fáze bola buď nasledovať cestu úžasného Bena Hecka a zmenšiť pôvodný hardvér ZX na niečo prenosné, alebo podvádzať a používať emuláciu na malom jednodoskovom počítači. Idem podvádzať:)

Čo teda chcem od svojho prenosného ZX Spectrum?

  • Lacné: Mám príliš veľa projektov na to, aby som minul veľké sumy peňazí na trochu zábavnej nostalgie.
  • Prenosný: Musí to byť niečo, s čím sa môžem hrať na pohovke alebo lenivé popoludnie v záhrade.
  • Klávesnica: Nechcem len hrať hry, chcem ju aj naprogramovať. Na to, aby ste získali plný zážitok, potrebujete mať tieto úžasné kľúče od kľúčových slov.
  • Joystick: Nikdy som nemal rád hranie plošinových hier s klávesnicou. Dobrodružné hry, určite, ale nechcem len hrať dobrodružné hry, takže to bude potrebovať joystick.
  • Okamžité: Nenávidel som načítavanie pásky v 80 -tych rokoch a neviem si predstaviť, že by som za tie roky narástol o niečo viac.

S ohľadom na to všetko som vypracoval blokový diagram, ktorý mi pomôže porozumieť rôznym komponentom. Poďme teda stavať.

Krok 1: Klávesnica a joystick USB

USB klávesnica a joystick
USB klávesnica a joystick
USB klávesnica a joystick
USB klávesnica a joystick
USB klávesnica a joystick
USB klávesnica a joystick

Správna klávesnica je kľúčom k zachyteniu vzhľadu a štýlu pôvodného ZX Spectrum. Možno budujeme vreckové emulované zariadenie, ktoré nemá nič spoločné s pôvodnými vnútornosťami Spectrum, ale pri starostlivom navrhovaní by malo byť možné vytvoriť niečo, čo bude pripomínať počítačový zážitok z 80. rokov.

Počnúc niekoľkými protoboardmi a veľkou hromadou hmatových prepínačov som experimentoval s niekoľkými nápadmi a usadil som sa na rozloženom rozložení uvedenom na fotografiách. Protoboardy, ktoré používame, sú štandardné 7 x 9 cm (26 x 31 otvorov) dostupné online od mnohých maloobchodníkov. Prepínače sú verzie na povrchovú montáž, ktoré pôsobia mäkšie a sú menej hlučné ako ich bežnejšie náprotivky s otvorom, ale obidva by mali fungovať, pretože ich veľkosti tela sú takmer identické.

Ovládače joysticku potom prešli do zostávajúceho priestoru bezprostredne nad klávesnicou. Rozhodol som sa použiť 5-smerný hmatový navigačný spínač vľavo a veľké tlačidlo streľby vpravo. Joystick sa zdvojnásobí ako ovládač systému ponúk emulátora a myš na interakciu so základným systémom Linux, takže som pridal aj malé sekundárne tlačidlo.

Mikrokontrolér pre klávesnicu je Arduino Pro Micro. Jedná sa o malú dosku, ktorú je možné naprogramovať ako zariadenie USB s ľudským rozhraním (HID), ako je klávesnica, myš alebo joystick.

Akonáhle boli prepínače spájkované na svojom mieste, je potrebné postaviť maticu, ktorá spája riadky a stĺpce spínačov s mikrokontrolérom. Táto matica nám umožní pripojiť všetkých 40 klávesov a 7 tlačidiel joysticku k 18 I/O kolíkom Pro Micro. Klávesnica Spectrum nemusí zvládnuť viacnásobné stlačenie kláves okrem klávesov Caps Shift a Symbol Shift, takže ich umiestnime na vyhradené piny, potom si nebudeme musieť robiť starosti s používaním diód na zabránenie fantómovým klávesom- lisy. Priložil som schému, ktorá ukazuje, ako je klávesnica vrátane matice zapojená. Každý stĺpec je najskôr spojený s dĺžkou jednožilového drôtu a potom sú rady spojené pomocou jednožilového drôtu, ktorý je starostlivo tvarovaný tak, aby prechádzal cez stĺpce bez skratovania. To môže byť trochu zložité, pretože musíte dostať drôty radu dostatočne vysoko, aby ste sa vyhli kontaktu so stĺpmi, ale dostatočne nízke, aby ponechali priestor pre všetky káble, ktoré potrebujeme pri konečnej montáži napchať. Nakoniec sú rady a stĺpce spojené s kolíkmi Arduino drôtmi zo starých káblov IDE.

Ako bolo uvedené vyššie, ovládač joysticku bude fungovať aj ako kurzor a myš, takže budeme musieť byť schopní prepínať medzi režimami. Predvoleným režimom bude režim kurzora, kombinácia klávesov Caps Shift + tlačidlo Fire sa prepne do režimu joysticku a kombinácia klávesov Shift + Fire sa prepne do režimu myši. Aby sa ukázalo, v ktorom režime sa nachádza, v strede panela s joystickom je niekoľko 3 mm diód LED. Užitočná bude aj LED dióda Power a dobrým spôsobom, ako to zabezpečiť v prípade Pi, je pripojiť LED diódu na pin UART TX Pi, pretože bude neustále odosielať údaje, kým je zariadenie zapnuté.

Aby sa zabránilo roztrhnutiu uvoľnených drôtov alebo skratu matricových drôtov, je všetko hojne pokryté horúcim lepidlom - škaredé, ale účinné!

Posledným krokom k fungovaniu klávesnice je naprogramovať Arduino pomocou kódu ZX_Spectrum_Keyboard z môjho úložiska. Keď to urobíte, skutočne môžete spájkovačku odložiť, zapojiť klávesnicu do bežného počítača a používať ju s emulátorom Spectrum, ako je Fuse alebo Spectaculator. Ale tu nekončíme, tak poďme ďalej …

Krok 2: LCD obrazovka

LCD obrazovka
LCD obrazovka

Pôvodné spektrum má rozlíšenie obrazovky 256 x 192 pixelov. Aby som zachoval (približne) tento pomer a vyvaroval sa čiernych pruhov na oboch stranách, vybral som dotykový displej Waveshare 3,2 320x240 TFT LCD navrhnutý pre Raspberry Pi. Nebude sa pripájať priamo k hlavičke GPIO Pi, aby sme mohli odstrániť plastový rám konektora a orezanie kolíkov. Orezal som protoboard 7 x 9 cm na 2,1 x 9 cm (na presnej veľkosti nezáleží, pokiaľ sú dva zostávajúce rohové otvory zarovnané s hornými otvormi klávesnice a je tu dostatok miesta na spájkovanie kolíkov záhlavia GPIO) a spájkoval kolíky na svojom mieste, čo nám umožní ľahký spôsob pripevnenia obrazovky nad klávesnicu.

K Pi potrebujeme iba pripojiť SPI, napájacie a dotykové I/O piny - vystopovať, ktoré piny sú skutočne potrebné, môže byť celkom zložité, ale ak sa pozriete dostatočne tvrdo, informácie sú k dispozícii. Obrazovka Waveshare používa 10 pinov: 4, 6, 9, 13, 15, 19, 21, 23, 24 a 26. Je zrejmé, že ak to robíte na inej obrazovke, budete musieť správne piny najskôr overiť. chytiť vašu spájkovačku.

Nie je potrebná žiadna špeciálna konfigurácia softvéru - stačí nainštalovať softvér výrobcu a je pripravené na použitie.

Krok 3: Bezdrôtové pripojenie (Bluetooth)

Doska Raspberry Pi Zero nemá žiadnu bezdrôtovú kapacitu, iba jeden užitočný port USB a v puzdre na rozbočovač USB nebude dostatok miesta, takže som musel byť trochu vynaliezavý a pridať do svojej zostavy nejaký druh bezdrôtovej funkcie. Ak to budujete pomocou Zero W, môžete tento krok preskočiť.

Raspberry Pi má úhľadnú funkciu, ktorá nám umožní pridať užitočnú bezdrôtovú funkciu. Pripojením lacného sériového modulu HC-05 Bluetooth k pinom UART Pi a vyladením konfigurácie systému je možné získať bezdrôtový prístup k terminálu príkazového riadka pomocou sériového rozhrania Bluetooth. Potom môžeme pomocou bežných nástrojov odosielať súbory do zariadenia a spravovať súborový systém.

Krok 4: Napájanie

Moc
Moc
Moc
Moc

Na konci vývoja som si vybral svoju batériu, potrebnú na vybratie článku, ktorý sa zmestí do dostupného priestoru. Ten, ktorý som vybral, bol 2000mAH 25C 1S Lipo (rozmery: 81x34x9mm) predávaný ako náhrada za dron Walkera Syma X5. Bolo by dobré mať možnosť nabíjať batériu in-situ pomocou bežného pripojenia USB a používať zariadenie počas nabíjania. Nechceme sa skutočne zaoberať komplexnými obvodmi riadenia výkonu, takže použijeme hotový modul, ktorý poskytuje nabíjanie USB a tiež zosilnený 5V výstup na priame napájanie Pi. Aby bolo zaistené úplné vypnutie zariadenia, je medzi výstupom tohto modulu a zariadenia Pi prepínač, ktorý zaisťuje, že batériu je možné stále nabíjať, aj keď je zariadenie vypnuté. Pi by mal byť správne vypnutý, aby sa predišlo problémom s poškodením údajov. Namiesto toho, aby sme sa museli prihlasovať cez sériový Bluetooth, môžeme na pin Pin 5 (GPIO3) pripojiť hmatový prepínač a napísať malý skript, ktorý to sleduje a po stlačení spustí vypnutie. Napájacie a bezdrôtové komponenty boli spájkované k ďalšiemu protoboardu s rozmermi 7 x 9 cm, ktorý bude umiestnený priamo pod klávesnicou.

Krok 5: Spojte to všetko dohromady

Prepojiť to všetko dohromady
Prepojiť to všetko dohromady
Prepojiť to všetko dohromady
Prepojiť to všetko dohromady
Prepojiť to všetko dohromady
Prepojiť to všetko dohromady

Po vybudovaní všetkých rôznych častí môžeme zmontovať vnútorné časti. Najväčším problémom, s ktorým som sa počas montáže stretol, bolo to, že USB port prerušil môj Arduino Pro Micro, takže som musel spájať drôty priamo s spájkovacími podložkami, a nie pomocou USB kábla. Toto je notoricky známy slabý bod na doskách Pro Micro, takže pravdepodobne stojí za to naň pred montážou naniesť poriadny kus horúceho lepidla, aby ste tomu zabránili. Za predpokladu, že sa vám toto konkrétne nešťastie nestane, máte na výber: buď môžete vytvoriť supertenký kábel micro USB na micro USB na pripojenie klávesnice k počítaču Pi, alebo môžete jeden alebo oba konce spájkovať priamo s doskami. Keďže som potreboval spájkovať stranu Arduino, stranu Pi som tiež spájkoval priamo s testovacími bodmi na zadnej strane dosky. Každá možnosť má svoje výhody a nevýhody, takže je len na vás, ktorej z nich dáte prednosť.

Dosky budeme držať spolu s nylonovými dištanciami M3. Na prepojenie spodných otvorov medzi klávesnicou a napájacou doskou potrebujeme 2x 9 mm stojky. Horné otvory tiež zachovávajú obrazovku, takže chceme, aby medzi klávesnicou a obrazovkou boli 2,5 mm odstupy a medzi obrazovkou a napájacou doskou 4,5 mm odstupy. Vedľajšia fotografia ukazuje, ako to vyzerá. Vzpery budú potrebovať trochu opatrné orezanie, aby bolo všetko paralelné - môže to byť trochu tesné, keď ide o všetky vodiče klávesnice, ale malo by to ísť dohromady. Ako je zrejmé z fotografií, zariadenie je možné napájať a používať ho až po montáži bez toho, aby ste potrebovali skutočný kryt. Čoskoro vytlačíme prílohu, ale než sa k tomu dostaneme, budeme musieť nainštalovať operačný systém a nakonfigurovať ho.

Krok 6: Softvér

So zostavenými vnútornými časťami môžeme pokračovať v inštalácii a konfigurácii softvéru. Raspberry Pi pobeží na štandardnej inštalácii Raspbian Jediný ďalší softvér, ktorý je potrebné nainštalovať, okrem ovládačov obrazovky TFT, je aplikácia Fuse. Na získanie správnych funkcií na celú obrazovku používame verziu SDL, ktorú je možné nainštalovať pomocou:

sudo apt-get install fuse-emulator-sdl

Aby ste zvládli stlačenie tlačidla vypnutia, skopírujte skript „vypnutia“z môjho úložiska kódov do/home/pi/

Ak chcete získať sériovú konzolu cez Bluetooth, pridajte do /boot /config nasledujúci riadok:

enable_uart = 1

Budeme chcieť, aby sa pri štarte spustil náš vypínací skript a emulátor Fuse, takže do/etc/xdg/lxsession/LXDE-pi/autostart pridajte tieto riadky:

@fuse-sdl --no-sound --kempston --no-auto-load

Po vykonaní týchto zmien reštartujte Pi a mali by ste byť hotoví.

Krok 7: Ohrada a finálna montáž

Príloha a konečné zhromaždenie
Príloha a konečné zhromaždenie
Príloha a konečné zhromaždenie
Príloha a konečné zhromaždenie
Príloha a konečné zhromaždenie
Príloha a konečné zhromaždenie

Kryt bol modelovaný vo Fusion 360 (postup, ako to urobiť, je mimo rozsahu tohto návodu). K dispozícii je 5 častí: zadná časť puzdra, predná strana obrazovky, predná strana klávesnice, tlačidlo napájania a kryt ovládacieho panela. Kryt ovládacieho panela by mal byť vytlačený flexibilným vláknom (použil som flexibilný PLA, ale mäkší materiál, ako napríklad NinjaFlex, by mohol byť lepší); všetko ostatné by malo byť vytlačené v pevnom plaste (použil som Filamentum black PLA).

Ak chcete tlačidlu napájania dodať určitý odpor a zabrániť jeho rachoteniu, prilepte na jeho zadnú stranu 3 mm lepivú penu a potom vyrazte 4 mm otvor, aby mohol pohodlne sedieť nad zvislým vypínačom na doske plošných spojov. Možno bude potrebné jeden okraj mierne orezať, ako je vidieť na fotografiách, aby ste predišli zaseknutiu dosky napájania. Tiež sa mi zdalo užitočné použiť malý kúsok lepidla na pridržanie tlačidla na vypínači.

Do horných úchytiek na prednom paneli obrazovky musíme prilepiť niekoľko nylonových podpier, aby bolo možné bezpečne pripevniť horné časti krytu. Akonáhle sú zaschnuté, odstrihnite podpery v jednej rovine.

Aby sa dosky zmestili, musíme najskôr vytvoriť montážne stĺpiky. Vyberte hlavy z niektorých nylonových skrutiek M3 a prilepte závitové diely do spodných otvorov každého z predných panelov. Keď tieto uschnú, 2 predné panely je možné k sebe prilepiť a klávesnicu pripevniť na miesto pomocou podpery 9 mm a 2,5 mm. Ďalej, keď je toto na mieste, môže byť obrazovka umiestnená na horné stĺpiky a môžu byť pridané odstupy 4,5 mm. Nakoniec môže byť výkonová doska umiestnená na svoje miesto a káble usporiadané tak, aby bolo možné namontovať zadnú stranu.

Batéria by mala byť prilepená na mieste obojstrannou páskou alebo penovou fóliou a zapojená do napájacieho konektora. Teraz je možné obe polovice spojiť a na zaistenie všetkého na mieste použiť niekoľko krátkych zapustených skrutiek M3.

Nakoniec ho prevráťte a prilepte kryt ovládacieho panela na panel klávesnice. Urobil som to dvojdielnym epoxidovým lepidlom pre silné spojenie.

Krok 8: Prekrytie klávesnice

Prekrytie klávesnice
Prekrytie klávesnice
Prekrytie klávesnice
Prekrytie klávesnice
Prekrytie klávesnice
Prekrytie klávesnice

Sme takmer hotoví. Chýba iba niekoľko kľúčových označení a prekrytie, aby sme vedeli, ako sa dostať k všetkým týmto nádherným kľúčovým slovám.

Primárne písmena a číslice sú na skutočných vrchoch prepínača. Našiel som niekoľko skutočne malých prenosov písmen 2,5 mm, ktoré sa perfektne hodia na vrcholy s priemerom 4 mm. Sú trochu zložité na aplikáciu, pretože vrcholy sa pri ich trení pohybujú, ale v balení dostanete pomerne málo písmen, takže je dobré urobiť niekoľko chýb. Nakoniec som niekoľko z nich dotkol jemnou trvalou fixkou, aj keď pri spätnom pohľade som ich mal skúsiť namočiť do teplej vody a zasunúť na miesto (ak ste niekedy postavili stavebnicu modelu, tento proces poznáte.). Na ochranu písmen počas používania som na vrch kľúča natrel čírym lakom na nechty.

Aby sa strieborné telá vypínačov nezobrazovali cez medzery v prekrytí, použil som na ich zafarbenie permanentnú značku - to je vidieť v dolnom rade na jednej z fotografií.

Vytlačené prekrytia som navrhol v open source grafickom programe GIMP a potom som ich vytlačil na matný papier fotografickej kvality. V ideálnom prípade budú prekrytia čo najtenšie - podložku z papiera značky Epson, ktorý som použil, som mohol veľmi ľahko odlepiť, aj keď to tak nebude pri všetkých značkách. Aby som ochránil tlač, papier som zalepil čírym lepiacim vinylovým listom a na zadnú stranu som použil obojstrannú pásku, aby sa prilepil k puzdru. Pred nalepením prekrytí však musíme diery vyraziť. Použil som lacný dierovač kože s priemerom 4 mm a najlepšie výsledky som dosiahol zaostrením razníkov a rezaním priamo proti 3 mm hliníkovému plechu zo šrotu. Potom prekrytia stačí zarovnať a nalepiť.

Krok 9: Záver

A máme hotovo! Jedná sa o pomerne veľký projekt, ktorý vyžaduje množstvo zručností vrátane základnej elektroniky, spájkovania, 3D modelovania, programovania a dokonca aj malého grafického rozloženia. Nakoniec to bolo veľmi obohacujúce a s hotovým zariadením sa dá hrať, ale ako si stojí v porovnaní s mojimi pôvodnými kritériami?

Lacné: Celkové náklady na všetko, vrátane súčasných maloobchodných cien položiek, ktoré som už vlastnil, a papiernictva, ako je obojstranná páska, ktorá vydrží aj nad rámec tohto projektu, sa pohybuje okolo 80 libier, čo z neho robí cenovo dostupný projekt.

Prenosný: Je určite prenosný. Toto zariadenie sa pohodlne zmestí do vrecka a je úplne samostatné, takže ho môžete používať kdekoľvek. Ak by som ho postavil znova, urobil by som radšej plochý 4-smerový ovládač v štýle joypadu, než aby som používal navigačnú páčku, pretože vyčnieva nad líniu zariadenia a ponecháva ho náchylné na poškodenie. Tiež by som chcel zistiť, či je k dispozícii nedotykový displej podobnej veľkosti a pomeru s krytom odolnejším proti poškriabaniu, pretože nepotrebujem rozhranie dotykového displeja a odporový povrch je obzvlášť náchylný na poškodenie.

Klávesnica a joystick: Som skutočne spokojný s tým, ako to fungovalo. Napriek tomu, že originál nepôsobí mŕtvolne, používanie klávesnice prekvapivo pripomína staré ZX Spectrum - rozloženie, prekrytie a implementácia kľúčových slov na to dobre spolupracujú. Klávesnicu USB je možné použiť aj samostatne s počítačom s emulátorom poistky, aby poskytoval rovnaký zážitok.

Okamžité: Použitie sériového modulu Bluetooth uľahčuje prenos archívov pásky do zariadenia z iného počítača bez toho, aby ste museli opustiť rozhranie Fuse, a malo by byť možné proces ďalej zefektívniť napísaním skriptu na strane klienta na odoslanie súboru. k zariadeniu. Bol by som radšej, keby som mohol používať štandardnú funkciu prenosu súborov „odosielať do zariadenia“Bluetooth, ktorá je súčasťou väčšiny operačných systémov, alebo správny systém na zdieľanie súborov, akým je napríklad Samba. Tieto však budú k dispozícii iba s doskou Pi Zero W a túto zostavu som nepoužil.

Okrem vyššie uvedených položiek, ak by som začal tento projekt znova od začiatku, zvolil by som tenšiu batériu s väčšou kapacitou na začiatku projektu a navrhnem okolo neho, než aby som na konci roku musel vyberať batériu vhodnej veľkosti. projekt. Na rozšírenie možností odosielania súborov do zariadenia by som tiež použil radšej Pi Zero W než sériový modul Bluetooth. Ďalším zrejmým vylepšením by bol nejaký druh indikácie stavu hardvérovej batérie, pretože v súčasnosti neexistuje spôsob, ako zistiť, koľko batérie ešte zostáva. Tiež by som zvážil použitie operačného systému založeného na Ramdisku, ako je Alpine Linux, ktorý by bol tolerantnejší voči tvrdému vypínaniu a mal by umožniť jediný vypínač/zapnutie/vypnutie bez potreby samostatného vypínacieho tlačidla - oveľa viac ako pôvodné ZX Spectrum, odpojte ho, keď skončíte.

Mohlo by byť zaujímavé navrhnúť vlastnú dosku plošných spojov pre toto zariadenie, ktorá by nám potenciálne umožnila umiestniť napájacie komponenty na zadnú stranu klávesnice, a nie mať samostatnú dosku. To by mohlo výrazne znížiť hĺbku hotového zariadenia. Tiež by to uľahčilo zostavenie zariadenia a ponúklo by potenciál nejakej samo-montážnej súpravy. Ak je o tento projekt dostatočný záujem, mohol by som urobiť verziu 2, ktorá tieto problémy rieši.

Krok 10: Zdroje

Na výstavbu tohto projektu sú potrebné nasledujúce zdroje:

Súbory prípadov pre 3D tlač (Thingiverse):

Kód (Github):

Odporúča: