Cuprins:

Consolă de joc de casă - „NinTIMdo RP”: 7 pași (cu imagini)
Consolă de joc de casă - „NinTIMdo RP”: 7 pași (cu imagini)

Video: Consolă de joc de casă - „NinTIMdo RP”: 7 pași (cu imagini)

Video: Consolă de joc de casă - „NinTIMdo RP”: 7 pași (cu imagini)
Video: M-a luat febra Jocurilor Retro!!!#JocurileCopilăriei 2024, Noiembrie
Anonim
Image
Image
Consolă de joc de casă
Consolă de joc de casă

Link către pagina web cu explicații mai detaliate, lista de piese și fișiere

timlindquist.me

Acest proiect urma să creeze un sistem de jocuri portabil care să se poată dubla și ca un computer portabil. Scopul a fost de a crea o consolă care să fie funcțională și plăcută din punct de vedere estetic.

Lista de componente:

docs.google.com/spreadsheets/d/1Ay6-aW4nAt…

Pasul 1: imprimați carcasa

Print Case
Print Case
Print Case
Print Case

Pentru a imprima dispozitivul, descărcați fișierele modelului 3D și trimiteți-le la imprimanta 3D. Imprimanta pe care am folosit-o a fost o Prusa i3 Mk2 împreună cu filament de plastic negru. Calitatea imprimării sa dovedit a fi cea mai bună într-o setare de rezoluție medie. Asigurați-vă că adăugați material structural sub dispozitiv (mânerele vor arăta slab fără el). Piesele din spate au fost tipărite cu spatele la nivelul platoului. Piesele din față au fost imprimate cu fața frontală la nivelul platoului. Dacă ar fi să imprim o altă carcasă, aș vrea să folosesc o culoare nouă, cum ar fi violetul atomic, pentru a arăta internele. Dacă sunteți ca mine și aveți un pat de imprimare de 8 inch pentru a lucra, va trebui să imprimați versiunea în 4 piese care vor fi asamblate după tipărire. Cu toate acestea, dacă patul dvs. este suficient de mare pentru a face ca o singură bucată, imprimați placa frontală și posterioară ca o singură unitate și evitați durerea de a le strânge împreună.

Fișiere model:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Pasul 2: Asamblarea cazului

Asamblarea cazului
Asamblarea cazului
Asamblarea cazului
Asamblarea cazului

Pentru asamblare, mai întâi uniți piesele din dreapta și stânga din față, introducând o diblă metalică în găurile de aliniere. Apoi puneți super lipici pe articulații și fixați jumătate împreună. Repetați procesul pentru stânga și dreapta jos. După aceasta, ar trebui să rămâneți cu jumătatea din față și din spate asamblată. Acum este timpul să atașați cele 5 stații metalice pentru îmbinarea plăcilor frontale și spate. Cel mai simplu mod de a face acest lucru este să obțineți mai întâi standurile la lungimea corectă. 13 mm adâncime în spate 5 mm adâncime în față. Deci, faceți distanțele de 18 mm sau puțin mai puțin. Am făcut acest lucru prin plasarea unei distanțe mai lungi într-o priză de menghină și folosind un polizor pentru a rade dimensiunea. Asigurați-vă că măcinați doar o parte, deoarece veți avea nevoie de fire pe cealaltă. După ce obțineți adezivul cu lungimea corectă, toți râșnița de pe părțile laterale pe fața frontală folosind adeziv regulat pentru gorilă și lăsați-l să se usuce. Asigurați-vă că toți stau drepți în timpul acestui proces. Odată uscat, zgâriați adezivul excelent care a făcut spumă, astfel încât fețele să poată fi la culoare atunci când sunt puse împreună. Acum vedeți dacă puteți introduce placa din spate pe standuri pentru a vă uni cu partea din față. Înșurubați împreună prin placa din spate pentru a fixa. Lipiți ecranul prin căptușirea cadrului cu tubul de duel Gorilla Epoxy. M-am pus prea mult când am făcut asta și s-a revărsat pe ecran. Din fericire se freacă! Strângeți și lăsați să se usuce pentru o vreme, apoi căptușiți partea din spate cu lipici Gorilla obișnuit.

** Notă: Încercați să nu obțineți adeziv subțire CA (super lipici) pe exterior, deoarece va "arde" PLA și va pata o culoare albă.

Pasul 3: Circuit

Circuite
Circuite
Circuite
Circuite
Circuite
Circuite

Circuit buton:

Capturarea tuturor apăsărilor de buton se face folosind un Teensy ++ 2.0. Pinii digitali de pe microcontroler sunt utilizați pentru orice butoane de apăsare binare. Pinii analogici sunt utilizați pentru butoanele care au mai multe stări, cum ar fi joystick-urile. Pentru a conecta pinii digitali conectați simplu pinul digital la comutator, faceți ca celălalt capăt al comutatorului să fie conectat la masă. Când butonul este apăsat, acesta va trage pinul de înaltă tensiune în jos pentru ca controlerul să detecteze. Nu trebuie să vă faceți griji cu privire la rezistențe, deoarece acestea sunt incluse pe placa Teensy. Pentru a conecta pinii analogici, va trebui să vă influențați dispozitivul analogic cu o tensiune înaltă și joasă și să citiți un nivel de tensiune cu acel interval pe pinul analogic. Pentru joystick-uri există 3 intrări pentru fiecare axă. Furnizați un 5V la unul dintre pini, GND la altul și tensiunea citită linia la ultimul. Asigurați-vă că conectați corect acest lucru sau nu va funcționa (folosiți un multimetru pentru a vedea dacă tensiunea de ieșire se schimbă pe pinul corect.) În esență, joystick-ul este un rezistor variabil care funcționează ca un divizor de tensiune. Tensiunea de ieșire pe pinul citit va varia între 0 și 5V în funcție de poziția joystick-urilor. (De obicei, polarizarea 5V și GND sunt pe pinii de intrare externi ai joystick-ului, iar cel din mijloc va fi pinul dvs. de citire cu tensiune variabilă. Dacă 5V și GND sunt diferite de ale mele comenzile dvs. vor fi inversate, acest lucru poate fi fixat în software sau recablare).

Circuit de putere:

Bateria Anker cu trei celule furnizează energie întregului dispozitiv. Pentru a porni / opri dispozitivul, ieșirea regulatorului bateriei este conectată la un comutator și apoi la Raspberry Pi. Deoarece dispozitivul poate trage până la 2A, un comutator simplu de 250mA nu poate face față cerinței actuale. În schimb, puteți utiliza comutatorul pentru a controla tensiunea porții pe un tranzistor PMOS pentru a servi scopului unui comutator. Conectați 5V ai bateriei la sursa unui tranzistor PMOS și a comutatorului. Celălalt capăt al comutatorului este conectat la poarta tranzistorului PMOS și la un rezistor de 10K conectat la GND (când comutatorul este deschis pentru a preveni plutirea porții, îl leagă de GND prin rezistor). Drainul este conectat la intrarea de 5V de pe Raspberry Pi împreună cu solul. Pentru a încărca bateria, conectați pur și simplu placa de rupere micro USB feminină la pinii de încărcare corecti (extinde intrarea la carcasă). Am ascuns acest comutator în admisia de aer din spatele dispozitivului. Inițial, intenționam să pun butonul bateriei să pornească și să oprească dispozitivul ținându-l pentru o anumită durată, din păcate, am rămas fără loc și a trebuit să fac implementarea simplă. Acest design alternativ este prezentat în schema de mai jos.

Circuite audio:

Pentru sunet, am vrut ca sunetul să fie redat în mod natural din difuzoare (dacă nu este dezactivat) și să fie redirecționat către căști, dacă acestea sunt conectate. Din fericire, multe dintre mufele pentru telefoane de 3,5 mm sunt capabile mecanic să facă acest lucru. Când este introdus un conector tată, cablurile difuzoarelor se vor îndoi și vor crea un circuit deschis, împiedicând astfel semnalul să ajungă la difuzoare. Deoarece difuzoarele au o sarcină mai mare, semnalul audio trebuie amplificat pentru a-l putea auzi. Acest lucru se face folosind un amplificator stereo clasa D pe care l-am găsit pe adafruit. Pur și simplu polarizați amplificatorul cu 5V și GND. Nu avem intrări audio diferențiale, deci conectați difuzoarele stânga și dreapta la bornele pozitive și legați bornele negative la GND. Câștigul este ajustat cu ajutorul jumperului. Am setat câștigul la maxim și schimb amplitudinea semnalelor audio de ieșire prin intermediul software-ului pentru a regla volumul. Pentru a dezactiva dispozitivul, am un tranzistor NMOS care controlează polarizarea de 5V. Această poartă a tranzistoarelor NMOS este controlată de Teensy. O problemă pe care o am este că zgomotul constant de înaltă frecvență este prezent în difuzoarele externe. Voi analiza acest lucru pe un osciloscop, poate proveni din polarizarea de 5V din cauza unor regulatoare care comută la baterie sau liniile ar putea prelua RF undeva. De asemenea, asigurați-vă că răsuciți liniile dreapta și stânga pentru a minimiza interferențele electromagnetice (EMI).

Pasul 4: Circuit periferic

Circuit periferic
Circuit periferic
Circuit periferic
Circuit periferic

Acest circuit include suporturile USB și indicatorul LED. Comandați PCB-ul din link-ul meu și tăiați-l în jumătate de-a lungul liniei punctate folosind ferăstrăul cu bandă. Pe partea USB, toate lipesc cele două porturi USB feminine pe placă. Pe partea LED se lipesc cele 5 LED-uri și 5 rezistențe în serie. 5V, GND, D +, D-pot fi extinse folosind fire de la USB-ul desolderat al Raspberry PI la PCB. PCB-ul cu LED poate fi amplasat astfel încât lumina să strălucească prin orificiile de deasupra carcasei. Sârmă 5 ieșiri PWM ale Teensy la LED-uri împreună cu GND. Prin variația ciclului de funcționare, puteți modifica luminozitatea LED-urilor.

Cumpărați PCB:

Pasul 5: Programare

Programare
Programare
Programare
Programare
Programare
Programare

Teensy:

Dacă l-ați conectat exact la fel ca mine, puteți folosi codul pe care l-am furnizat pe Github. Cu toate acestea, aș recomanda să îl scrieți singur, deoarece veți înțelege mai bine sistemul și îl veți putea manipula și personaliza cu ușurință după dorința dvs. Programarea este foarte simplă, se reduce la a scrie o grămadă de instrucțiuni if pentru a verifica dacă butoanele tale au fost apăsate. Un set de instrucțiuni utile de la PJRC. Puteți utiliza IDE-ul Arduino pentru a vă scrie codul și pentru a încărca pe Teensy.

COD:

github.com/timlindquist/Nintimdo-RP

Butoane digitale: Acest exemplu îmi arată să verific dacă pinul digital 20 a fost apăsat și apoi să trimit comanda corectă a joystick-ului serial. Puteți alege de la 1 la 32 pentru buton, deoarece Retropie realizează oricum o configurare de mapare a controlerului. Buton Joystick (butoane: 1-32, apăsat = 1 lansat = 0)

Butoane analogice:

În exemplu, joystick-ul vertical drept este conectat la pinul analogic 41. Funcția analogRead (pin) primește un nivel de tensiune între 0 și 5V și returnează o valoare de la 0 la 1023. O poziție centrală ideală ar corespunde la 2,5V sau 512, cu toate acestea, acest lucru nu a fost cazul stick-ului meu analogic, așa că a trebuit să se facă ajustări. Acest lucru a fost realizat printr-o remapare prezentată mai jos. După aceea, a trebuit să verific dacă limitele nu au fost depășite de la 0 la 1023. În cele din urmă, comanda joystick-ului analogic a fost trimisă în serie pentru a fi butonul analogic Z folosind Joystick. Z (valoarea 0-1023).

Pasul 6: Dock opțional

Dock opțional
Dock opțional
Dock opțional
Dock opțional
Dock opțional
Dock opțional

Doc:

Această construcție nu ar fi completă fără o stație de andocare pentru încărcare și conectarea ușoară a televizorului, așa că am proiectat una în imaginile de mai jos. Modelele 3D sunt disponibile împreună cu celelalte din pachetul meu Github.

Modele:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Pasul 7: Rezultate

Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate

În retrospectivă, mi-aș dori să fac portul de ieșire HDMI cu un PCB în loc de un suport de perete pre-cumpărat. Acest lucru ar fi economisit mult spațiu în realitate, a trebuit să înfig cablul într-o spirală pentru a evita tăierea și re-lipirea celor 19 fire. Sunt obosit să merg cu o baterie mai mică, deoarece înălțimea celulei a fost factorul meu limitativ în grosimea întregului dispozitiv. Cu toate acestea, reducerea acestui lucru ar avea un impact negativ asupra duratei de viață a bateriei.

În total, acest lucru m-a costat în jur de 350 de dolari. Aceasta nu include pi de zmeură pe care am rupt-o încercând să rade dimensiunea … Încă fericit am încercat-o. A fost un proiect distractiv de vară pentru a vedea dacă aș putea să-l fac cât mai compact posibil în timp ce în același timp pot monta o mulțime de caracteristici interesante în interior.

Recomandat: