Inhaltsverzeichnis:
- Schritt 1: Fall drucken
- Schritt 2: Gehäusemontage
- Schritt 3: Schaltung
- Schritt 4: Peripherieschaltungen
- Schritt 5: Programmierung
- Schritt 6: Optionales Dock
- Schritt 7: Ergebnisse
Video: Hausgemachte Spielekonsole - "NinTIMdo RP": 7 Schritte (mit Bildern)
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Link zur Webseite mit ausführlicheren Erläuterungen, Stückliste und Dateien
timlindquist.me
Dieses Projekt bestand darin, ein tragbares Spielsystem zu entwickeln, das auch als tragbarer Computer dienen könnte. Das Ziel war es, eine Konsole zu schaffen, die sowohl funktional als auch ästhetisch ansprechend ist.
Liste der Einzelteile:
docs.google.com/spreadsheets/d/1Ay6-aW4nAt…
Schritt 1: Fall drucken
Um das Gerät zu drucken, laden Sie meine 3D-Modelldateien herunter und senden Sie sie an Ihren 3D-Drucker. Der Drucker, den ich verwendet habe, war ein Prusa i3 Mk2 zusammen mit schwarzem Kunststofffilament. Es wurde festgestellt, dass die Druckqualität bei einer mittleren Auflösungseinstellung am besten ist. Stellen Sie sicher, dass Sie unter dem Gerät strukturelles Material hinzufügen (Handgriffe sehen ohne es schlecht aus). Rückenteile wurden mit der Rückseite bündig mit der Platte gedruckt. Vorderteile wurden mit der Vorderseite bündig mit der Platte bedruckt. Wenn ich einen anderen Fall drucken würde, würde ich eine neue Farbe wie Atomic Purple verwenden wollen, um die Einbauten zu zeigen. Wenn Sie wie ich sind und ein 8-Zoll-Druckbett zum Arbeiten haben, müssen Sie die 4-teilige Version drucken, die wird nach dem Druck zusammengebaut. Wenn Ihr Bett jedoch groß genug ist, um es als Einzelstück zu verwenden, drucken Sie die Vorder- und Rückplatte als eine Einheit und vermeiden Sie das mühsame Zusammenfügen.
Modelldateien:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Schritt 2: Gehäusemontage
Zum Zusammenbau zuerst die vorderen rechten und linken Teile verbinden, indem ein Metalldübel in die Ausrichtungslöcher eingesetzt wird. Als nächstes Sekundenkleber auf die Fugen legen und die Hälfte zusammenkleben. Wiederholen Sie den Vorgang für die unteren rechten und linken Hasen. Danach sollten Sie mit einer zusammengebauten Vorder- und Rückhälfte bleiben. Jetzt ist es an der Zeit, die 5 Metallabstandshalter zum Zusammenführen der Vorder- und Rückplatte anzubringen. Der einfachste Weg, dies zu tun, besteht darin, zuerst die Abstandshalter auf die richtige Länge zu bringen. 13 mm Tiefe hinten 5 mm Tiefe vorne. Machen Sie die Abstandshalter also 18 mm oder etwas weniger. Ich tat dies, indem ich einen längeren Abstandshalter in einen Schraubstockgriff legte und eine Schleifmaschine verwendete, um die Größe zu verkleinern. Achten Sie darauf, nur eine Seite abzuschleifen, da Sie die Fäden auf der anderen benötigen. Nachdem Sie die richtige Länge erhalten haben, kleben Sie alle Schleifer von den Seiten mit normalem Gorilla-Kleber auf die Vorderseite und lassen Sie es trocknen. Stellen Sie sicher, dass sie während dieses Vorgangs alle gerade stehen. Nach dem Trocknen den hervorragenden Kleber abkratzen, der aufgeschäumt ist, damit die Gesichter beim Zusammenfügen bündig sein können. Sehen Sie nun, ob Sie die Rückplatte auf die Abstandshalter stecken können, um sie mit der Vorderseite zu verbinden. Zum Sichern durch die Rückplatte zusammenschrauben. Kleben Sie den Bildschirm auf, indem Sie den Rahmen mit dem Duell-Rohr Gorilla Epoxy auskleiden. Ich habe zu viel aufgetragen, als ich dies tat, und es lief auf dem Bildschirm über. Zum Glück färbt es ab! Klemmen und eine Weile trocknen lassen, dann die Rückseite mit normalem Gorilla-Kleber auskleiden.
** Hinweis: Versuchen Sie, keinen dünnen CA-Kleber (Superkleber) auf die Außenseite zu bekommen, da er das PLA "verbrennt" und eine weiße Farbe färbt.
Schritt 3: Schaltung
Tastenschaltung:
Die Erfassung aller Tastendrücke erfolgt mit einem Teensy ++ 2.0. Digitale Pins auf dem Mikrocontroller werden für alle binären Drucktasten verwendet. Die analogen Pins werden für Tasten verwendet, die mehrere Zustände haben, wie z. B. die Joysticks. Um die digitalen Pins zu verdrahten, verdrahten Sie einfach den digitalen Pin mit dem Schalter, lassen Sie das andere Ende des Schalters mit Masse verdrahten. Wenn die Taste gedrückt wird, wird der Hochspannungsstift nach unten gezogen, damit der Controller erkennt. Sie müssen sich keine Gedanken über Widerstände machen, da diese auf dem Teensy-Board enthalten sind. Um die analogen Pins zu verdrahten, müssen Sie Ihr analoges Gerät mit einer hohen und niedrigen Spannung vorspannen und einen Spannungspegel in diesem Bereich am analogen Pin ablesen. Für die Joysticks gibt es 3 Eingänge für jede Achse. Liefern Sie 5V an einen der Pins, GND an einen anderen und die Spannungsleseleitung an den letzten. Stellen Sie sicher, dass Sie dies richtig anschließen, sonst funktioniert es nicht (verwenden Sie ein Multimeter, um zu sehen, ob sich die Ausgangsspannung am richtigen Pin ändert). Im Wesentlichen ist der Joystick ein variabler Widerstand, der wie ein Spannungsteiler funktioniert. Die Ausgangsspannung am Lesestift variiert je nach Joystickposition zwischen 0 und 5 V. (Normalerweise befinden sich die Vorspannung 5V und GND an den äußeren Eingangspins des Joysticks und der mittlere ist Ihr variabler Spannungslesepin. Wenn 5V und GND sich von meinen unterscheiden, werden Ihre Steuerungen invertiert, dies kann in Software oder Neuverdrahtung behoben werden).
Stromkreis:
Der dreizellige Anker-Akku versorgt das gesamte Gerät mit Strom. Um das Gerät ein-/auszuschalten, wird der Ausgang des Batteriereglers mit einem Schalter und dann mit dem Raspberry Pi verbunden. Da das Gerät bis zu 2A ziehen kann, kann ein einfacher 250mA-Kippschalter den Strombedarf nicht bewältigen. Stattdessen können Sie den Schalter verwenden, um die Gate-Spannung eines PMOS-Transistors zu steuern, um den Zweck eines Schalters zu erfüllen. Verdrahten Sie die 5V der Batterie mit der Quelle eines PMOS-Transistors und dem Schalter. Das andere Ende des Schalters ist mit dem Gate des PMOS-Transistors und mit einem 10K-Widerstand verbunden, der mit GND verbunden ist (wenn der Schalter geöffnet ist, um zu verhindern, dass das Gate schwebt, bindet er ihn über einen Widerstand an GND). Der Drain wird zusammen mit der Masse an den 5V-Eingang des Raspberry Pi angeschlossen. Um den Akku aufzuladen, verdrahten Sie einfach das Micro-USB-Buchsen-Breakout-Board mit den richtigen Ladepins (erweitert den Eingang zum Gehäuse). Ich habe diesen Schalter im Lufteinlass auf der Rückseite des Geräts versteckt. Ursprünglich hatte ich geplant, das Gerät stattdessen über den Akkuknopf ein- und ausschalten zu lassen, indem ich ihn für eine bestimmte Dauer gedrückt hielt, leider ging mir der Platz aus und ich musste die einfache Implementierung vornehmen. Dieses alternative Design ist im folgenden Schema dargestellt.
Audio-Schaltung:
Für das Audio wollte ich, dass der Ton natürlich aus den Lautsprechern abgespielt wird (wenn nicht stummgeschaltet) und in die Kopfhörer umgeleitet wird, wenn sie angeschlossen sind. Glücklicherweise sind viele der 3,5-mm-Kopfhörerbuchsen mechanisch dazu in der Lage. Wenn ein Stecker eingesteckt wird, verbiegen sich die Lautsprecherkabel und erzeugen einen offenen Stromkreis, wodurch verhindert wird, dass das Signal die Lautsprecher erreicht. Da die Lautsprecher eine größere Last darstellen, muss das Audiosignal verstärkt werden, um es hören zu können. Dies geschieht mit einem Stereo-Klasse-D-Verstärker, den ich bei adafruit gefunden habe. Bias den Verstärker einfach mit 5V und GND vor. Wir haben keine differentiellen Audioeingänge, also verdrahten Sie den linken und rechten Lautsprecher mit den positiven Anschlüssen und binden Sie die negativen Anschlüsse an GND. Die Verstärkung wird mit dem Jumper eingestellt. Ich stelle die Verstärkung auf das Maximum ein und ändere die Amplitude der ausgegebenen Audiosignale über die Software, um die Lautstärke anzupassen. Um das Gerät stummzuschalten, habe ich einen NMOS-Transistor, der die 5V-Vorspannung steuert. Dieses NMOS-Transistor-Gate wird vom Teensy gesteuert. Ein Problem, das ich habe, ist ein konstantes Hochfrequenzrauschen in den externen Lautsprechern. Ich werde dies auf einem Oszilloskop analysieren, kann von der 5-V-Vorspannung kommen, weil ein Regler an der Batterie schaltet oder die Leitungen irgendwo HF aufnehmen. Achten Sie außerdem darauf, die rechte und linke Leitung zu verdrehen, um elektromagnetische Störungen (EMI) zu minimieren.
Schritt 4: Peripherieschaltungen
Diese Schaltung umfasst die USB-Halterungen und die LED-Anzeige. Bestellen Sie die Platine in meinem Link und schneiden Sie sie mit der Bandsäge entlang der gestrichelten Linie in zwei Hälften. Auf der USB-Seite löten alle die beiden weiblichen USB-Ports auf die Platine. Auf der LED-Seite die 5 LEDs und 5 Widerstände in Reihe löten. 5V, GND, D+, D-können mit Drähten von den entlöteten USBs des Raspberry PI zur Platine verlängert werden. Die LED-Platine kann so platziert werden, dass das Licht durch die Löcher auf der Oberseite des Gehäuses scheint. Verdrahten Sie 5 PWM-Ausgänge des Teensy mit den LEDs zusammen mit GND. Durch Variieren des Tastverhältnisses können Sie die Helligkeit der LEDs verändern.
PCB kaufen:
Schritt 5: Programmierung
Kleiner:
Wenn Sie es genauso verdrahtet haben wie ich, können Sie einfach den Code verwenden, den ich auf Github bereitgestellt habe. Ich würde jedoch empfehlen, es selbst zu schreiben, da Sie das System besser verstehen und es leicht nach Ihren Wünschen manipulieren und anpassen können. Die Programmierung ist sehr einfach, es geht wirklich darum, eine Reihe von if-Anweisungen zu schreiben, um zu überprüfen, ob Ihre Tasten gedrückt wurden. Eine hilfreiche Anleitung von PJRC. Sie können die Arduino-IDE verwenden, um Ihren Code zu schreiben und ihn auf Teensy hochzuladen.
CODE:
github.com/timlindquist/Nintimdo-RP
Digitale Tasten: Dieses Beispiel zeigt, wie ich prüfe, ob der digitale Pin 20 gedrückt wurde und dann den richtigen seriellen Joystick-Befehl ausgibt. Sie können eine beliebige Zahl von 1 bis 32 für die Schaltfläche auswählen, da Retropie sowieso am Anfang ein Controller-Mapping-Setup vornimmt. Joystick. Taste(Tasten: 1-32, Gedrückt=1 Losgelassen=0)
Analoge Tasten:
Im Beispiel ist der rechte Joystick vertikal mit dem analogen Pin 41 verbunden. Die Funktion analogRead(pin) empfängt einen Spannungspegel zwischen 0 und 5V und gibt einen Wert von 0 bis 1023 zurück. Eine ideale Mittelposition würde 2,5V oder 512 entsprechen, Dies war jedoch bei meinem Analogstick nicht der Fall, sodass eine Anpassung vorgenommen werden musste. Dies geschah durch eine unten gezeigte Neuzuordnung. Danach musste ich überprüfen, ob die Grenzen 0 bis 1023 nicht überschritten wurden. Zuletzt wurde der analoge Joystick-Befehl über seriell gesendet, um die analoge Taste Z mit Joystick. Z (Wert 0 bis 1023) zu sein.
Schritt 6: Optionales Dock
Dock:
Dieser Build wäre ohne ein Dock zum Aufladen und einfachen TV-Anschluss nicht vollständig, also habe ich eines in den Bildern unten entworfen. Die 3D-Modelle sind zusammen mit den anderen in meinem Github-Paket verfügbar.
Modelle:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Schritt 7: Ergebnisse
Im Nachhinein wünschte ich, ich hätte den HDMI-Ausgang mit einer Platine anstelle einer vorgekauften Wandhalterung. Dies hätte in Wirklichkeit viel Platz gespart. Ich musste das Kabel spiralförmig verstauen, um es zu vermeiden, es zu schneiden und die 19 Drähte erneut zu verlöten. Ich bin hin und her gerissen, einen kleineren Akku zu verwenden, da die Zellenhöhe mein limitierender Faktor bei der Dicke des gesamten Geräts war. Eine Reduzierung würde sich jedoch negativ auf meine Akkulaufzeit auswirken.
Insgesamt hat mich das rund 350 Dollar gekostet. Dies beinhaltet nicht den Himbeer-Pi, den ich beim Versuch, die Größe zu rasieren, zerbrochen habe … Ich bin immer noch glücklich, dass ich es ausprobiert habe. Es war ein lustiges Sommerprojekt, um zu sehen, ob ich es so kompakt wie möglich machen und gleichzeitig viele coole Funktionen einbauen konnte.
Empfohlen:
MIDI-Sonar "Theremin": 10 Schritte (mit Bildern)
MIDI-Sonar "Theremin": Dies ist ein Musikinstrument, das zwei Sonar-Abstandssensoren verwendet, um die Tonhöhe und Qualität der Noten zu steuern. Es ist natürlich kein Theremin, aber "Theremin" ist zum Oberbegriff für Instrumente geworden, die durch Winken mit den Händen gespielt werden
Widerstandsspeicherplatzsystem "Resys": 7 Schritte (mit Bildern)
Resistor Storage Location System "Resys": Dies ist ein System, mit dem Sie Ihre Widerstände leicht finden können. Suchen Sie nach dem gewünschten Wert, und die richtige Schublade leuchtet. Dieses System kann auf die gewünschte Anzahl von Schubladen erweitert werden
"Alexa, sende mir den Text an _____": 9 Schritte (mit Bildern)
„Alexa, sende mir den Text an _____“: Hören Sie ein Lied, das Sie mitsingen möchten? Normalerweise müsstest du den Namen des Songs in Google eingeben, gefolgt von dem Wort "Lyrics". Sie würden normalerweise auch eine Menge Tippfehler machen, falsch klicken
Einfacher LED-Farbwechsel "Kerze": 5 Schritte (mit Bildern)
Einfacher LED-Farbwechsel "Kerze": Dies ist ein einfaches Farbwechsellicht, das sich hervorragend für Kinder und Erwachsene eignet. Sieht in einem schwach beleuchteten Raum wunderschön aus, ideal für die Feiertage und macht ein ziemlich cooles Nachtlicht
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird