Sadržaj:
- Korak 1: USB tipkovnica i joystick
- Korak 2: LCD zaslon
- Korak 3: Bežično (Bluetooth)
- Korak 4: Napajanje
- Korak 5: Sve to povežite zajedno
- Korak 6: Softver
- Korak 7: Ograđivanje i završna montaža
- Korak 8: Preklapanje tipkovnice
- Korak 9: Zaključak
- Korak 10: Resursi
Video: Džepni ZX (ručni ZX spektar): 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Dijete sam 80-ih i vežem lijepe uspomene na 8-bitna računala tog doba. Moje prvo računalo - koje ima posebno mjesto u mom srcu - bio je Sinclair ZX Spectrum 48K. Nakon što sam nedavno otkrio neke zajednice usmjerene na starija računala na webu, odlučio sam da želim proživjeti dio te nostalgije za sebe i instalirao sam emulator Fuse na svoj MacBook. Ovo je neko vrijeme bilo zabavno, ali zaista sam želio namjenski uređaj - po mogućnosti nešto malo, prijenosno i samostalno koje bi se uklopilo u moj stil života. Odabir u ovoj fazi bio je ili slijediti put sjajnog Bena Hecka i smanjiti originalni ZX hardver u nešto prijenosno ili prevariti i koristiti emulaciju na malom računalu s jednom pločom. Idem varati:)
Dakle, što želim od svog prijenosnog ZX Spectruma?
- Jeftino: Imam previše projekata da bih potrošio velike svote novca na malo zabavne nostalgije.
- Prijenosno: Mora biti nešto s čime se mogu igrati na sofi ili u lijeno popodne u vrtu.
- Tipkovnica: Ne želim samo igrati igre, već je želim i programirati. Da biste dobili potpuno iskustvo, morate imati te izvrsne ključeve ključnih riječi.
- Joystick: Nikad nisam volio igrati platforme s tipkovnicom. Avanturističke igre, naravno, ali ne želim samo igrati avanturističke igre pa će trebati joystick.
- Odmah: Mrzio sam učitavanje vrpci 80 -ih i ne mogu zamisliti da sam u godinama koje su uslijedile naraslo.
Imajući sve ovo na umu, izradio sam blok dijagram koji će mi pomoći razumjeti različite komponente. Pa idemo graditi.
Korak 1: USB tipkovnica i joystick
Pravilno postavljanje tipkovnice ključ je za hvatanje izgleda i dojma izvornog ZX Spectruma. Možda gradimo ručni emulirani uređaj koji nema ništa zajedničko s izvornim unutarnjim dijelovima Spectruma, no, pažljivim dizajnom, trebalo bi biti moguće stvoriti nešto što bi podsjećalo na računalno iskustvo 80 -ih.
Počevši s nekim proto -pločama i velikom hrpom taktilnih prekidača, eksperimentirao sam s nekoliko ideja i zaustavio se na raspoređenom rasporedu prikazanom na fotografijama. Protoboard ploče koje koristimo su standardne dimenzije 7x9 cm (26x31 rupe) dostupne na mreži od mnogih trgovaca. Prekidači su verzije za površinsko postavljanje koje imaju mekši osjećaj i manje su bučne od uobičajenih prolaznika, ali bi trebali raditi jer su im veličine tijela gotovo identične.
Kontrole upravljačke palice zatim su ušle u preostali prostor neposredno iznad tipkovnice. Odlučio sam upotrijebiti 5-smjerni taktilni navigacijski prekidač s lijeve strane i veliki gumb za paljenje s desne strane. Joystick će se udvostručiti kao kontroler za sustav izbornika emulatora i miš za interakciju s temeljnim Linux sustavom, pa sam dodao i mali sekundarni gumb.
Mikrokontroler za tipkovnicu je Arduino Pro Micro. Ovo je mala ploča koja se može programirati kao USB uređaj za ljudsko sučelje (HID), poput tipkovnice, miša ili upravljačke palice.
Nakon što su prekidači lemljeni na mjestu, potrebno je izgraditi matricu koja povezuje redove i stupce sklopki s mikrokontrolerom. Ova matrica će nam omogućiti povezivanje svih 40 tipki i 7 tipki na upravljačkoj palici s 18 I/O pinova Pro Micro -a. Tipkovnica Spectrum ne mora pritiskati više tipki osim tipki Caps Shift i Symbol Shift pa ćemo ih staviti na namjenske pinove, tada nećemo morati brinuti o upotrebi dioda za sprječavanje fantomskih tipki- preše. Uključio sam shemu koja prikazuje kako je tipkovnica, uključujući matricu, ožičena. Prvo je svaki stupac povezan duljinom jednožilne žice, a zatim su redovi povezani jednožilni žicom koja je pažljivo oblikovana za prijelaz preko stupova bez kratkog spoja. To može biti pomalo zeznuto jer morate postaviti žice reda dovoljno visoko da izbjegnete kontakt sa stupovima, ali dovoljno nisko da ostavite mjesta za sve ožičenje koje moramo ugraditi tijekom završne montaže. Konačno, redovi i stupci povezani su s Arduino pinovima žicama iz starih IDE kabela.
Kao što je gore spomenuto, kontroler upravljačke palice također će funkcionirati kao kontroler pokazivača i miš pa ćemo se morati moći prebacivati između načina rada. Zadani način rada bit će način rada pokazivača, kombinacija Caps Shift + tipka Vatra prebacit će se u način rada joystick, a kombinacija tipke Shift + Vatra prebacit će se u način miša. Da biste prikazali u kojem je načinu rada, na sredini ploče upravljačke palice nalazi se nekoliko LED dioda od 3 mm. LED dioda za napajanje također će biti korisna, a dobar način da to omogućite s Pi je da spojite LED na Pi -jev UART TX pin jer će ona stalno slati podatke dok je uređaj uključen.
Kako bi se spriječilo da se labave žice tijekom uporabe troše ili da se matrice žica ne spoje, sve je obilno prekriveno vrućim ljepilom - ružno, ali učinkovito!
Posljednji korak za postizanje rada tipkovnice je programiranje Arduina sa kodom ZX_Spectrum_Keyboard iz mog spremišta. Kad to učinite, zapravo možete staviti lemilicu, priključiti tipkovnicu u obično računalo i koristiti je sa Spectrum emulatorom poput Fuse ili Spectaculatora. No, ovdje nećemo stati, pa idemo dalje …
Korak 2: LCD zaslon
Originalni Spectrum ima rezoluciju zaslona 256x192 piksela. Kako bih zadržao (približno) ovaj omjer i izbjegao crne trake s obje strane, odabrao sam Waveshare 3.2 320x240 TFT LCD zaslon osjetljiv na dodir dizajniran za Raspberry Pi. Neće se povezati izravno s Pi -jevim zaglavljem GPIO pa možemo ukloniti plastični okvir konektora i obrežite igle. Obrezao sam protokolsku ploču 7x9 cm do 2,1x9 cm (točna veličina nije bitna sve dok se dvije preostale kutne rupe poravnaju s gornjim otvorima tipkovnice i ima dovoljno prostora za lemljenje iglica zaglavlja GPIO) i zalemljene igle na mjestu, što će nam omogućiti jednostavan način montiranja zaslona iznad tipkovnice.
Potrebno nam je samo spojiti SPI, napajanje i I/O pinove na zaslonu osjetljivom na dodir - može biti prilično teško pronaći koje su pinove zapravo potrebne, ali informacije su tu ako pogledate dovoljno dobro. Zaslon Waveshare koristi 10 pinova: 4, 6, 9, 13, 15, 19, 21, 23, 24 i 26. Očigledno, ako ovo radite s drugim zaslonom, morat ćete provjeriti ispravne pinove prije zgrabivši vaše lemilicu.
Nije potrebna posebna konfiguracija softvera - samo instalirajte upravljački softver proizvođača i spreman je za uporabu.
Korak 3: Bežično (Bluetooth)
Raspberry Pi Zero ploča nema bežične mogućnosti, samo jedan korisni USB priključak i neće biti dovoljno mjesta u kućištu za USB čvorište pa sam morao biti malo inventivan da dodam neku vrstu bežične sposobnosti za svoju izgradnju. Ako ovo gradite sa Zero W, možete preskočiti ovaj korak.
Raspberry Pi ima zgodnu značajku koja će nam omogućiti dodavanje korisnih bežičnih mogućnosti. Priključivanjem jeftinog serijskog modula HC-05 Bluetooth na U-ove U-pinove Pi-a i podešavanjem konfiguracije sustava moguće je dobiti bežični pristup terminalu naredbenog retka pomoću serijskog preko Bluetooth-a. Zatim možemo koristiti uobičajene alate za slanje datoteka na uređaj i upravljanje datotečnim sustavom.
Korak 4: Napajanje
Na kraju razvoja odabrao sam bateriju koja mi je bila potrebna da odaberem ćeliju koja bi se uklopila u raspoloživi prostor. Odabrao sam 2000mAH 25C 1S Lipo (dimenzije: 81x34x9mm) koji se prodavao kao zamjena za bespilotnu letjelicu Walkera Syma X5. Bilo bi dobro kad biste mogli puniti bateriju na licu mjesta uz redovitu USB vezu i koristiti uređaj dok se puni. Ne želimo se zapravo petljati sa složenim krugovima za kontrolu snage pa ćemo upotrijebiti gotov modul koji omogućuje USB punjenje i također pojačan izlaz od 5 V za izravno napajanje Pi. Kako bi se osiguralo potpuno isključivanje uređaja, postoji klizni prekidač između izlaza ovog modula i Pi koji osigurava da se baterija može puniti čak i kad je uređaj isključen. Pi se mora ispravno zatvoriti kako bi se izbjegli problemi s korupcijom podataka. Umjesto da se moramo prijavljivati putem Bluetooth serijske veze, možemo povezati taktilni prekidač na Pi -ov pin 5 (GPIO3) i napisati malu skriptu koja to promatra i pokreće isključivanje kada se pritisne. Napajanje i bežične komponente lemljene su na drugu protokolu dimenzija 7x9 cm koja će se nalaziti neposredno ispod tipkovnice.
Korak 5: Sve to povežite zajedno
Uz sve različite dijelove, možemo sastaviti unutarnje dijelove. Najveći problem s kojim sam se susreo tijekom montaže bio je taj što je USB priključak prekinuo moj Arduino Pro Micro, zahtijevajući da lemim žice izravno na lemne jastučiće, a ne pomoću USB kabela. Ovo je notorna slaba točka na pločama Pro Micro pa je vjerojatno prije montaže vrijedno nanijeti dobar sloj vrućeg ljepila kako bi se to izbjeglo. Pod pretpostavkom da vas ova nesreća neće zadesiti, imate izbor: ili možete napraviti super-tanak mikro USB na mikro USB kabel za povezivanje tipkovnice s Pi ili možete lemiti jedan ili oba kraja izravno na ploče. Kako sam trebao lemiti Arduino stranu, lemio sam i Pi stranu izravno na ispitne točke na stražnjoj strani ploče. Svaka opcija ima prednosti i nedostatke pa na vama je da odaberete koju ćete opciju preferirati.
Držat ćemo ploče zajedno s najlonima M3. Za spajanje donjih rupa između tipkovnice i ploče za napajanje potrebna su nam dva odstupanja od 9 mm. Gornje rupe također zadržavaju zaslon pa želimo udaljenosti od 2,5 mm između tipkovnice i zaslona i 4,5 mm udaljenosti između zaslona i ploče za napajanje. Bočna fotografija prikazuje kako ovo izgleda. Sukobi će trebati malo pažljivog podrezivanja kako bi sve bilo paralelno - može biti malo usko spojeno sa svim žicama tipkovnice, ali trebalo bi ići zajedno. Kao što se može vidjeti iz fotografija, uređaj se može uključiti i koristiti nakon montaže, bez potrebe za stvarnim kućištem. Uskoro ćemo tiskati kućište, ali prije nego što dođemo do toga, morat ćemo instalirati operacijski sustav i konfigurirati ga.
Korak 6: Softver
S sastavljenim unutarnjim dijelovima možemo nastaviti s instalacijom i konfiguracijom softvera. Raspberry Pi će raditi na standardnoj Raspbian instalaciji. Jedini dodatni softver koji treba instalirati, osim upravljačkih programa za TFT zaslon, je aplikacija Fuse. Koristimo SDL verziju da bismo dobili odgovarajuću funkcionalnost preko cijelog zaslona, koja se može instalirati sa:
sudo apt-get install fuse-emulator-sdl
Za rukovanje pritiscima tipki za isključivanje, kopirajte skriptu 'shutdown' iz mog spremišta koda u/home/pi/
Da biste dobili serijsku konzolu putem Bluetootha, dodajte sljedeći redak u /boot /config:
enable_uart = 1
Željet ćemo da se naša skripta za isključivanje i emulator Fuse pokrenu pri pokretanju pa dodajte ove retke u/etc/xdg/lxsession/LXDE-pi/autostart:
@fuse-sdl --no-sound --kempston --no-auto-load
Ponovno pokrenite Pi nakon ovih promjena i trebali biste završiti.
Korak 7: Ograđivanje i završna montaža
Kućište je modelirano u Fusion 360 (kako to učiniti izvan je opsega ovog uputstva). Ima 5 dijelova: stražnji dio kućišta, prednji dio zaslona, prednji dio tipkovnice, gumb za uključivanje i poklopac upravljačke ploče. Poklopac upravljačke ploče trebao bi biti ispisan u savitljivoj niti (koristio sam fleksibilan PLA, ali bi mekši materijal poput NinjaFlex -a mogao biti bolji); sve ostalo treba ispisati u krutoj plastici (koristio sam Filamentum black PLA).
Da biste gumbu za uključivanje dali određeni otpor i spriječili njegovo zveckanje, zalijepite ljepljivu pjenu od 3 mm na njegova leđa, a zatim izbušite rupu od 4 mm kako bi mogla čvrsto sjediti preko okomitog prekidača za tac na PCB-u za napajanje. Možda ćete morati malo obrezati jedan rub, kao što se može vidjeti na fotografijama, kako biste izbjegli zaglavljivanje ploče za napajanje. Također mi je bilo korisno upotrijebiti malu mrvicu ljepila za držanje gumba na prekidaču za napajanje.
Moramo zalijepiti nekoliko najlonskih nosača u gornje držače na prednjoj ploči zaslona kako bismo omogućili sigurno pričvršćivanje gornjih dijelova kućišta. Kad se osuši, podrežite isklapanje u ravnini.
Za postavljanje ploča prvo moramo stvoriti montažne stupove. Uklonite glave s nekih najlonskih vijaka M3 i zalijepite dijelove s navojem u donje rupe svake prednje ploče. Kad se osuše, 2 prednje ploče mogu se zalijepiti zajedno i tipkovnica se može pričvrstiti na mjesto pomoću razmaka od 9 mm i 2,5 mm. Zatim, kad je ovo postavljeno, zaslon se može postaviti na gornje stupove i dodati razmake od 4,5 mm. Konačno, ploča za napajanje može se postaviti na mjesto, a žice postaviti tako da omogućuju postavljanje stražnje strane.
Bateriju je potrebno zalijepiti s dvostranom trakom ili pjenom i utaknuti u utičnicu za napajanje. Sada se dvije polovice mogu spojiti i upotrijebiti nekoliko kratkih upuštenih vijaka za stroj M3 koji učvršćuju sve na mjestu.
Na kraju, preokrenite ga i zalijepite poklopac upravljačke ploče na ploču tipkovnice. Učinio sam to s dvodijelnim epoksidnim ljepilom za jaku vezu.
Korak 8: Preklapanje tipkovnice
Skoro smo gotovi. Nedostaju samo neke ključne oznake i preklapanje kako bismo znali doći do svih tih prekrasnih ključnih riječi.
Primarna slova i brojevi nalaze se na stvarnim vrhovima prekidača. Pronašao sam neke zaista male transfere slova od 2,5 mm koji savršeno pristaju na vrhove promjera 4 mm. Malo ih je teško primijeniti jer se vrhovi pomiču dok ih trljate, ali dobivate dosta slova u pakiranju pa je u redu napraviti neke pogreške. Na kraju sam nekoliko dodirnuo finim trajnim markerom iako sam, s obzirom na prošlost, trebao pokušati namočiti ih u toploj vodi i gurnuti na mjesto (ako ste ikada napravili model kompleta, bit će vam poznat ovaj postupak). Kako bih zaštitio slova tijekom uporabe, na svaku tipku sam nanio malo prozirnog laka za nokte.
Kako bih spriječio da se srebrna tijela prekidača pokažu kroz rupe u sloju, upotrijebila sam ih stalnim markerom za bojanje - to se može vidjeti u donjem redu jedne od fotografija.
Ispisane slojeve dizajnirao sam u grafičkom programu GIMP otvorenog koda, a zatim ih ispisao na mat papir kvalitetne fotografije. U idealnom slučaju, slojevi će biti što tanji - uspio sam oguliti podlogu s papira marke Epson koji sam koristio vrlo lako, iako to neće biti slučaj sa svim markama. Kako bih zaštitio otisak, papir sam prekrio prozirnim ljepljivim vinilom i na stražnju stranu nanio dvostranu traku kako bih ga zalijepio za kućište. Prije nego zalijepimo slojeve, moramo izbušiti rupe. Koristio sam jeftin kožni probijač za kožu od 4 mm i postigao sam najbolje rezultate tako što sam izoštrio udarce i izrezao izravno na neki otpadni aluminijski lim od 3 mm. Zatim se slojevi samo trebaju poravnati i zalijepiti.
Korak 9: Zaključak
I gotovi smo! Ovo je bio prilično veliki projekt koji zahtijeva niz vještina, uključujući osnovnu elektroniku, lemljenje, 3D modeliranje, programiranje, pa čak i malo grafičkog izgleda. To je u konačnici bilo jako korisno i s gotovim uređajem je zabavno igrati se, ali kako stoji prema mojim izvornim kriterijima?
Jeftino: Ukupni trošak svega, uključujući trenutne maloprodajne cijene artikala koje sam već posjedovao i dopisnica poput dvostrane trake koja će trajati i dulje od ovog projekta, iznosi oko 80 funti, što ga čini pristupačnim projektom.
Prijenosno: Definitivno je prijenosno. Ovaj uređaj udobno staje u džep i potpuno je samostalan pa se može koristiti bilo gdje. Kad bih ga ponovno izgradio, napravio bih ravni 4-smjerni kontroler u stilu joypada, umjesto da koristim navigacijski štap jer strši iznad crte uređaja ostavljajući ga osjetljivim na oštećenja. Također bih želio vidjeti je li dostupan zaslon bez dodira slične veličine i omjera s navlakom otpornijom na ogrebotine jer mi ne treba sučelje zaslona osjetljivog na dodir, a otporna površina posebno je sklona oštećenjima.
Tipkovnica i joystick: Zaista sam zadovoljan kako su ovo uspjeli. Iako nema osjećaj mrtvog mesa u odnosu na izvornik, korištenje tipkovnice iznenađujuće podsjeća na stari ZX Spectrum - izgled, preklapanje i implementacija ključnih riječi dobro rade zajedno kako bi se to postiglo. USB tipkovnica se također može koristiti samostalno s računalom na kojem je pokrenut emulator osigurača kako bi se osiguralo isto iskustvo.
Trenutno: Korištenje Bluetooth serijskog modula olakšava relativno prijenos arhiva traka na uređaj s drugog računala bez potrebe za napuštanjem sučelja Fuse, a trebalo bi biti moguće dodatno pojednostaviti proces pisanjem skripte na strani klijenta za slanje datoteke do uređaja. Volio bih da mogu koristiti standardnu Bluetooth funkciju prijenosa datoteka "pošalji na uređaj" ugrađenu u većinu operativnih sustava ili odgovarajući sustav za dijeljenje datoteka poput Sambe. Međutim, oni će biti dostupni samo s Pi Zero W pločom i to nisam koristio za ovu izgradnju.
Osim gore navedenih stavki, kad bih započeo ovaj projekt ispočetka, odabrao bih tanju bateriju većeg kapaciteta na početku projekta i osmislio je oko nje, umjesto da moram izabrati bateriju odgovarajuće veličine na kraju projekt. Također bih koristio Pi Zero W umjesto Bluetooth serijskog modula za proširenje mogućnosti slanja datoteka na uređaj. Još jedno očito poboljšanje bila bi neka vrsta indikacije stanja hardverske baterije jer trenutno ne postoji način da se vidi koliko je napunjenosti preostalo. Također bih razmislio o korištenju OS -a zasnovanog na Ramdisku, poput Alpine Linuxa, koji bi bio tolerantniji na teška isključivanja i trebao bi omogućiti jedan prekidač za uključivanje/isključivanje bez potrebe za posebnim gumbom za isključivanje - mnogo više poput izvornog ZX Spectruma, samo isključite ga kad završite.
Moglo bi biti zanimljivo dizajnirati prilagođenu PCB za ovaj uređaj koja bi nam, potencijalno, omogućila da komponente napajanja stavimo na stražnju stranu tipkovnice, a ne da imamo zasebnu ploču. To bi moglo značajno smanjiti dubinu gotovog uređaja. Također bi olakšalo sastavljanje uređaja i ponudilo potencijal neke vrste kompleta za samostalnu montažu. Ako postoji dovoljno interesa za ovaj projekt, mogao bih napraviti verziju 2 koja rješava ove probleme.
Korak 10: Resursi
Za izgradnju ovog projekta potrebna su sljedeća sredstva:
Datoteke predmeta za 3D ispis (Thingiverse):
Kôd (Github):
Preporučeni:
DIY Spiderweb audio spektar: 3 koraka
DIY Spiderweb Audio Spectrum: Učinite svoju sobu sjajnom ovom audio spektrom paukove mreže, web dio vam oduzima malo vremena, ali na kraju će rezultati biti dobri i zapanjujući, još više DIY audio spektra uskoro, za video zapise možete me pratiti na Instagramu @shub
1x10 LED audio spektar .: 4 koraka
1x10 LED audio spektar .: Bok! Njegov Zakriya Paracha, a ja sam dizajnirao i stvorio 1x10 LED Audio Spectrum. Ovo je stvarno super projekt, a također je i pristupačan.SPORUKE: 1- Arduino Neno2-zvučni senzor za Arduino3-deset LED dioda4-dva 820 ohmska otpornika 5-Veroboard 6- ženski
3ft DIY Actobotics klizač za EMotimo spektar: dio III: 6 koraka (sa slikama)
3ft DIY Actobotics klizač za EMotimo Spectrum: Dio III: Ovo je dio III sastavljanja klizača u kojem motoriziram klizač za vremenske intervale i video sekvence koristeći eMotimo Spectrum ST4. Ovdje se ponavljaju neke iste slike iz 1. koraka pa ne morate ići naprijed -natrag između niti izgradnje
Prođite kroz RGB LED kroz spektar boja pomoću Raspberry Pi 2 i izgrebite: 11 koraka
Prođite kroz RGB LED kroz spektar boja pomoću Raspberry Pi 2 i grebanja: Bilješke o ažuriranju 25. veljače 2016 .: Poboljšao sam program Scratch i redizajnirao instrukcije. Bok dečki, s ovim projektom sam htio upotrijebiti Scratch za kretanje kroz RGB LED kroz spektar boja. Postoji mnogo projekata koji to rade s t
Kako sastaviti 3D Light Cube Kit 8x8x8 Blue LED MP3 glazbeni spektar sa Banggood.com: 10 koraka (sa slikama)
Kako sastaviti 3D Light Cube Kit 8x8x8 Blue LED MP3 glazbeni spektar sa Banggood.com: Ovo je ono što gradimo: 3D Light Cube Kit 8x8x8 Blue LED MP3 glazbeni spektarObavezno prozirno kućište od akrilne pločeAko vam se sviđa ova LED kocka, možda biste htjeli skočite na svoj YouTube kanal gdje izrađujem LED kocke, robote, IoT, 3D ispis i