Πίνακας περιεχομένων:
- Βήμα 1: Συστατικά
- Βήμα 2: Η Υπολογιστική Ενότητα 3
- Βήμα 3: Διασύνδεση της μονάδας LCD
- Βήμα 4: Το πληκτρολόγιο και ο ήχος
- Βήμα 5: Η δύναμη
- Βήμα 6: Ρύθμιση του συστήματος
- Βήμα 7: Η θήκη και τα κουμπιά με τρισδιάστατη εκτύπωση
- Βήμα 8: Όλοι μαζί και Αντιμετώπιση προβλημάτων
Βίντεο: Retro-CM3: μια ισχυρή κονσόλα παιχνιδιού RetroPie Handled GAME: 8 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Αυτό το διδακτικό είναι εμπνευσμένο από το PiGRRL Zero του adafruit, το αρχικό παιχνίδι Gameboy Zero του Wermy και την Κονσόλα παιχνιδιών GreatScottLab's Handled Game. Αυτές οι κονσόλες παιχνιδιών που βασίζονται σε RetroPie χρησιμοποιούν το raspberry pi zero (W) ως πυρήνα τους. ΑΛΛΑ, αφού έχω κατασκευάσει αρκετές κονσόλες Pi Zero, βρέθηκαν δύο βασικά προβλήματα.
1) Το Raspberry Pi Zero (W) έχει μόνο έναν πυρήνα Cortex-A7 και 512MB RAM, κάτι που είναι εντάξει για είδη NES/SNES/GB. Ωστόσο, όταν προσπάθησα να τρέξω το PS/N64 Emus, η εμπειρία ήταν αρκετά απαράδεκτη. Ακόμα και ορισμένα από τα παιχνίδια του GBA δεν μπορούν να λειτουργήσουν ομαλά (Κάποια καθυστέρηση ήχου, επίσης σε μερικά παιχνίδια NEOGEO όπως το Metal Slug όταν αντιμετωπίζετε περίπλοκες σκηνές) · 2) Τα περισσότερα από τα παιχνίδια της κονσόλας παιχνιδιών χρησιμοποιούν SPI ή TV-out ως διεπαφή οθόνης. Η οθόνη SPI θα χρειαστεί την CPU για να βοηθήσει με το πρόγραμμα οδήγησης buffer καρέ που θα κάνει την εμπειρία του παιχνιδιού χειρότερη και τα fps περιορίζονται επίσης από την ταχύτητα του ρολογιού SPI. Και η ποιότητα εμφάνισης της τηλεόρασης δεν είναι αρκετά καλή.
Σε αυτό το διδακτικό, θα χρησιμοποιήσουμε το RaspberryPi Compute Module 3 και μια οθόνη διασύνδεσης DPI για να δημιουργήσουμε μια απόλυτη κονσόλα παιχνιδιών RetroPie. Θα πρέπει να μπορεί να λειτουργεί ομαλά όλους τους εξομοιωτές και να παρέχει υψηλή ανάλυση και υψηλό ρυθμό καρέ.
Το τελικό μέγεθος της κονσόλας παιχνιδιού είναι 152x64x18mm με μπαταρία έως 2000mAh. Η συνολική κατασκευή κοστίζει περίπου $ 65, συμπεριλαμβανομένου ενός προσαρμοσμένου PCB, όλων των εξαρτημάτων, μιας κάρτας TF 16 GB και μιας μονάδας υπολογισμού RaspberryPi 3 Lite. Καθώς έχω ήδη έναν εκτυπωτή 3D, η θήκη μου κοστίζει μόνο 64 γραμμάρια νήματος PLA.
Ας ξεκινήσουμε.
Σημείωση: Δεδομένου ότι τα αγγλικά δεν είναι η πρώτη μου γλώσσα, εάν διαπιστώσετε λάθη ή κάτι δεν είναι σαφές, ενημερώστε με ευγενικά.
Αυτή είναι η πρώτη μου ανάρτηση στο instructable.com και πραγματικά χρειάζομαι κάθε είδους προτάσεις από εσάς.
Βήμα 1: Συστατικά
Εδώ είναι τα συστατικά που χρειάζεστε για να φτιάξετε την κονσόλα παιχνιδιών. Ορισμένα από τα μέρη μπορεί να μην είναι διαθέσιμα στην περιοχή σας, δοκιμάστε μερικά εναλλακτικά μέρη.
1) Το RaspberryPi Compute Module 3 Lite. Αγοράστε το από το κατάστημα όπου αγοράσατε το RaspberryPi 3B ή δοκιμάστε το στο ebay.
2) LCD 3,2 ιντσών με διεπαφή RGB/DPI. ΒΕΒΑΙΩΘΕΙΤΕ ότι έχετε μια μονάδα LCD διεπαφής RGB/DPI επειδή είναι απαραίτητη η κατασκευή αυτής της κονσόλας. Πήρα το LCD μου από ένα τοπικό e-shop και το ίδιο module μπορεί να βρεθεί στο alibaba. Εάν αγοράσετε μια εναλλακτική μονάδα LCD, ΖΗΤΗΣΤΕ τον πάροχο να σας στείλει τη λεπτομερή παράμετρο και τον κωδικό αρχικοποίησης. Είναι επίσης μια σοφή επιλογή να αγοράσετε τους αντίστοιχους συνδετήρες από το ίδιο κατάστημα, καθώς υπάρχουν τόσοι πολλοί διαφορετικοί τύποι συνδετήρων.
3) ALPS SKPDACD010. Διακόπτης τακτ με διαδρομή 1,75 mm. Αναζητήστε το στο τοπικό κατάστημα ηλεκτρονικών εξαρτημάτων σας.
4) Κάποια άλλα κλειδιά. Χρησιμοποιήστε οποιαδήποτε άλλα πλήκτρα τακτικής που μπορείτε να λάβετε για τα κουμπιά ΕΝΑΡΞΗ/ΕΠΙΛΟΓΗ/ΠΟΛ+/ΠΟΛΟ-.
5) Ηχείο. Οποιοδήποτε ηχείο 8 ohm, 0,5-1,5 W.
6) Μπαταρία. Επέλεξα μπαταρία ιόντων λιθίου 34*52*5.0mm 1S 1000mAh x2.
7) Μερικά IC. STM32F103C8T6, IP5306, TDA2822, NC7WZ16, SY8113, PT4103 κ.λπ.
8) Μερικοί σύνδεσμοι. USB-Micro Female, PJ-237 (υποδοχή τηλεφώνου), υποδοχή TF-Card, DDR2 SODIMM κ.λπ.
9) Ορισμένα παθητικά συστατικά. Αντιστάσεις, πυκνωτές και επαγωγείς.
10) Ένα προσαρμοσμένο PCB. Τα σχηματικά αρχεία και τα αρχεία PCB παρέχονται στο τέλος. Θυμηθείτε να κάνετε αλλαγές σε αυτό εάν χρησιμοποιείτε εναλλακτικά μέρη.
11) Ένας εκτυπωτής 3D. Βεβαιωθείτε ότι είναι σε θέση να εκτυπώσει μέρη έως το μέγεθος 152*66*10 mm.
12) Αρκετά νήματα PLA.
Βήμα 2: Η Υπολογιστική Ενότητα 3
Το Raspberry Pi Compute Module 3 είναι ένας πολύ ισχυρός βασικός πίνακας για την πρωτοτυπία ορισμένων gadgets ενδιαφέροντος. Αναλυτική εισαγωγή μπορείτε να βρείτε εδώ. Και μερικές χρήσιμες πληροφορίες μπορείτε να βρείτε εδώ.
Η μονάδα χρησιμοποιεί μια υποδοχή τύπου DDR2 SODIMM, η οποία είναι ελαφρώς πιο δύσκολη στη χρήση. Επιπλέον, όλες οι καρφίτσες GPIO του πυρήνα BCM2837 BANK1 και BANK0 οδηγούνται προς τα έξω.
Για να ξεκινήσουμε τη χρήση της μονάδας υπολογισμού, πρέπει να παρέχουμε διάφορες τάσεις: 1.8V, 3.3V, 2.5V και 5.0V. Μεταξύ αυτών, 1,8V και 3,3V χρησιμοποιούνται για την τροφοδοσία ορισμένων περιφερειακών που χρειάζονται περίπου 350mA το καθένα. Το καλώδιο τροφοδοσίας 2,5V οδηγεί το DAC TV-out και μπορεί να συνδεθεί με 3,3V, καθώς δεν χρειαζόμαστε δυνατότητα εξόδου τηλεόρασης. Το 5.0V θα πρέπει να είναι συνδεδεμένο με τις ακίδες VBAT και τροφοδοτεί τον πυρήνα. Η είσοδος VBAT δέχεται τάσεις από 2,5V έως 5,0V και βεβαιωθείτε ότι το τροφοδοτικό μπορεί να εξάγει έως και 3,5W. Οι ακίδες VCCIO (GPIO_XX-XX_VREF) μπορούν να συνδεθούν σε 3,3V, καθώς χρησιμοποιούμε επίπεδο CMOS 3,3V. Ο πείρος SDX_VREF θα πρέπει επίσης να είναι συνδεδεμένος σε 3,3V.
Όλοι οι ακροδέκτες HDMI, DSI, CAM δεν χρησιμοποιούνται εδώ, απλώς αφήστε τους να επιπλέουν. Θυμηθείτε να συνδέσετε τον πείρο EMMC_DISABLE_N στα 3.3V, καθώς θα χρησιμοποιήσουμε μια κάρτα TF ως σκληρό δίσκο αντί για τη δυνατότητα εκκίνησης USB.
Στη συνέχεια, συνδέστε τις καρφίτσες SDX_XXX στους αντίστοιχους πείρους στην υποδοχή κάρτας TF και δεν χρειάζονται αντιστάσεις έλξης προς τα κάτω ή προς τα κάτω. Σε αυτό το βήμα, είμαστε έτοιμοι να ξεκινήσουμε το Raspberry Pi Compute Module 3. Ενεργοποιήστε την τροφοδοσία με σειρά μείωσης: 5V, 3.3V και στη συνέχεια 1.8V, το σύστημα θα πρέπει να μπορεί να εκκινήσει, αλλά καθώς δεν υπάρχει έξοδος συσκευή, απλά δεν ξέρουμε αν λειτουργεί καλά. Έτσι, πρέπει να προσθέσουμε μια οθόνη για να την ελέγξουμε στο επόμενο βήμα.
Αλλά πριν προχωρήσουμε, πρέπει πρώτα να πούμε στο Pi ποια είναι η λειτουργία κάθε GPIO. Εδώ παρέχω ορισμένα αρχεία, τοποθετήστε "dt-blob.bin", "bcm2710-rpi-cm3.dtb" και "config.txt" στο φάκελο εκκίνησης μιας κάρτας TF που αναβοσβήνει πρόσφατα. Τοποθετήστε το "dcdpi.dtbo" στο φάκελο /boot /overlay. Το dt-blob.bin ορίζει την προεπιλεγμένη λειτουργία κάθε GPIO. Αλλάζω το GPIO14/15 σε κανονικό GPIO και μετακινώ τη λειτουργία UART0 σε GPIO32/33 καθώς χρειαζόμαστε το GPIO14/15 για διασύνδεση με τη μονάδα LCD. Λέω επίσης στο Pi να χρησιμοποιήσει το GPIO40/41 ως λειτουργία pwm και να το κάνει να είναι η δεξιά και η αριστερή έξοδος ήχου. Το dcdpi.dtbo είναι ένα αρχείο επικάλυψης δέντρου συσκευής και λέει στο Pi ότι θα χρησιμοποιήσουμε το GPIO0-25 ως συνάρτηση DPI. Τέλος, γράφουμε "dtoverly = dcdpi" για να γνωρίζουμε το Pi για να φορτώσει το αρχείο επικάλυψης που δώσαμε.
Αυτή τη στιγμή, τα Raspberry Pi κατανοούν πλήρως ποια λειτουργία πρέπει να χρησιμοποιηθεί για κάθε GPIO και είμαστε έτοιμοι να προχωρήσουμε.
Βήμα 3: Διασύνδεση της μονάδας LCD
Καθώς μπορεί να χρησιμοποιηθεί διαφορετική μονάδα LCD διεπαφής DPI/RGB σε αυτήν την κονσόλα, εδώ παίρνουμε ως παράδειγμα τη μονάδα που χρησιμοποιείται στη δική μου κατασκευή. Και αν επιλέξατε διαφορετικό, ελέγξτε τον ορισμό pin της μονάδας σας και απλώς πραγματοποιήστε τις συνδέσεις σύμφωνα με τα ονόματα των pin όπως φαίνεται στο παράδειγμα.
Υπάρχουν δύο διεπαφές στη μονάδα LCD: ένα SPI και ένα DPI. Το SPI χρησιμοποιείται για τη διαμόρφωση των αρχικών ρυθμίσεων του IC προγράμματος οδήγησης LCD και μπορούμε να τα συνδέσουμε σε οποιοδήποτε GPIO που δεν χρησιμοποιείται. Συνδέστε μόνο τις καρφίτσες Reset, CS, MOSI (SDA/SDI) και SCLK (SCL), ο πείρος MISO (SDO) δεν χρησιμοποιείται. Για την προετοιμασία του προγράμματος οδήγησης LCD, εδώ χρησιμοποιούμε τη βιβλιοθήκη BCM2835 C για να οδηγήσουμε τα GPIO και εξάγουμε μια συγκεκριμένη ακολουθία προετοιμασίας που παρέχεται από τον προμηθευτή της μονάδας. Το αρχείο προέλευσης μπορεί να βρεθεί αργότερα σε αυτό το εκπαιδευτικό.
Εγκαταστήστε τη βιβλιοθήκη BCM2835 C σε άλλο Raspberry Pi 3 σύμφωνα με τις οδηγίες εδώ. Στη συνέχεια, χρησιμοποιήστε την εντολή "gcc -o lcd_init lcd_init.c -lbcm2835" για να μεταγλωττίσετε το αρχείο προέλευσης. Στη συνέχεια, προσθέστε μια νέα γραμμή στο αρχείο /etc/rc.local πριν από την "έξοδο 0": "/home/pi/lcd_init" (υποθέστε ότι έχετε βάλει την μεταγλωττισμένη εφαρμογή κάτω από το φάκελο/home/pi). Θα πρέπει να τονιστεί ότι το αρχείο προέλευσης χρησιμοποιείται μόνο για τη συγκεκριμένη μονάδα που χρησιμοποίησα και για διαφορετική μονάδα LCD, απλώς ζητήστε από τον προμηθευτή μια ακολουθία προετοιμασίας και τροποποιήστε το αρχείο προέλευσης ανάλογα. Αυτή η διαδικασία είναι αρκετά δύσκολη γιατί σε αυτό το σημείο δεν φαίνεται τίποτα από την οθόνη, γι 'αυτό σας προτείνω ανεπιφύλακτα να το κάνετε σε μια πλακέτα RPI-CMIO καθώς βγάζει όλα τα GPIO, ώστε να μπορείτε να το εντοπίσετε σφάλματα με uart ή wlan.
Το παρακάτω μέρος είναι εύκολο, απλώς συνδέστε τους αριστερούς πείρους της μονάδας LCD σύμφωνα με εδώ. Εξαρτάται από το είδος της μονάδας LCD που έχετε, επιλέξτε τη λειτουργία RGB με σύνεση. Για μένα, εδώ επέλεξα το DPI_OUTPUT_FORMAT_18BIT_666_CFG2 (λειτουργία 6). Αλλάξτε τη γραμμή "dpi_output_format = 0x078206" σύμφωνα με την επιλογή σας. Και αν η μονάδα LCD χρησιμοποιεί διαφορετική ανάλυση, προσαρμόστε το "hdmi_timings = 480 0 41 60 20 800 0 5 10 10 0 0 0 60 0 32000000" ανατρέξτε στο αρχείο εδώ.
Εάν όλες οι ρυθμίσεις είναι σωστές, στην επόμενη εκκίνηση του Pi σας, θα πρέπει να δείτε την οθόνη στην οθόνη μετά από μαύρο 30-40 δευτερόλεπτα (από την τροφοδοσία στο σύστημα φορτώνει το σενάριο προετοιμασίας SPI).
Βήμα 4: Το πληκτρολόγιο και ο ήχος
Έχουμε κάνει με τον πυρήνα και την έξοδο στα δύο τελευταία βήματα. Τώρα ας περάσουμε στο μέρος Εισαγωγή.
Μια κονσόλα παιχνιδιών χρειάζεται κλειδιά και κουμπιά. Εδώ χρειαζόμαστε 10 διακόπτες ALPS SKPDACD010 ως τα κουμπιά πάνω/κάτω/δεξιά/αριστερά, LR και A/B/X/Y. Τα κανονικά πλήκτρα επιτοίχιας τοποθέτησης 6x6 χρησιμοποιούνται για άλλα κουμπιά, όπως εκκίνηση/επιλογή και αύξηση/μείωση της έντασης.
Υπάρχουν δύο τρόποι διασύνδεσης των κουμπιών με το Raspberry Pi. Ένας τρόπος είναι η σύνδεση των κουμπιών απευθείας στα GPIO στο Pi και ένας άλλος τρόπος είναι η σύνδεση των κουμπιών σε MCU και διασύνδεση με το πρωτόκολλο Pi μέσω USB HID. Εδώ επέλεξα το δεύτερο, επειδή χρειαζόμαστε ένα MCU για να ασχοληθεί με την ισχύ στην ακολουθία ούτως ή άλλως και είναι ασφαλέστερο να κρατάμε το Pi μακριά από την ανθρώπινη επαφή.
Έτσι, συνδέστε τα κλειδιά στο STM32F103C8T6 και, στη συνέχεια, συνδέστε το MCU στο Pi με USB. Ένα παράδειγμα του προγράμματος MCU μπορεί να βρεθεί στο τέλος αυτού του βήματος. Αλλάξτε τους ορισμούς των pin στο hw_config.c και μεταγλωττίστε τον με τη βιβλιοθήκη USB του MCU που βρίσκεται εδώ. Or μπορείτε απλώς να κατεβάσετε το εξάγωνο αρχείο απευθείας στο MCU, αρκεί να μοιράζεστε τους ίδιους ορισμούς pin στο σχηματικό στο τέλος αυτού του οδηγού.
Όσον αφορά τις εξόδους ήχου, το επίσημο σχήμα του Raspberry Pi 3 B δίνει έναν καλό τρόπο φιλτραρίσματος του κύματος pwm και το ίδιο κύκλωμα θα πρέπει να λειτουργεί τέλεια εδώ. Ένα πράγμα που πρέπει να επισημανθεί είναι ότι θυμηθείτε να προσθέσετε τη γραμμή "audio_pwm_mode = 2" στο τέλος του config.txt για να μειώσετε το θόρυβο της εξόδου ήχου.
Για να οδηγήσετε το ηχείο, απαιτείται πρόγραμμα οδήγησης ηχείου. Εδώ επέλεξα το TDA2822 και το κύκλωμα είναι το επίσημο κύκλωμα BTL. Σημειώστε ότι η υποδοχή τηλεφώνου PJ-327 έχει έναν πείρο αυτόματης αποσύνδεσης στη δεξιά έξοδο. Όταν δεν έχετε συνδέσει ακουστικά, η ακίδα 3 συνδέεται στο σωστό κανάλι. Και μόλις συνδεθούν τα ακουστικά, αυτός ο πείρος αποσυνδέεται από το δεξί κανάλι. Αυτός ο πείρος μπορεί να χρησιμοποιηθεί ως ακίδα εισόδου ηχείου και το ηχείο θα σβήσει όταν είναι συνδεδεμένα τα ακουστικά.
Βήμα 5: Η δύναμη
Ας επιστρέψουμε στην ενότητα τροφοδοσίας και ελέγξτε τον λεπτομερή σχεδιασμό ισχύος.
Υπάρχουν 3 τμήματα ισχύος: η τροφοδοσία MCU, ο φορτιστής/ο ενισχυτής και τα DC-DC Bucks.
Η τροφοδοσία MCU διαιρείται από όλα τα άλλα τροφοδοτικά επειδή το χρειαζόμαστε για να εκτελέσει την ακολουθία προ-τροφοδοσίας. Καθώς το κουμπί τροφοδοσίας πιέζεται προς τα κάτω, το PMOS θα συνδέσει τον ακροδέκτη EN του LDO με την μπαταρία για να ενεργοποιήσει το LDO. Στη συνέχεια, ενεργοποιείται η μονάδα MCU (το κουμπί είναι ακόμα πατημένο). Κατά την εκκίνηση του MCU, θα ελέγξει εάν το κουμπί λειτουργίας είναι πατημένο αρκετά. Μετά από περίπου 2 δευτερόλεπτα, εάν το MCU διαπίστωσε ότι το κουμπί λειτουργίας είναι ακόμα πατημένο, θα τραβήξει προς τα πάνω τον πείρο "PWR_CTL" για να διατηρήσει το PMOS ενεργοποιημένο. Αυτή τη στιγμή, η MCU αναλαμβάνει τον έλεγχο της τροφοδοσίας MCU.
Όταν πατήσετε ξανά το κουμπί λειτουργίας για 2 δευτερόλεπτα, το MCU θα εκτελέσει την ακολουθία τροφοδοσίας. Στο τέλος της ακολουθίας απενεργοποίησης, το MCU θα απελευθερώσει την καρφίτσα "PWR_CTL" για να αφήσει το PMOS να κλείσει και η τροφοδοσία MCU θα απενεργοποιηθεί.
Το μέρος του φορτιστή/ενισχυτή χρησιμοποιεί το IC IP5306. Αυτό το IC είναι 2,4Α φόρτισης και 2,1A απαλλάσσει εξαιρετικά ενσωματωμένο Soc για χρήση σε power bank και είναι απόλυτα κατάλληλο για τις ανάγκες μας. Το IC είναι σε θέση να φορτίζει την μπαταρία, να παρέχει έξοδο 5V και να δείχνει το επίπεδο της μπαταρίας με 4 LED ταυτόχρονα.
Το τμήμα DC-DC Buck χρησιμοποιεί δύο SY8113 υψηλής απόδοσης 3Α buck. Η τάση εξόδου μπορεί να προγραμματιστεί με 2 αντιστάσεις. Για να διασφαλίσουμε την ακολουθία ισχύος, χρειαζόμαστε το MCU για να ενεργοποιήσουμε πρώτα το Booster. Το σήμα KEY_IP θα προσομοιώσει ένα πάτημα πλήκτρου στον ακροδέκτη KEY του IP5306 και ενεργοποιεί τον εσωτερικό ενισχυτή 5V. Μετά από αυτό, το MCU θα ενεργοποιήσει το buck 3.3V τραβώντας τον πείρο RASP_EN ψηλά. Και αφού παρέχεται 3,3V, ο πείρος EN του 1,8V buck τραβιέται ψηλά και επιτρέπει την έξοδο 1,8V.
Όσον αφορά την μπαταρία, δύο μπαταρίες ιόντων λιθίου 1000mAh είναι αρκετές για την κονσόλα. Το κανονικό μέγεθος αυτής της μπαταρίας είναι περίπου 50*34*5mm.
Βήμα 6: Ρύθμιση του συστήματος
Σε αυτό το βήμα, θα συνδυάσουμε όλες τις ρυθμίσεις.
Αρχικά, πρέπει να κατεβάσετε και να αναβοσβήσετε την εικόνα RetroPie σε μια νέα κάρτα TF. Το σεμινάριο και η λήψη μπορείτε να τα βρείτε εδώ. Κατεβάστε την έκδοση Raspberrypi 2/3. Θα δείτε 2 διαμερίσματα μετά το φλας της εικόνας: ένα διαμέρισμα "εκκίνησης" σε μορφή FAT16 και ένα διαμέρισμα "Retropie" σε μορφή EXT4.
Όταν τελειώσετε, μην το τοποθετήσετε αμέσως στο Raspberry Pi γιατί πρέπει να προσθέσουμε ένα διαμέρισμα FAT32 για τις roms. Χρησιμοποιήστε εργαλεία διαμερίσματος όπως το DiskGenius για να ρυθμίσετε το διαμέρισμα EXT4 σε περίπου 5-6 GB και να δημιουργήσετε ένα νέο διαμέρισμα FAT32 με όλο τον ελεύθερο χώρο που απομένει στην κάρτα TF. Ανατρέξτε στην εικόνα που έχω ανεβάσει.
Βεβαιωθείτε ότι το σύστημά σας είναι σε θέση να αναγνωρίσει τη συσκευή ανάγνωσης καρτών TF ως συσκευή USB-HDD και θα δείτε 3 διαμερίσματα στον εξερευνητή σας. Δύο από αυτά είναι προσβάσιμα και τα Windows θα σας ζητήσουν να μορφοποιήσετε το αριστερό. ΜΗΝ το μορφοποιήσετε !!
Ανοίξτε πρώτα το διαμέρισμα "εκκίνησης" και ακολουθήστε το Βήμα 2 για να ρυθμίσετε τις διαμορφώσεις των ακίδων. Or μπορείτε απλά να αποσυμπιέσετε το boot.zip σε αυτό το βήμα και να αντιγράψετε όλα τα αρχεία και τους φακέλους στο διαμέρισμα εκκίνησης. Θυμηθείτε να αντιγράψετε το μεταγλωττισμένο σενάριο lcd_init και στο διαμέρισμα εκκίνησης.
Εδώ είμαστε έτοιμοι να εκτελέσουμε την πρώτη εκκίνηση, αλλά επειδή δεν υπάρχει οθόνη, σας συνιστώ να χρησιμοποιήσετε μια πλακέτα RPI-CMIO με μια συσκευή usb wlan. Στη συνέχεια, μπορείτε να διαμορφώσετε το αρχείο wpa_supplicant και να ενεργοποιήσετε το ssh σε αυτό το βήμα. Ωστόσο, εάν δεν σκοπεύετε να αποκτήσετε ένα, το GPIO32/33 μπορεί να χρησιμοποιηθεί ως τερματικό UART. Συνδέστε τους ακροδέκτες TX (GPIO32) και RX (GPIO33) σε έναν πίνακα usb-to-uart και αποκτήστε πρόσβαση στο τερματικό με το ρυθμό baud των 115200. Είτε έτσι είτε αλλιώς, πρέπει να αποκτήσετε μια τερματική πρόσβαση στο Pi σας.
Κατά την πρώτη εκκίνηση, το σύστημα θα κολλήσει όταν προσπαθήσετε να επεκτείνετε το σύστημα αρχείων. Αγνοήστε το, πατήστε έναρξη (πληκτρολογήστε το κλειδί του πληκτρολογίου USB HID) και επανεκκινήστε. Στο τερματικό, αντιγράψτε το σενάριο lcd_init στον αρχικό φάκελο του χρήστη "pi" και ακολουθήστε το βήμα 3 για να ρυθμίσετε την αυτόματη εκκίνηση. Μετά από άλλη επανεκκίνηση, θα πρέπει να δείτε την οθόνη να ανάβει και να δείχνει κάτι.
Αυτή τη στιγμή, η κονσόλα παιχνιδιών σας είναι έτοιμη για παιχνίδι. Ωστόσο, για να φορτώσετε roms και BIOS στην κάρτα TF, χρειάζεστε πρόσβαση σε τερματικό κάθε φορά. Για να το κάνουμε απλό, προτείνω να ρυθμίσετε το διαμέρισμα FAT32.
Πρώτα δημιουργήστε αντίγραφα ασφαλείας του φακέλου RetroPie κάτω από /home /pi στο RetroPie-bck: "cp -r RetroPie RetroPie-bck". Στη συνέχεια, προσθέστε μια νέα γραμμή στο/etc/fstab: "/dev/mmcblk0p3/home/pi/RetroPie προεπιλογές, uid = 1000, gid = 1000 0 2" για αυτόματη τοποθέτηση του διαμερίσματος FAT32 στο φάκελο RetroPie με ρύθμιση του κατόχου σε χρήστη "πι". Μετά την επανεκκίνηση, θα διαπιστώσετε ότι τα περιεχόμενα του φακέλου RetroPie έχουν εξαφανιστεί (αν δεν είναι, επανεκκινήστε ξανά) και κάποια σφάλματα εμφανίζονται στην οθόνη. Αντιγράψτε όλα τα αρχεία στο RetroPie-bck πίσω στο RetroPie και επανεκκινήστε ξανά. Τα σφάλματα θα εξαφανιστούν και μπορείτε να διαμορφώσετε τη συσκευή εισόδου ακολουθήστε τις οδηγίες στην οθόνη.
Εάν θέλετε να προσθέσετε roms ή BIOS, αποσυνδέστε την κάρτα TF όταν είναι απενεργοποιημένη και συνδέστε την στον υπολογιστή σας. Ανοίξτε το 3ο διαμέρισμα (ΘΥΜΗΘΕΙΤΕ να αγνοήσετε την άκρη μορφοποίησης !!!) και αντιγράψτε τα αρχεία στους αντίστοιχους φακέλους.
Βήμα 7: Η θήκη και τα κουμπιά με τρισδιάστατη εκτύπωση
Σχεδίασα τη θήκη στυλ GameBoy Micro για την κονσόλα παιχνιδιών.
Απλώς εκτυπώστε
4x ABXY. STL
2x LR. STL (Πρέπει να προσθέσετε υποστήριξη)
1x CROSS. STL
1x TOP. STL
1x BOTTOM. STL
Τα τυπώνω χρησιμοποιώντας PLA με 20% γέμιση, στρώμα 0,2mm και είναι αρκετά ισχυρό.
Καθώς η θήκη είναι σφιχτή, ελέγξτε την ακρίβεια του εκτυπωτή σας με κάποιο δοκιμαστικό κύβο πριν από την εκτύπωση.
Και τρεις βίδες μήκους 5 mm φ3mm και τέσσερις βίδες μήκους 10 mm φ3mm χρειάζονται για να τις συναρμολογήσουμε μαζί.
Βήμα 8: Όλοι μαζί και Αντιμετώπιση προβλημάτων
Καθώς το κύκλωμα είναι κάπως περίπλοκο, είναι καλή επιλογή να κάνετε κάποια εργασία PCB. Ολόκληρη η σχηματική και η δική μου έκδοση PCB μεταφορτώνεται στο τέλος αυτού του βήματος. Εάν σκοπεύετε να χρησιμοποιήσετε την έκδοση PCB μου, παρακαλώ μην αφαιρέσετε το λογότυπό μου στο επίπεδο Top_Solder. Είναι καλύτερα να κάνετε τη δική σας προσαρμογή και να παραδώσετε το δικό σας αρχείο PCB στον τοπικό κατασκευαστή για να το κάνετε, επειδή είναι πραγματικά δύσκολο να αγοράσετε όλα τα ίδια μέρη που χρησιμοποιώ στο PCB μου.
Αφού συγκολλήσετε όλα τα εξαρτήματα στο PCB και δοκιμάσετε, το πρώτο πράγμα που πρέπει να κάνετε είναι να κατεβάσετε ένα εξάγωνο αρχείο στο MCU. Μετά από αυτό, κολλήστε τη μονάδα LCD στο PCB. Η μονάδα LCD πρέπει να βρίσκεται 3 mm πάνω από το PCB για να ταιριάζει στη θήκη. Χρησιμοποιήστε μια παχιά ταινία διπλής όψης για να την κολλήσετε. Στη συνέχεια, συνδέστε το FPC στην υποδοχή και τοποθετήστε την κάρτα CM3L και TF. ΜΗΝ κολλήσετε την μπαταρία τώρα, συνδέστε μια πηγή τροφοδοσίας usb και ξεκινήστε την!
Ελέγξτε όλα τα κουμπιά και εμφανίστε την. Μετρήστε την τάση μεταξύ BAT+ και GND, ελέγξτε αν η τάση είναι περίπου 4,2V. Εάν η τάση είναι εντάξει, αποσυνδέστε το καλώδιο usb και κολλήστε την μπαταρία. Δοκιμάστε το κουμπί λειτουργίας.
Τοποθετήστε το κουμπί CROSS και ABXY στην κορυφαία θήκη και τοποθετήστε το PCB στη θήκη. Χρησιμοποιήστε 3 βίδες για να στερεώσετε το PCB στη θήκη. Προσθέστε λίγη παχιά διπλή ταινία στο πίσω μέρος όλων των κουμπιών SKPDACD010 και κολλήστε την μπαταρία πάνω της. Χρησιμοποιήστε παχιά ταινία για να αποφύγετε τις καρφίτσες του SKPDACD010 να προκαλέσουν ζημιά στην μπαταρία. Στη συνέχεια, κολλήστε το ηχείο στη θήκη BOTTOM. Πριν το κλείσετε, ίσως χρειαστεί να δοκιμάσετε όλα τα κουμπιά, να ελέγξετε αν λειτουργούν και να αναπηδήσουν σωστά. Στη συνέχεια, κλείστε τη θήκη με 4 βίδες.
Απολαμβάνω.
Μερικές συμβουλές για τη λήψη προβλημάτων:
1) Ελέγξτε τρεις φορές τη σύνδεση καρφιτσών της μονάδας LCD στο σχηματικό και το PCB.
2) Δρομολογήστε τα καλώδια σήματος LCD με περιορισμό μήκους.
3) Όταν δεν είστε σίγουροι για τα τμήματα ισχύος, κολλήστε και δοκιμάστε κάθε τμήμα ακολουθήστε την ακολουθία τροφοδοσίας. 5V πρώτα και μετά 3,3V, και 1,8V. Αφού δοκιμαστούν όλα τα τμήματα ισχύος, κολλήστε τα άλλα εξαρτήματα.
4) Εάν η οθόνη θολώνει συχνά, δοκιμάστε να αντιστρέψετε την πολικότητα του σήματος PCLK ρυθμίζοντας τη μορφή dpi_output_format.
5) Εάν η οθόνη είναι πολύ εκτός κέντρου, δοκιμάστε να αντιστρέψετε την πολικότητα του σήματος HSYNC ή VSYNC.
6) Εάν η οθόνη είναι ελαφρώς εκτός κέντρου, δοκιμάστε να προσαρμόσετε τις ρυθμίσεις υπερσάρωσης.
7) Εάν η οθόνη είναι μαύρη, προσπαθήστε να περιμένετε να εκκινήσει το σύστημα μέχρι το σενάριο rc.local. Εάν χρειάζεστε οθόνη από την αρχή, δοκιμάστε να συνδέσετε τη διασύνδεση SPI στο MCU και χρησιμοποιήστε το MCU για να προετοιμάσετε τη μονάδα LCD.
8) Εάν η οθόνη είναι μαύρη συνεχώς, ελέγξτε ξανά την ακολουθία προετοιμασίας.
9) Μη διστάσετε να κάνετε οποιεσδήποτε ερωτήσεις εδώ ή μέσω email: [email protected]
Συνιστάται:
Πώς να φτιάξετε μια κονσόλα Attiny85 - ArduPlay: 5 βήματα (με εικόνες)
Πώς να φτιάξετε μια κονσόλα Attiny85 - ArduPlay: likeταν έτσι: Έψαχνα βίντεο στο YouTube άσκοπα για να χαλαρώσω με ένα φλιτζάνι τσάι. Maybeσως ένας αγώνας ποδοσφαίρου να ξεχωρίζει ή μια συλλογή από αστεία βίντεο; Ξαφνικά πήρα μια ειδοποίηση στο τηλέφωνό μου - ένα νέο βίντεο στο κανάλι Electronoobs. Ατυχής
Ελάχιστη ρετρό κονσόλα παιχνιδιού ATBOY: 5 βήματα
ATBOY Minimal Retro Gaming Console: Μια μικρή ρετρό κονσόλα που μοιάζει με κονσόλα βασισμένη στο ATtiny85 x 0,96 OLED για παιχνίδι εισβολέων χώρου, Tetris κ.λπ
Κονσόλα παιχνιδιού: 4 βήματα
Game Console: Πραγματικά απλή κονσόλα παιχνιδιών, που υποστηρίζει ένα μενού, tetris και snake. Κατασκευάστηκε χρησιμοποιώντας- δύο 8x8 τετράγωνο Matrix Red LED dot Module74hc595 Drive που βρέθηκαν εδώ- ένα κουμπί STM32F103 Nucleo-64- 4 κουμπιά και 4 αντιστάσεις- σύρματα, ένα ψωμί, βραχυκυκλωτήρες κ.λπ.
Πώς να φτιάξετε μια ισχυρή μεταλλική δεξαμενή ρομπότ Rc: 6 βήματα (με εικόνες)
Πώς να φτιάξετε ένα ισχυρό Metal Rc Robot Tank: Καλοί φίλοι! Έτσι, σκέφτηκα ένα είδος έργου που θα ήταν ενδιαφέρον και αποφάσισα να φτιάξω μια δεξαμενή (σέρνεται στο διάστημα) σε μια πινακίδα φυσικά που είναι κατασκευασμένη εξ ολοκλήρου από μέταλλο. 100% Η κατασκευή μου είναι υψηλής ποιότητας και ακρίβειας, τα περισσότερα μέρη του ta
Κονσόλα παιχνιδιού Arduino Pocket + A -Maze - Maze Game: 6 βήματα (με εικόνες)
Arduino Pocket Game Console + A -Maze - Maze Game: Καλώς ορίσατε στο πρώτο μου διδακτικό! Το έργο που θέλω να μοιραστώ μαζί σας σήμερα είναι το Arduino maze game, το οποίο έγινε μια κονσόλα τσέπης ικανή όπως το Arduboy και παρόμοιες κονσόλες με βάση το Arduino. Μπορεί να αναβοσβήνει με τα μελλοντικά μου παιχνίδια (ή τα δικά σας) χάρη στην έκθεση