Indholdsfortegnelse:

Hjemmelavet spilkonsol- "NinTIMdo RP": 7 trin (med billeder)
Hjemmelavet spilkonsol- "NinTIMdo RP": 7 trin (med billeder)

Video: Hjemmelavet spilkonsol- "NinTIMdo RP": 7 trin (med billeder)

Video: Hjemmelavet spilkonsol-
Video: 4 раздражающих фактора жизни в фургоне 🚐 #shorts #vanlife 2024, November
Anonim
Image
Image
Hjemmelavet spilkonsol
Hjemmelavet spilkonsol

Link til webside med mere dybtgående forklaringer, deleliste og filer

timlindquist.me

Dette projekt var at skabe et bærbart gaming -system, der også kunne fungere som en bærbar computer. Målet var at skabe en konsol, der var funktionel såvel som æstetisk tiltalende.

Liste over dele:

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

Trin 1: Printkasse

Tryksag
Tryksag
Tryksag
Tryksag

For at udskrive enheden skal du downloade mine 3D -modelfiler og sende dem til din 3D -printer. Den printer, jeg brugte, var en Prusa i3 Mk2 sammen med sort plastfilament. Udskrivningskvaliteten viste sig at være den bedste i en medium opløsning. Sørg for at tilføje strukturmateriale under i enheden (håndtag vil se dårlige ud uden det). Rygstykker blev trykt med ryggen flugt med fadet. Forstykker blev trykt med forsiden på flugt med fadet. Hvis jeg skulle udskrive en anden sag, ville jeg gerne bruge en ny farve som atomic lilla til at vise interiøret frem. Hvis du er som mig og har en 8 -tommers printseng at arbejde med, skal du udskrive den 4 -delt version, som samles efter udskrivning. Men hvis din seng er stor nok til at gøre som et enkelt stykke, skal du udskrive for- og bagpladen som en enkelt enhed og undgå smerten ved at samle dem sammen.

Model filer:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Trin 2: Kassemontering

Kassemontering
Kassemontering
Kassemontering
Kassemontering

For at samle skal du først forbinde de forreste højre og venstre stykker ved at indsætte en metaldusel i justeringshullerne. Placer derefter superlim på samlingerne og fastgør halvdelen sammen. Gentag processen for nederste højre og venstre haves. Efter dette skal du stå tilbage med en samlet for- og baghalvdel. Nu er det tid til at vedhæfte de 5 metalafstande til sammenlægning af for- og bagpladerne. Den nemmeste måde at gøre dette på er først at få stativet af i den korrekte længde. 13 mm dybde bagpå 5 mm dybde foran. Så gør afstandene 18 mm eller lidt mindre. Jeg gjorde dette ved at placere en længere standoff i en vice grips og bruge en kværn til at barbere størrelsen ned. Sørg for kun at slibe den ene side af, fordi du skal bruge trådene på den anden. Når du har fået den korrekte længde, limes alle kværnen af siderne til forsiden ved hjælp af almindelig gorillalim og lad den tørre. Sørg for, at de alle står oprejst under denne proces. Når den er tør, skal du skrabe den glimrende lim, der skummede op, så ansigterne kan skylles, når de sættes sammen. Se nu, om du kan indsætte bagpladen på standoffs for at slutte med fronten. Skru sammen gennem bagpladen for at sikre. Lim skærmen på ved at beklæde rammen med duelrøret Gorilla Epoxy. Jeg tog for meget på, da jeg gjorde dette, og det flød over på skærmen. Det smitter heldigvis af! Spænd og lad tørre et stykke tid, beklæd derefter bagsiden med almindelig Gorilla -lim.

** Bemærk: Prøv ikke at få tynd CA -lim (superlim) på ydersiden, da det vil "brænde" PLA'en og plette en hvid farve.

Trin 3: Kredsløb

Kredsløb
Kredsløb
Kredsløb
Kredsløb
Kredsløb
Kredsløb

Button Circuitry:

Optagelse af alle knappetryk sker ved hjælp af en Teensy ++ 2.0. Digitale ben på mikrokontrolleren bruges til alle binære trykknapper. De analoge ben bruges til knapper, der har flere tilstande, f.eks. Joysticks. For at koble de digitale stifter til en enkel ledning, skal den digitale pin til kontakten forbindes med den anden ende af kontakten til jord. Når der trykkes på knappen, vil den trække højspændingsnålen ned, så controlleren kan mærke. Du behøver ikke bekymre dig om modstande, da de er inkluderet på Teensy -tavlen. For at tilslutte de analoge ben skal du forspænde din analoge enhed med en høj og lav spænding og aflæse et spændingsniveau med i dette område på den analoge pin. Til joysticks er der 3 indgange for hver akse. Tilfør en 5V til en af benene, GND til en anden og spændingslæselinjen til den sidste. Sørg for at tilslutte dette korrekt, ellers fungerer det ikke (brug et multimeter for at se, om udgangsspændingen ændres på den korrekte pin.) Joysticket er i det væsentlige en variabel modstand, der fungerer som en spændingsdeler. Udgangsspændingen på læsestiften varierer mellem 0 og 5V afhængigt af joysticks -positionen. (Normalt er forspændingen 5V og GND på joystickets ydre indgangsstifter, og den midterste vil være din variabel spændingslæsestift. Hvis 5V og GND er anderledes end min, vil dine kontroller blive omvendt, dette kan rettes i software eller genopkobling).

Strømkredsløb:

Det trecellede Anker -batteri leverer strøm til hele enheden. For at tænde/slukke for enheden, er output fra batteriregulatoren forbundet til en switch og derefter Raspberry Pi. Fordi enheden kan trække op til 2A, kan en simpel 250mA vippekontakt ikke klare det aktuelle krav. I stedet kan du bruge kontakten til at styre portspændingen på en PMOS -transistor til at tjene formålet med en switch. Tilslut batteriets 5V til kilden til en PMOS -transistor og kontakten. Den anden ende af kontakten er forbundet til porten til PMOS -transistoren og til en 10K modstand, der er forbundet til GND (når kontakten er åben for at forhindre porten i at flyde, knytter den den til GND gennem modstand). Afløbet er forbundet til 5V -indgangen på Raspberry Pi sammen med jorden. For at oplade batteriet skal du blot koble mikro -USB -hunkontaktkortet til de korrekte ladestifter (forlænger input til etui). Jeg skjulte denne kontakt i luftindtaget bag på enheden. Oprindeligt planlagde jeg i stedet at få batteriknappen til at tænde og slukke for enheden ved at holde den i en vis varighed, desværre løb jeg tør for plads og måtte lave den enkle implementering. Dette alternative design er vist i skematikken herunder.

Lydkredsløb:

Til lyden ville jeg have, at lyden naturligt afspilles fra højttalerne (hvis den ikke er dæmpet) og omdirigeres til hovedtelefoner, hvis de er tilsluttet. Heldigvis er mange af de kvindelige 3,5 mm hovedtelefonstik mekanisk i stand til at gøre dette. Når der sættes et hanstik i, vil højttalerledningerne bøje og skabe et åbent kredsløb, hvilket forhindrer signalet i at nå højttalerne. Da højttalerne er en større belastning, skal lydsignalet forstærkes for at kunne høre det. Dette gøres ved hjælp af en stereo klasse D -forstærker, jeg fandt på adafruit. Du skal blot forspænde forstærkeren med 5V og GND. Vi har ikke differentielle lydindgange, så led venstre og højre højttalere til de positive terminaler, og bind de negative terminaler til GND. Gain justeres ved hjælp af jumperen. Jeg indstiller forstærkningen til maksimum og ændrer lydudgangssignalernes amplitude via software for at justere lydstyrken. For at dæmpe enheden har jeg en NMOS -transistor, der styrer 5V -bias. Denne NMOS transistors gate styres af Teensy. Et problem, jeg har, er, at der er konstant højfrekvent støj i de eksterne højttalere. Jeg vil analysere dette på et oscilloskop, kan komme fra 5V -forspændingen på grund af nogle regulatorer, der skifter til batteriet, eller linjerne kan opfange RF et eller andet sted. Sørg også for at vride højre og venstre linje for at minimere elektromagnetisk interferens (EMI).

Trin 4: Perifert kredsløb

Perifere kredsløb
Perifere kredsløb
Perifere kredsløb
Perifere kredsløb

Dette kredsløb inkluderer USB -beslag og LED -indikator. Bestil printet i mit link og skær det i halve langs den stiplede linje ved hjælp af båndsav. På USB -siden lod alle de to hun -USB -porte på kortet. På LED -siden loddes de 5 LED'er og 5 modstande i serie. 5V, GND, D+, D-kan forlænges ved hjælp af ledninger fra Raspberry PI's aflodrede USB'er til printkortet. LED -printet kan placeres, så lyset skinner gennem hullerne oven på kassen. Led 5 PWM -udgange fra Teensy til LED'erne sammen med GND. Ved at variere driftscyklussen kan du ændre lysstyrken på LED'erne.

Køb printkort:

Trin 5: Programmering

Programmering
Programmering
Programmering
Programmering
Programmering
Programmering

Teeny:

Hvis du har tilsluttet det nøjagtig det samme som mig, kan du bare bruge koden, jeg gav på Github. Jeg vil dog anbefale at skrive det selv, da du forstår systemet bedre og let kan manipulere og tilpasse det efter din smag. Programmering er meget enkel, det kommer virkelig ned på at skrive en masse if -udsagn for at kontrollere, om der blev trykket på dine knapper. Et nyttigt instruktionssæt fra PJRC. Du kan bruge Arduino IDE til at skrive din kode ind samt uploade til Teensy.

KODE:

github.com/timlindquist/Nintimdo-RP

Digitale knapper: Dette eksempel viser mig kontrollere, om der blev trykket på digital pin 20 og derefter udsende den korrekte serielle joystick -kommando. Du kan vælge mellem 1 og 32 for knappen, da Retropie alligevel foretager opsætning af en controller -kortlægning i begyndelsen. Joystick.-knap (knapper: 1-32, trykket = 1 frigivet = 0)

Analoge knapper:

I eksemplet er den højre joystick lodret forbundet til analog pin 41. Funktionen analogRead (pin) modtager et spændingsniveau mellem 0 og 5V og returnerer en værdi på 0 til 1023. En ideel midterposition svarer til 2,5V eller 512, men dette var ikke tilfældet for min analoge stick, så justering skulle foretages. Dette blev gjort ved en omlægning vist nedenfor. Derefter skulle jeg kontrollere, om grænserne ikke blev overskredet 0 til 1023. Endelig blev den analoge joystick -kommando sendt over seriel for at være den analoge knap Z ved hjælp af Joystick. Z (værdi 0 til 1023).

Trin 6: Valgfri dock

Valgfri dock
Valgfri dock
Valgfri dock
Valgfri dock
Valgfri dock
Valgfri dock

Dok:

Denne build ville ikke være komplet uden en dock til opladning og let tv -tilslutning, så jeg designede en på billederne herunder. 3D -modellerne fås sammen med de andre i min Github -pakke.

Modeller:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Trin 7: Resultater

Resultater
Resultater
Resultater
Resultater
Resultater
Resultater
Resultater
Resultater

Set i bakspejlet ville jeg ønske, at jeg gjorde HDMI -udgangen med et PCB i stedet for et færdigkøbt kvindeligt vægbeslag. Dette ville have sparet meget plads i virkeligheden. Jeg var nødt til at stikke kablet i en spiral for at undgå at skære det og genlodde de 19 ledninger. Jeg er revet over at gå med et mindre batteri, fordi cellehøjden var min begrænsende faktor i tykkelsen af hele enheden. Reduktion af dette ville imidlertid påvirke min batterilevetid negativt.

I alt kostede det mig omkring $ 350 at lave. Dette inkluderer ikke den hindbærpi, jeg brød, da jeg forsøgte at barbere størrelsen … Stadig glad for, at jeg prøvede det. Det var et sjovt sommerprojekt at se, om jeg kunne gøre det så kompakt som muligt og samtidig montere en masse fede funktioner indeni.

Anbefalede: