Innholdsfortegnelse:

Hjemmelaget spillkonsoll- "NinTIMdo RP": 7 trinn (med bilder)
Hjemmelaget spillkonsoll- "NinTIMdo RP": 7 trinn (med bilder)

Video: Hjemmelaget spillkonsoll- "NinTIMdo RP": 7 trinn (med bilder)

Video: Hjemmelaget spillkonsoll-
Video: Возрождение Game Boy Micro — первый взгляд на консоль Waveshare Raspberry Pi CM3+ 2024, Desember
Anonim
Image
Image
Hjemmelaget spillkonsoll
Hjemmelaget spillkonsoll

Lenke til nettside med mer grundige forklaringer, deleliste og filer

timlindquist.me

Dette prosjektet var å lage et bærbart spillsystem som også kan fungere som en bærbar datamaskin. Målet var å lage en konsoll som var funksjonell så vel som estetisk tiltalende.

Deleliste:

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

Trinn 1: Skriveretui

Utskriftsveske
Utskriftsveske
Utskriftsveske
Utskriftsveske

For å skrive ut enheten, last ned 3D -modellfilene mine og send dem til 3D -skriveren. Skriveren jeg brukte var en Prusa i3 Mk2 sammen med svart plastfilament. Utskriftskvaliteten ble funnet å være best i en middels oppløsning. Sørg for å legge til strukturmateriale under i enheten (håndtak vil se dårlige ut uten det). Ryggen ble trykt med baksiden i flukt med fatet. Forstykkene ble trykt med forsiden i flukt med tallerkenen. Hvis jeg skulle skrive ut et annet etui, ville jeg bruke en ny farge, for eksempel atomlilla, for å vise innvendig. Hvis du er som meg og har en 8 -tommers utskriftsseng å jobbe med, må du skrive ut den 4 -delers versjonen som blir satt sammen etter utskrift. Men hvis sengen din er stor nok til å gjøre som et enkelt stykke, kan du skrive ut front- og bakplaten som en enhet og unngå smerten ved å sette dem sammen.

Modellfiler:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Trinn 2: Kassemontering

Kassemontering
Kassemontering
Kassemontering
Kassemontering

For å montere må du først sette sammen de fremre høyre og venstre brikkene ved å sette en metallplugg inn i justeringshullene. Legg deretter superlim på leddene og fest halvparten sammen. Gjenta prosessen for nedre høyre og venstre side. Etter dette bør du sitte igjen med en samlet halvdel foran og bak. Nå er det på tide å feste de 5 metallavstandene for sammenslåing av front- og bakplatene. Den enkleste måten å gjøre dette på er å først få stativet til riktig lengde. 13 mm dybde bak 5 mm dybde foran. Så gjør avstandene 18 mm eller litt mindre. Jeg gjorde dette ved å plassere en lengre avstand i et visegrep og bruke en kvern for å barbere ned størrelsen. Sørg for å bare slipe av den ene siden fordi du trenger tråder på den andre. Etter at du har fått riktig lengde limer du alle kvernene av sidene på forsiden med vanlig gorillalim og lar det tørke. Sørg for at de alle står oppreist under denne prosessen. Når det er tørt, skraper du det utmerkede limet som skummet opp slik at ansiktene kan spyle når de settes sammen. Se nå om du kan sette bakplaten på avstandene for å bli med fronten. Skru sammen gjennom bakplaten for å feste. Lim skjermen på ved å forme rammen med duellrøret Gorilla Epoxy. Jeg la for mye på når jeg gjorde dette, og det rant over på skjermen. Det smitter heldigvis av! Fest og la det tørke en stund, og deretter kler du på baksiden med vanlig Gorillalim.

** Merk: Prøv å ikke få tynt CA -lim (superlim) på utsiden, da det vil "brenne" PLA og få en hvit farge.

Trinn 3: Kretsløp

Kretsløp
Kretsløp
Kretsløp
Kretsløp
Kretsløp
Kretsløp

Knappkrets:

Å fange alle knappetrykk gjøres ved hjelp av en Teensy ++ 2.0. Digitale pinner på mikrokontrolleren brukes til binære trykknapper. De analoge pinnene brukes til knapper som har flere tilstander, for eksempel joysticks. For å koble de digitale pinnene enkelt koble den digitale pinnen til bryteren, må den andre enden av bryteren kobles til jord. Når du trykker på knappen vil den trekke høyspenningspinnen nedover for kontrolleren å føle. Du trenger ikke å bekymre deg for motstander, da de er inkludert på Teensy -brettet. For å koble de analoge pinnene må du forspenne den analoge enheten med en høy og lav spenning og lese et spenningsnivå med i det området på den analoge pinnen. For styrespakene er det 3 innganger for hver akse. Tilfør en 5V til en av pinnene, GND til en annen og spenningsleselinjen til den siste. Sørg for å koble dette til på riktig måte, ellers fungerer det ikke (bruk et multimeter for å se om utgangsspenningen endres på riktig pinne.) I hovedsak er joysticken en variabel motstand som fungerer som en spenningsdeler. Utgangsspenningen på lesestiften vil variere mellom 0 og 5V avhengig av styrespakens posisjon. (Vanligvis er forspenningen 5V og GND på de ytre inngangspinnene på joysticken, og den midterste vil være den variable spenningsavlesningspinnen. Hvis 5V og GND er forskjellige enn mine, blir kontrollene dine invertert, dette kan fikses i programvare eller omkobling).

Strømkretser:

Det tre -cellers Anker -batteriet leverer strøm til hele enheten. For å slå enheten på/av, er utgangen til batteriregulatoren koblet til en bryter og deretter Raspberry Pi. Fordi enheten kan trekke opp til 2A, kan en enkel vippebryter på 250mA ikke håndtere gjeldende krav. I stedet kan du bruke bryteren til å kontrollere portspenningen på en PMOS -transistor for å tjene formålet med en bryter. Koble 5V til batteriet til kilden til en PMOS -transistor og bryteren. Den andre enden av bryteren er koblet til porten til PMOS -transistoren og til en 10K -motstand koblet til GND (når bryteren er åpen for å forhindre at porten flyter, knytter den den til GND gjennom motstand). Dreneringen er koblet til 5V -inngangen på Raspberry Pi sammen med bakken. For å lade batteriet, bare koble mikro -USB -hun -utbruddskortet til de riktige ladepinnene (utvider input til case). Jeg gjemte denne bryteren i luftinntaket på baksiden av enheten. Opprinnelig planla jeg å la batteriknappen slå på og av enheten ved å holde den i en viss varighet, dessverre løp jeg tom for rom og måtte gjøre den enkle implementeringen. Denne alternative designen er vist i skjemaet nedenfor.

Lydkretser:

For lyden ønsket jeg at lyden skulle spilles naturlig ut av høyttalerne (hvis den ikke er dempet) og omdirigeres til hodetelefoner hvis de er plugget inn. Heldigvis er mange av de 3,5 mm kvinnelige hodetelefonkontaktene mekanisk i stand til å gjøre dette. Når en mannlig plugg er satt inn, vil høyttalerledningene bøye seg og skape en åpen krets, og dermed forhindre at signalet når høyttalerne. Siden høyttalerne er større, må lydsignalet forsterkes for å kunne høre det. Dette gjøres ved hjelp av en stereo klasse D -forsterker jeg fant på adafruit. Bare forspenning av forsterkeren med 5V og GND. Vi har ikke differensielle lydinnganger, så koble venstre og høyre høyttaler til de positive terminalene og knytt de negative terminalene til GND. Gevinst justeres ved hjelp av genseren. Jeg setter forsterkningen til maksimum og endrer utgangssignalens amplitude via programvare for å justere volumet. For å dempe enheten har jeg en NMOS -transistor som styrer 5V -forspenningen. Denne NMOS -transistorporten styres av Teensy. Et problem jeg har er at det er konstant høy frekvensstøy i de eksterne høyttalerne. Jeg vil analysere dette på et oscilloskop, kan komme fra 5V -forspenningen på grunn av noen regulatorbytte på batteriet, eller linjene kan plukke opp RF et sted. Sørg også for å vri høyre og venstre linje for å minimere elektromagnetisk interferens (EMI).

Trinn 4: Perifer krets

Perifere kretser
Perifere kretser
Perifere kretser
Perifere kretser

Denne kretsen inkluderer USB -fester og LED -indikator. Bestill kretskortet i lenken min og kutt i to langs den stiplede linjen ved hjelp av båndsag. På USB -siden lodder du de to kvinnelige USB -portene på brettet. På LED -sideloddet de 5 lysdiodene og 5 motstandene i serie. 5V, GND, D+, D-kan utvides ved hjelp av ledninger fra Raspberry PIs avlodde USB-er til PCB. LED -kretskortet kan plasseres slik at lyset skinner gjennom hullene på toppen av saken. Koble 5 PWM -utganger fra Teensy til LED -ene sammen med GND. Ved å variere driftssyklusen kan du endre lysstyrken til LED -lampene.

Kjøp PCB:

Trinn 5: Programmering

Programmering
Programmering
Programmering
Programmering
Programmering
Programmering

Tenåring:

Hvis du koblet den til akkurat det samme som meg, kan du bare bruke koden jeg ga på Github. Imidlertid vil jeg anbefale å skrive det selv, da du vil forstå systemet bedre og enkelt kunne manipulere og tilpasse det til din smak. Programmering er veldig enkelt, det handler virkelig om å skrive en haug med if -setninger for å sjekke om knappene dine ble trykket. Et nyttig instruksjonssett fra PJRC. Du kan bruke Arduino IDE til å skrive inn koden din samt laste opp til Teensy.

KODE:

github.com/timlindquist/Nintimdo-RP

Digitale knapper: Dette eksemplet viser meg sjekke om digital pinne 20 ble trykket og deretter sende ut den korrekte serielle joystick -kommandoen. Du kan velge mellom 1 og 32 for knappen siden Retropie uansett gjør et oppsett for kontrollerkartlegging i begynnelsen. Joystick.-knapp (knapper: 1-32, presset = 1 utgitt = 0)

Analoge knapper:

I eksemplet er den høyre joystick -vertikalen koblet til analog pin 41. AnalogRead (pin) -funksjonen mottar et spenningsnivå mellom 0 og 5V og returnerer en verdi på 0 til 1023. En ideell senterposisjon vil tilsvare 2,5V eller 512, men dette var ikke tilfelle for min analoge pinne, så justering måtte gjøres. Dette ble gjort gjennom en omlegging vist nedenfor. Etter det måtte jeg sjekke om grensene ikke ble overskredet 0 til 1023. Til slutt ble den analoge joystick -kommandoen sendt over serie for å være den analoge knappen Z ved hjelp av Joystick. Z (verdi 0 til 1023).

Trinn 6: Valgfri dokkingstasjon

Valgfri Dock
Valgfri Dock
Valgfri Dock
Valgfri Dock
Valgfri Dock
Valgfri Dock

Brygge:

Denne bygningen ville ikke vært komplett uten en dokkingstasjon for lading og enkel TV -tilkobling, så jeg designet en på bildene nedenfor. 3D -modellene er tilgjengelige med de andre i min Github -pakke.

Modeller:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Trinn 7: Resultater

Resultater
Resultater
Resultater
Resultater
Resultater
Resultater
Resultater
Resultater

I ettertid skulle jeg ønske jeg hadde gjort HDMI -ut -porten med en PCB i stedet for et forhåndskjøpt kvinnelig veggfeste. Dette ville ha spart mye plass faktisk jeg måtte stikke kabelen i en spiral for å unngå å kutte den og lodde de 19 ledningene på nytt. Jeg er revet med å gå med et mindre batteri fordi cellehøyden var min begrensende faktor i tykkelsen på hele enheten. Å redusere dette vil imidlertid påvirke batterilevetiden min negativt.

Totalt kostet dette meg rundt $ 350 å lage. Dette inkluderer ikke bringebær pi jeg brøt prøver å barbere ned størrelsen … Likevel glad jeg prøvde det. Det var et morsomt sommerprosjekt å se om jeg kunne gjøre det så kompakt som mulig samtidig som jeg fikk plass til mange kule funksjoner inne.

Anbefalt: