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

Φορητή κονσόλα με ασύρματα χειριστήρια και αισθητήρες (Arduino MEGA & UNO): 10 βήματα (με εικόνες)
Φορητή κονσόλα με ασύρματα χειριστήρια και αισθητήρες (Arduino MEGA & UNO): 10 βήματα (με εικόνες)

Βίντεο: Φορητή κονσόλα με ασύρματα χειριστήρια και αισθητήρες (Arduino MEGA & UNO): 10 βήματα (με εικόνες)

Βίντεο: Φορητή κονσόλα με ασύρματα χειριστήρια και αισθητήρες (Arduino MEGA & UNO): 10 βήματα (με εικόνες)
Βίντεο: Game stick-μονο με 25€ με πάνω απο 10.000 παιχνιδια!!! 😮😮2.4g wireless controller gamepad hdmi 4k 2024, Ιούλιος
Anonim
Image
Image
Καλωδίστε την οθόνη (αφής)
Καλωδίστε την οθόνη (αφής)

Αυτό που χρησιμοποίησα

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3.5 TFT 320x480 Touchscreen HXD8357D

- Buzzer

- Ηχείο 4Ω 3W

- Φώτα LED 5mm

- Εκτυπωτής Ultimaker 2+ με μαύρο νήμα PLA

- Laser Cutter με ξύλο MDF

- Μαύρη βαφή ψεκασμού (για ξύλο)

- 3x nRF24L01+ Ασύρματοι πομποδέκτες

- Κουμπί 2x 16mm

- 2x αισθητήρες πίεσης

- Θήκες μπαταρίας 3x 9V

- Breadboard

- 2x οθόνες OLED I2C 0,96"

- Αρσενικά - θηλυκά καλώδια

- Solderstation

- Υπερκόλλα

- 2x μονάδα αφής ενός καναλιού (ΚΟΚΚΙΝΟ/ΜΠΛΕ)

Βήμα 1: Καλωδίωση της οθόνης (αφής)

Καλωδίστε την οθόνη (αφής)
Καλωδίστε την οθόνη (αφής)
Καλωδίστε την οθόνη (αφής)
Καλωδίστε την οθόνη (αφής)

Έτσι θα το κάνουμε χειροκίνητη κονσόλα, με δύο ασύρματα χειριστήρια.

Επομένως θα έχουμε μια κύρια μονάδα (Το μεγαλύτερο μέρος, με την οθόνη LCD)

Η κύρια μονάδα θα λειτουργεί με το Arduino MEGA.

Οι δύο ξεχωριστοί ελεγκτές θα τρέχουν ο καθένας από ένα Arduino UNO.

Αργότερα θα κάνουμε τους Arduinos να επικοινωνούν μεταξύ τους για να στείλουν δεδομένα ελεγκτή.

Ξεκινήστε με τη σωστή σύνδεση της οθόνης 320x480 στην κύρια μονάδα οθόνης (Arduino MEGA) όπως σε αυτό το σεμινάριο. (Το Adafruit διαθέτει ένα εξαιρετικό λεπτομερές σεμινάριο για καλωδίωση & κώδικα).

Για ήχο, συνδέω έναν βομβητή και ένα ηχείο 3W 4Ohm για να διαχωρίσω τις ψηφιακές ακίδες και το GND.

με τον τόνο (καρφίτσα, συχνότητα, διάρκεια). Μπορείτε να δημιουργήσετε μερικούς βασικούς μονοφωνικούς ήχους.

Βήμα 2: Εξοικειωθείτε με τις Βιβλιοθήκες

Γνωρίστε τις Βιβλιοθήκες
Γνωρίστε τις Βιβλιοθήκες
Γνωρίστε τις Βιβλιοθήκες
Γνωρίστε τις Βιβλιοθήκες

Η οθόνη Adafruit 320x480 υποστηρίζει τις αντίστοιχες βιβλιοθήκες Adafruit_GFX και Adafruit_TFTLCD.

Διαβάστε την τεκμηρίωση. Νομίζω ότι εξηγείται κάπως καλά εκεί.

Βεβαιωθείτε ότι έχετε τοποθετήσει τις σωστές ρυθμίσεις στο Arduino IDE:

Εργαλεία -> Πίνακας -> Arduino/Genuino MEGA ή MEGA 2560

Εργαλεία -> Θύρα -> [Η θύρα με '' Arduino MEGA '' σε αυτήν]

Η συγκεκριμένη βιβλιοθήκη οθόνης υποστηρίζει προσαρμοσμένες γραμματοσειρές, βασικά σχήματα και ποικιλία χρωμάτων.

Κάτι αξιοσημείωτο μπορεί να είναι ότι ο ρυθμός ανανέωσης είναι πολύ χαμηλός για ομαλή κίνηση. Εάν θέλετε να ενημερώνετε την οθόνη κάθε τσιμπούρι, θα είναι πολύ αργό για να χειριστεί την επανασχεδίαση κάθε εικονοστοιχείου και θα τρεμοπαίζει

Θα πρότεινα λοιπόν να δουλέψουμε δημιουργικά γύρω από αυτό, όπως το πώς χειρίστηκαν τα κινούμενα σχέδια ορισμένα παλαιότερα φορητά τηλέφωνα: με keyframes. Λιγότερο είναι περισσότερο! Και αντί να ξανασχεδιάζετε τα πάντα κάθε δευτερόλεπτο, εάν θέλετε να μετακινήσετε ένα ορθογώνιο αριστερά ή δεξιά, μπορείτε απλά να διαγράψετε το ίχνος που αφήνει πίσω του, αντί να διαγράψετε ολόκληρο το αντικείμενο και να το ξανασχεδιάσετε.

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

Από τη βιβλιοθήκη Adafruit_GFX χρησιμοποίησα κυρίως το tft.fillRect (x, y, πλάτος, ύψος, χρώμα). και tft.print (κείμενο)? λειτουργίες.

Ο πειραματισμός είναι το κλειδί.

Βήμα 3: Σχεδιάστε μια γραφική διεπαφή χρήστη / κύριο μενού

Σχεδιάστε μια γραφική διεπαφή χρήστη / κύριο μενού
Σχεδιάστε μια γραφική διεπαφή χρήστη / κύριο μενού
Σχεδιάστε μια γραφική διεπαφή χρήστη / κύριο μενού
Σχεδιάστε μια γραφική διεπαφή χρήστη / κύριο μενού

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

Και πάλι, σκεφτείτε τα ορθογώνια. Τουλάχιστον αυτό έκανα.

Ακολουθεί ο κωδικός μου για το περιβάλλον χρήστη

pastebin.com/ubggvcqK

Θα μπορούσατε να δημιουργήσετε ρυθμιστικά για τη φωτεινότητα της οθόνης, για να ελέγξετε την καρφίτσα '' Lite '' στην οθόνη αφής Adafruit, μέσω αναλογικής καρφίτσας.

Βήμα 4: Συνδέστε τα δύο χειριστήρια

Καλώδιο των δύο ελεγκτών
Καλώδιο των δύο ελεγκτών
Καλώδιο των δύο ελεγκτών
Καλώδιο των δύο ελεγκτών
Καλώδιο των δύο ελεγκτών
Καλώδιο των δύο ελεγκτών

Για το μέρος του ελεγκτή εξαρτάται από εσάς τι είδους αισθητήρες θέλετε να χρησιμοποιήσετε, ανάλογα με το παιχνίδι που σκοπεύετε να φτιάξετε

Εντάξει, έτσι για τους ελεγκτές αποφάσισα να χρησιμοποιήσω:

- Αισθητήρας πίεσης

- Οθόνη OLED

- Μονάδα αφής ενός καναλιού που ενεργοποιείται ή απενεργοποιείται

- Αισθητήρας χειρονομίας (RobotDyn APDS9960)

- nRFL01+ Πομποδέκτης (για ασύρματη επικοινωνία)

- Ένα κουμπί

Σημείωση: Ο αισθητήρας χειρονομίας και το OLED χρησιμοποιούν αμφότερες συνδέσεις SCL / SDA. Μου πήρε λίγο χρόνο για να συνειδητοποιήσω ότι το Arduino έχει μόνο δύο: A4 και A5. Αλλά μπορείτε απλά να τα συνδέσετε αυτά τα παράλληλα στο breadboard και θα λειτουργήσει καλά

Βήμα 5: Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης

Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης
Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης
Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης
Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης
Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης
Ξεκινήστε την καλωδίωση της ασύρματης σύνδεσης

Η καλωδίωση των μονάδων nRF24L01+ μου πήρε λίγο χρόνο για να λειτουργήσει.

Έπρεπε να καταφύγω στη βιβλιοθήκη TMRh20 RF24, αφού δεν μπόρεσα να μεταφέρω τα σωστά δεδομένα αισθητήρα στην οθόνη.

Για να επικοινωνούν πολλά Arduinos μεταξύ τους, πρέπει να διασφαλίσουμε ότι τουλάχιστον ένας από τους UNO τροφοδοτείται, όπως και το MEGA.

Χρησιμοποιήστε τη σειριακή κονσόλα του MEGA για να εκτυπώσετε τα αποτελέσματα που λαμβάνετε από το UNO και δείτε αν λειτουργεί.

Εδώ είναι ο κωδικός

Εδώ είναι η βιβλιοθήκη

Βήμα 6: Άγρια! Δοκιμάστε διάφορα πράγματα

Go Wild! Δοκιμάστε διάφορα πράγματα
Go Wild! Δοκιμάστε διάφορα πράγματα

Ένα κρίσιμο μέρος της διαδικασίας ανάπτυξης μου ήταν να δοκιμάσω απλά πολλά πράγματα!

Τι είδους κουμπιά θέλετε να χρησιμοποιήσετε;

Τι βάζετε στους ελεγκτές σας;

Κοιτάξτε γύρω στους ιστότοπους, θα βρείτε πολλά στοιχεία εκτός από τα συνηθισμένα κουμπιά '' A/B '' ή αναλογικά joystick. Εμπνευστείτε και παρακινήστε να το δοκιμάσετε!

Μόλις αποκτήσετε μια σαφή και λειτουργική ιδέα για το τι θέλετε να βάλετε στους ελεγκτές, συνδέστε τα εξαρτήματα.

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

ΣΗΜΕΙΩΣΗ: Ορισμένα εξαρτήματα μπορεί να χρειάζονται ακίδες SCL / SDA για να λειτουργήσουν σωστά. Και αν έχετε δύο ή περισσότερους αισθητήρες που χρειάζονται και οι δύο το ίδιο, πιθανότατα θα πάθετε κρίση πανικού όπως εγώ. Αλλά δεν χρειάζεται να ανησυχείτε

Μπορείτε να βάλετε και τις δύο καρφίτσες SDA και SCL των αισθητήρων σε σειρά μεταξύ τους, πηγαίνοντας σε Α4 και Α5 και θα λειτουργήσει

Βήμα 7: Σχεδιασμός

Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο

Μόλις έχετε μια ωραία ιδέα για τους αισθητήρες που θέλετε να χρησιμοποιήσετε, σχεδιάστε μερικές ιδέες για ένα σχέδιο που σας αρέσει.

Μετά από αυτό, μπείτε σε κάποια προγράμματα μοντελοποίησης όπως το Blender, Maya, Cinema 4D.

Χρησιμοποίησα το Blender για να δημιουργήσω ένα (τραχύ) μοντέλο.

Για να λάβετε σαφείς μετρήσεις στο Blender, μπορείτε να αλλάξετε τη μονάδα του μεγέθους του πλέγματος σε χιλιοστά.

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

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

ΣΗΜΕΙΩΣΗ: Στο Blender, θα πρέπει να ορίσετε την κλίμακα εξαγωγής σε 0,1, εάν θέλετε το ακριβές μέγεθος στο Cura στο επόμενο βήμα

Βήμα 8: Τρισδιάστατη εκτύπωση του περιβλήματος

Τρισδιάστατη εκτύπωση του περιβλήματος
Τρισδιάστατη εκτύπωση του περιβλήματος
Τρισδιάστατη εκτύπωση του περιβλήματος
Τρισδιάστατη εκτύπωση του περιβλήματος
Τρισδιάστατη εκτύπωση του περιβλήματος
Τρισδιάστατη εκτύπωση του περιβλήματος

Αυτό το μοντέλο εκτυπώθηκε με νήμα μαύρου PLA 2,85 mm σε εκτυπωτή Ultimaker 2+.

Κατεβάστε το CURA

Φορτώστε το. STL στο Cura και θα σας δείξει πόσο καιρό θα πάρει.

Για μια θήκη χειρός, μπορεί να χρειαστούν έως και 10 ώρες για να εκτυπωθεί, ανάλογα με το μέγεθος.

Ωστόσο, για μοντέλα χαμηλής λεπτομέρειας μπορείτε να επιταχύνετε τη διαδικασία, κάτι που έκανα κι εγώ.

Εδώ είναι οι ρυθμίσεις μου:

Ightψος στρώματος: 0,2

Πάχος Τοίχου: 0,8

Πάνω/Κάτω πάχος: 0,8

Ακροφύσιο: 0,4

Θερμοκρασία: 60 βαθμοί Κελσίου

Ροή: 100%

Χείλος: Οπουδήποτε αγγίζει την πλάκα κατασκευής

Πυκνότητα πλήρωσης: 20%

Σταδιακή: 0

Θερμοκρασία ακροφυσίου: 220 C

Ταχύτητα εκτύπωσης: 120%

Βήμα 9: Συγκόλληση και οριστικοποίηση

Συγκόλληση και οριστικοποίηση
Συγκόλληση και οριστικοποίηση
Συγκόλληση και οριστικοποίηση
Συγκόλληση και οριστικοποίηση
Συγκόλληση και οριστικοποίηση
Συγκόλληση και οριστικοποίηση

Έχεις κάνει πολύ δρόμο.

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

Βεβαιωθείτε ότι τα ηλεκτρονικά ταιριάζουν μέσα στα τυπωμένα περιβλήματα και ίσως κόψτε κάποιο ξύλο MDF για να φτιάξετε μέρη όπου κολλάνε κουμπιά / είσοδοι ελεγκτή.

Χρησιμοποίησα λέιζερ για αυτό.

Το πιο σημαντικό είναι να χαζεύεις, να δοκιμάζεις πράγματα που δεν έκανες ποτέ αλλιώς και να διασκεδάζεις!

Ελπίζω ότι αυτό το σεμινάριο ήταν αρκετά σαφές … wasταν ένα αρκετά δύσκολο έργο, το οποίο απέδωσε ένα εξαιρετικό αποτέλεσμα!:)

Βήμα 10: Προεπισκόπηση

Συνιστάται: