Πίνακας περιεχομένων:

Σπιτική κονσόλα παιχνιδιών- "NinTIMdo RP": 7 βήματα (με εικόνες)
Σπιτική κονσόλα παιχνιδιών- "NinTIMdo RP": 7 βήματα (με εικόνες)

Βίντεο: Σπιτική κονσόλα παιχνιδιών- "NinTIMdo RP": 7 βήματα (με εικόνες)

Βίντεο: Σπιτική κονσόλα παιχνιδιών-
Βίντεο: Ο Θύμιος μαθαίνει τα μυστικά… ή και όχι 😄 #otheiosangelos 2024, Νοέμβριος
Anonim
Image
Image
Σπιτική κονσόλα παιχνιδιών
Σπιτική κονσόλα παιχνιδιών

Σύνδεση με ιστοσελίδα με πιο εμπεριστατωμένες εξηγήσεις, λίστα μερών και αρχεία

timlindquist.me

Αυτό το έργο ήταν να δημιουργήσει ένα φορητό σύστημα παιχνιδιών που θα μπορούσε επίσης να λειτουργήσει ως φορητός υπολογιστής. Ο στόχος ήταν να δημιουργηθεί μια κονσόλα λειτουργική αλλά και αισθητικά ευχάριστη.

Λίστα μερών:

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

Βήμα 1: Θήκη εκτύπωσης

Θήκη εκτύπωσης
Θήκη εκτύπωσης
Θήκη εκτύπωσης
Θήκη εκτύπωσης

Για να εκτυπώσετε τη συσκευή, κατεβάστε τα αρχεία μοντέλου 3D και στείλτε τα στον τρισδιάστατο εκτυπωτή σας. Ο εκτυπωτής που χρησιμοποίησα ήταν Prusa i3 Mk2 μαζί με μαύρο πλαστικό νήμα. Η ποιότητα εκτύπωσης βρέθηκε ότι είναι η καλύτερη σε μια ρύθμιση μεσαίας ανάλυσης. Βεβαιωθείτε ότι έχετε προσθέσει δομικό υλικό κάτω από τη συσκευή (τα χέρια συγκράτησης θα φαίνονται φτωχά χωρίς αυτήν). Τα πίσω κομμάτια τυπώθηκαν με την πλάτη στο ίδιο επίπεδο με την πιατέλα. Τα μπροστινά κομμάτια εκτυπώθηκαν με την μπροστινή όψη να ευθυγραμμίζεται με την πιατέλα. Αν ήθελα να εκτυπώσω μια άλλη θήκη, θα ήθελα να χρησιμοποιήσω ένα νέο χρώμα όπως το ατομικό μοβ για να αναδείξω τα εσωτερικά. Αν είστε σαν εμένα και έχετε ένα κρεβάτι εκτύπωσης 8 ιντσών για να συνεργαστείτε, θα πρέπει να εκτυπώσετε την έκδοση 4 τεμαχίων που θα συναρμολογηθεί μετά την εκτύπωση. Ωστόσο, εάν το κρεβάτι σας είναι αρκετά μεγάλο για να το κάνετε ως ένα μόνο κομμάτι, εκτυπώστε την μπροστινή και την πίσω πλάκα ως ενιαία μονάδα και αποφύγετε τον πόνο να τα συνδυάσετε.

Μοντέλα αρχείων:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Βήμα 2: Συνέλευση θήκης

Συνέλευση θήκης
Συνέλευση θήκης
Συνέλευση θήκης
Συνέλευση θήκης

Για να συναρμολογήσετε πρώτα ενώστε τα μπροστινά δεξιά και αριστερά κομμάτια εισάγοντας ένα μεταλλικό πείρο στις οπές ευθυγράμμισης. Στη συνέχεια τοποθετήστε σούπερ κόλλα στις αρθρώσεις και στερεώστε το μισό μαζί. Επαναλάβετε τη διαδικασία για τα κάτω δεξιά και αριστερά. Μετά από αυτό θα πρέπει να μείνετε με ένα συναρμολογημένο μπροστινό και πίσω μισό. Τώρα ήρθε η ώρα να στερεώσουμε τις 5 μεταλλικές προεξοχές για τη συγχώνευση της μπροστινής και της πίσω πλάκας. Ο ευκολότερος τρόπος για να γίνει αυτό είναι να βγάλετε πρώτα τη βάση στο σωστό μήκος. 13 mm βάθος πίσω 5 mm βάθος μπροστά. Έτσι, κάντε τις αναμονές 18 mm ή ελαφρώς λιγότερες. Το έκανα αυτό τοποθετώντας μια μακρύτερη στάση σε μια λαβή και χρησιμοποιώντας ένα μύλο για να ξυρίσω το μέγεθος. Φροντίστε να αλέσετε μόνο τη μία πλευρά, επειδή θα χρειαστείτε τα νήματα από την άλλη. Αφού πάρετε το σωστό μήκος, κολλήστε όλο το μύλο από την μπροστινή όψη χρησιμοποιώντας κανονική κόλλα γορίλα και αφήστε το να στεγνώσει. Βεβαιωθείτε ότι όλοι στέκονται όρθιοι κατά τη διάρκεια αυτής της διαδικασίας. Μόλις στεγνώσει, ξύστε την εξαιρετική κόλλα που αφρίζει, έτσι ώστε τα πρόσωπα να μπορούν να ξεπλυθούν όταν ενωθούν. Τώρα δείτε αν μπορείτε να εισάγετε την πίσω πλάκα στις αναμονές για να ενώσετε με την μπροστινή πλευρά. Βιδώστε μαζί στην πίσω πλάκα για να ασφαλίσετε. Κολλήστε την οθόνη με επένδυση του πλαισίου με τον σωλήνα μονομαχίας Gorilla Epoxy. Έβαλα πάρα πολύ όταν το έκανα αυτό και ξεχείλισε στην οθόνη. Ευτυχώς σβήνει! Σφίξτε και αφήστε να στεγνώσει για λίγο και στη συνέχεια στρώστε την πίσω πλευρά με κανονική κόλλα γορίλλα.

** Σημείωση: Προσπαθήστε να μην πάρετε λεπτή κόλλα CA (σούπερ κόλλα) στο εξωτερικό, καθώς θα "κάψει" το PLA και θα λερώσει ένα λευκό χρώμα.

Βήμα 3: Κυκλώματα

Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων

Κύκλωμα κουμπιών:

Η καταγραφή όλων των πιέσεων κουμπιών γίνεται χρησιμοποιώντας ένα Teensy ++ 2.0. Οι ψηφιακές ακίδες του μικροελεγκτή χρησιμοποιούνται για τυχόν δυαδικά κουμπιά. Οι αναλογικές ακίδες χρησιμοποιούνται για κουμπιά που έχουν πολλαπλές καταστάσεις, όπως τα χειριστήρια. Για να συνδέσετε τους ψηφιακούς πείρους, απλώς συνδέστε τον ψηφιακό πείρο στον διακόπτη, τοποθετήστε το άλλο άκρο του διακόπτη συνδεδεμένο στη γείωση. Όταν πατηθεί το κουμπί, θα τραβήξει τον πείρο υψηλής τάσης προς τα κάτω για να αισθανθεί ο ελεγκτής. Δεν χρειάζεται να ανησυχείτε για τις αντιστάσεις καθώς περιλαμβάνονται στον πίνακα Teensy. Για να συνδέσετε τους αναλογικούς πείρους, θα πρέπει να κάνετε πόλωση στην αναλογική σας συσκευή με υψηλή και χαμηλή τάση και να διαβάσετε ένα επίπεδο τάσης με αυτό το εύρος στον αναλογικό πείρο. Για τα joystick υπάρχουν 3 είσοδοι για κάθε άξονα. Τροφοδοτήστε 5V σε μία από τις ακίδες, GND σε άλλη και τη γραμμή ανάγνωσης τάσης στην τελευταία. Βεβαιωθείτε ότι το έχετε συνδέσει σωστά, διαφορετικά δεν θα λειτουργήσει (χρησιμοποιήστε ένα πολύμετρο για να δείτε αν η τάση εξόδου αλλάζει στο σωστό πείρο.) Ουσιαστικά το χειριστήριο είναι μια μεταβλητή αντίσταση που λειτουργεί σαν διαχωριστής τάσης. Η τάση εξόδου στον πείρο ανάγνωσης θα κυμαίνεται μεταξύ 0 και 5V ανάλογα με τη θέση των χειριστηρίων..).

Κύκλωμα ισχύος:

Η μπαταρία Anker τριών κυττάρων παρέχει ενέργεια σε ολόκληρη τη συσκευή. Για να ενεργοποιήσετε/απενεργοποιήσετε τη συσκευή, η έξοδος του ρυθμιστή μπαταρίας συνδέεται με έναν διακόπτη και, στη συνέχεια, στο Raspberry Pi. Επειδή η συσκευή μπορεί να τραβήξει έως και 2Α, ένας απλός διακόπτης εναλλαγής 250mA δεν μπορεί να χειριστεί την τρέχουσα απαίτηση. Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε το διακόπτη για να ελέγξετε την τάση της πύλης σε ένα τρανζίστορ PMOS για να εξυπηρετήσει τον σκοπό ενός διακόπτη. Συνδέστε τα 5V της μπαταρίας στην πηγή ενός τρανζίστορ PMOS και του διακόπτη. Το άλλο άκρο του διακόπτη είναι καλωδιωμένο στην πύλη του τρανζίστορ PMOS και σε μια αντίσταση 10Κ συνδεδεμένη στο GND (όταν ο διακόπτης είναι ανοιχτός για να εμποδίσει την πύλη να την κολλήσει, τη συνδέει με GND μέσω αντίστασης). Το Drain συνδέεται με την είσοδο 5V στο Raspberry Pi μαζί με το έδαφος. Για να φορτίσετε την μπαταρία απλά συνδέστε τη θηλυκή θύρα micro USB με τις σωστές ακίδες φόρτισης (επεκτείνει την είσοδο στην θήκη). Έκρυψα αυτόν τον διακόπτη στην εισαγωγή αέρα στο πίσω μέρος της συσκευής. Αρχικά σχεδίαζα να ενεργοποιήσω και να απενεργοποιήσω το κουμπί της μπαταρίας κρατώντας τη για αρκετή διάρκεια, δυστυχώς έμεινα από χώρο και έπρεπε να κάνω την απλή εφαρμογή. Αυτός ο εναλλακτικός σχεδιασμός φαίνεται στο παρακάτω σχήμα.

Κύκλωμα ήχου:

Για τον ήχο ήθελα ο ήχος να αναπαράγεται φυσικά από τα ηχεία (αν δεν είναι σε σίγαση) και να ανακατευθύνεται σε ακουστικά αν είναι συνδεδεμένα. Ευτυχώς, πολλά από τα θηλυκά βύσματα κεφαλής 3,5 χιλιοστών είναι μηχανικά ικανά να το κάνουν αυτό. Όταν τοποθετηθεί ένα αρσενικό βύσμα, τα καλώδια των ηχείων θα λυγίσουν και θα δημιουργήσουν ένα ανοιχτό κύκλωμα, εμποδίζοντας έτσι το σήμα να φτάσει στα ηχεία. Δεδομένου ότι τα ηχεία έχουν μεγαλύτερο φορτίο, το ηχητικό σήμα πρέπει να ενισχυθεί για να είναι σε θέση να το ακούσει. Αυτό γίνεται χρησιμοποιώντας έναν στερεοφωνικό ενισχυτή κατηγορίας D που βρήκα στο adafruit. Απλώς προκαταλάβετε τον ενισχυτή με 5V και GND. Δεν έχουμε διαφορικές εισόδους ήχου, οπότε συνδέστε το αριστερό και το δεξί ηχείο στους θετικούς ακροδέκτες και συνδέστε τους αρνητικούς ακροδέκτες στο GND. Το κέρδος ρυθμίζεται χρησιμοποιώντας το βραχυκυκλωτήρα. Ρυθμίζω το κέρδος στο μέγιστο και αλλάζω το εύρος των σημάτων εξόδου ήχου μέσω λογισμικού για να ρυθμίσω την ένταση. Για σίγαση της συσκευής έχω ένα τρανζίστορ NMOS που ελέγχει την προκατάληψη 5V. Αυτή η πύλη τρανζίστορ NMOS ελέγχεται από το Teensy. Ένα πρόβλημα που έχω είναι ότι υπάρχει σταθερός θόρυβος υψηλής συχνότητας στα εξωτερικά ηχεία. Θα το αναλύσω σε έναν παλμογράφο, μπορεί να προέρχεται από την προκατάληψη των 5V εξαιτίας κάποιας αλλαγής ρυθμιστή στην μπαταρία ή οι γραμμές μπορεί να σηκώνουν κάπου RF. Επίσης, φροντίστε να στρίψετε τη δεξιά και την αριστερή γραμμή για να ελαχιστοποιήσετε τις ηλεκτρομαγνητικές παρεμβολές (EMI).

Βήμα 4: Περιφερειακό κύκλωμα

Περιφερειακά κυκλώματα
Περιφερειακά κυκλώματα
Περιφερειακά κυκλώματα
Περιφερειακά κυκλώματα

Αυτό το κύκλωμα περιλαμβάνει τις βάσεις USB και την ένδειξη LED. Παραγγείλετε το PCB στον σύνδεσμό μου και κόψτε το στη μέση κατά μήκος με διακεκομμένη γραμμή χρησιμοποιώντας πριόνι ταινίας. Στην πλευρά USB, κολλήστε όλες τις δύο θηλυκές θύρες USB στην πλακέτα. Στην πλευρά LED συγκολλήστε 5 LED και 5 αντιστάσεις σε σειρά. 5V, GND, D+, D-μπορεί να επεκταθεί χρησιμοποιώντας καλώδια από τα αποσυλλεκμένα USB του Raspberry PI στο PCB. Το PCB LED μπορεί να τοποθετηθεί έτσι ώστε το φως να λάμπει μέσα από τις τρύπες στο πάνω μέρος της θήκης. Καλώδιο 5 εξόδους PWM του Teensy στα LED μαζί με GND. Μεταβάλλοντας τον κύκλο λειτουργίας, μπορείτε να αλλάξετε τη φωτεινότητα των LED.

Αγορά PCB:

Βήμα 5: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός
Προγραμματισμός
Προγραμματισμός
Προγραμματισμός
Προγραμματισμός

Έφηβος:

Εάν το συνδέσατε ακριβώς το ίδιο με μένα, μπορείτε απλά να χρησιμοποιήσετε τον κωδικό που παρείχα στο Github. Ωστόσο, θα συνιστούσα να το γράψετε μόνοι σας καθώς θα κατανοήσετε καλύτερα το σύστημα και θα μπορείτε εύκολα να το χειριστείτε και να το προσαρμόσετε σύμφωνα με τις προτιμήσεις σας. Ο προγραμματισμός είναι πολύ απλός, καταλήγει πραγματικά στο να γράψετε μια δέσμη δηλώσεων if για να ελέγξετε αν πατήθηκαν τα κουμπιά σας. Μια χρήσιμη οδηγία από το PJRC. Μπορείτε να χρησιμοποιήσετε το Arduino IDE για να γράψετε τον κωδικό σας καθώς και να ανεβάσετε στο Teensy.

ΚΩΔΙΚΑΣ:

github.com/timlindquist/Nintimdo-RP

Digitalηφιακά κουμπιά: Αυτό το παράδειγμα με δείχνει να ελέγχω αν έχει πατηθεί το ψηφιακό pin 20 και στη συνέχεια να εξάγω τη σωστή σειριακή εντολή χειριστηρίου. Μπορείτε να επιλέξετε οποιοδήποτε 1 έως 32 για το κουμπί, επειδή η Retropie κάνει μια ρύθμιση αντιστοίχισης ελεγκτή στην αρχή ούτως ή άλλως. Joystick.button (κουμπιά: 1-32, Πατημένο = 1 Κυκλοφόρησε = 0)

Αναλογικά κουμπιά:

Στο παράδειγμα, η σωστή κατακόρυφη χειριστήριο συνδέεται με τον αναλογικό πείρο 41. Η λειτουργία analogRead (pin) λαμβάνει ένα επίπεδο τάσης μεταξύ 0 και 5V και επιστρέφει μια τιμή από 0 έως 1023. Μια ιδανική κεντρική θέση θα αντιστοιχεί σε 2,5V ή 512, Ωστόσο, αυτό δεν ίσχυε για το αναλογικό μου ραβδί, οπότε έπρεπε να γίνει προσαρμογή. Αυτό έγινε μέσω μιας επανασύνδεσης που φαίνεται παρακάτω. Μετά από αυτό χρειάστηκε να ελέγξω αν τα όρια δεν ξεπεράστηκαν από το 0 έως το 1023. Τέλος, η αναλογική εντολή χειριστηρίου στάλθηκε μέσω σειριακού σήματος ως το αναλογικό κουμπί Z χρησιμοποιώντας το Joystick. Z (τιμή 0 έως 1023).

Βήμα 6: Προαιρετική βάση σύνδεσης

Προαιρετικό Dock
Προαιρετικό Dock
Προαιρετικό Dock
Προαιρετικό Dock
Προαιρετικό Dock
Προαιρετικό Dock

Προκυμαία:

Αυτή η κατασκευή δεν θα ήταν πλήρης χωρίς βάση σύνδεσης για φόρτιση και εύκολη σύνδεση τηλεόρασης, οπότε σχεδίασα ένα στις παρακάτω εικόνες. Τα τρισδιάστατα μοντέλα είναι διαθέσιμα με τα άλλα στο πακέτο μου Github.

Μοντέλα:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Βήμα 7: Αποτελέσματα

Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα

Εκ των υστέρων θα ήθελα να έκανα τη θύρα εξόδου HDMI με PCB αντί για μια προ -αγορασμένη γυναικεία βάση τοίχου. Αυτό θα είχε εξοικονομήσει πολύ χώρο στην πραγματικότητα έπρεπε να βάλω το καλώδιο σε μια σπείρα για να αποφύγω να το κόψω και να ξανακολλήσω τα 19 σύρματα. Είμαι διχασμένος να πάω με μια μικρότερη μπαταρία επειδή το ύψος της κυψέλης ήταν ο περιοριστικός παράγοντας μου στο πάχος ολόκληρης της συσκευής. Ωστόσο, η μείωση αυτού θα επηρεάσει αρνητικά τη διάρκεια ζωής της μπαταρίας μου.

Συνολικά, αυτό μου κόστισε περίπου 350 $. Αυτό δεν περιλαμβάνει το βατόμουρο πι που έσπασα προσπαθώντας να ξυρίσω το μέγεθος … Ακόμα χαρούμενος που το δοκίμασα. Aταν ένα διασκεδαστικό καλοκαιρινό έργο για να διαπιστώσω αν θα μπορούσα να το κάνω όσο το δυνατόν πιο συμπαγές, ενώ ταυτόχρονα προσαρμόζω πολλά δροσερά χαρακτηριστικά στο εσωτερικό του.

Συνιστάται: