Πίνακας περιεχομένων:
- Βήμα 1: Ενσωμάτωση του ραδιοφώνου στους πυργίσκους
- Βήμα 2: (Επανασύνδεση) των πυργίσκων
- Βήμα 3: Ηλεκτρικά εξαρτήματα MTC
- Βήμα 4: Τμήματα εκτυπωμένων 3D
- Βήμα 5: Ηλεκτρική συναρμολόγηση
- Βήμα 6: Κωδικός
- Βήμα 7: Μενού MTC - Πλοήγηση
- Βήμα 8: Προσαρμογή του κώδικα
- Βήμα 9: Περίληψη
Βίντεο: Portal 2 Turret - Master Turret Control: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Αυτό το έργο είναι μια επέκταση ή remix του αρχικού μου Portal Turret on Instructables (Portal-2-Turret-Gun). Μπορεί επίσης να χρησιμοποιηθεί ως φθηνός ελεγκτής για τον έλεγχο οτιδήποτε χρησιμοποιεί το τσιπ ραδιοφώνου nRF24L01. Η οθόνη LCD είναι ιδιαίτερα χρήσιμη κατά την προσαρμογή.
(Αποδεικνύεται πολύ χρήσιμο στον έλεγχο πότε τα ραδιόφωνα μου δημιουργούν και χάνουν συνδέσεις με άλλα nRF24L01 στο "δίκτυο". Μπορώ να περπατήσω και να δω την οθόνη της οθόνης να δείχνει την κατάσταση σύνδεσης των ραδιοφώνων! Αρκετά χρήσιμη για την προσαρμογή των ρυθμίσεων και την επαλήθευση εύρος!)
Αφού ολοκλήρωσα το Portal Turret, είδα ένα σύντομο βίντεο κλιπ της σκηνής της όπερας Cara Mia στο τέλος του Portal 2. Σκέφτηκα: «Γεια σου, έχω φτιάξει μερικούς πυργίσκους τώρα. Μπορώ να το κάνω! Λοιπόν, είχα τους πυργίσκους, αλλά για να λειτουργήσει, θα χρειαζόταν τώρα να επικοινωνούν μεταξύ τους ή με κάποια άλλη συσκευή. Αφού το σκέφτηκα και σκεφτόμουν ότι ο χειροκίνητος έλεγχος θα ήταν επίσης καλός, κατέληξα να αποφασίσω ότι θα φτιάξω έναν κύριο ελεγκτή πυργίσκων ή έναν MTC.
Εντάξει, πώς να το κάνετε αυτό; Λοιπόν, δεν μου άρεσε να τροποποιώ πολύ τους πύργους, οπότε αυτό ήταν ένας περιορισμός. Είχα μερικά τσιπ ραδιοφώνου nRF24L01 τα οποία δεν είχα χρησιμοποιήσει ακόμη και πίστευα ότι θα συμβαδίζουν με τον στόχο μου να χρησιμοποιώ φθηνά εξαρτήματα και να βασίζομαι στον μηχανικό σχεδιασμό και τον κώδικα για να γίνει αυτό. Θα έπρεπε να φτιάξω ένα χειριστήριο και άρχισα να σκέφτομαι τι θα περιείχε ο ελεγκτής και τι ακριβώς θα μπορούσα να κάνω στους πυργίσκους. Η Cara Mia ήταν ήδη στην ατζέντα, αλλά τι άλλο;
Χειροκίνητος έλεγχος: Έτσι, μόλις ανοίξουν τα φτερά, θα ήθελα να ελέγξω το βήμα και τον άξονα. 2 άξονες = χειριστήριο, άρα χειριστήριο χειριστηρίου και μερικά κουμπιά. Το πάτημα του κουμπιού 1 θα πυροδοτούσε τον πυργίσκο και ίσως το πάτημα του κουμπιού 2 θα το έκανε να πει μια από τις ρήσεις του. Ακούγεται καλό! Αρκετά απλό…
Συνομιλία: Πρόσφατα είδα τη ρουτίνα «Who's on First» - Abbott και Costello, και ένα φως έσβησε στο κεφάλι μου! Θα έκανα επίσης μια ρουτίνα σκίτσων κωμωδίας χρησιμοποιώντας όλα τα ρητά, χρησιμοποιώντας πολλαπλούς πυργίσκους !! Εντάξει, αυτό δεν ήταν πλήρως κατανοητό, αλλά είμαι σίγουρος ότι θα το ταξινομήσω μόλις ξεκινήσει η κατασκευή μου.
Iθελα επίσης αυτό το MTC να είναι ασύρματο, οπότε επέλεξα μια απλή επιλογή μπαταρίας 9V και σχεδίασα το χειριστήριο να τροφοδοτείται από το μίνι βύσμα USB μέσω του Nano στο πίσω μέρος. Χρήσιμο και για ενημέρωση.
Βήμα 1: Ενσωμάτωση του ραδιοφώνου στους πυργίσκους
Πρώτα πήρα το ραδιόφωνο να δουλεύει με μερικά γυμνά Nanos, για να βεβαιωθώ ότι θα μπορούσα να το κάνω να λειτουργήσει και να στείλω πληροφορίες μεταξύ πολλαπλών συσκευών. Μόλις έγινε αυτό, ήταν θέμα ενσωμάτωσης του ραδιοφώνου στους υπάρχοντες πυργίσκους. Χμμ, η προσθήκη του φυσικού PCB στον πυργίσκο ήταν αρκετά εύκολη. Μόλις τροποποίησα τη θήκη τσιπ για να περιλαμβάνει το nRF24L01, το Nano και το τσιπ mp3. Εντάξει. Ένα φυσικό μέρος τροποποιήθηκε, με κάποια καλωδίωση.
Η τροποποιημένη θήκη τσιπ είναι ήδη μέρος των τμημάτων του πύργου που εκτυπώνονται τώρα. Μόλις διέγραψα την επιλογή μη ραδιοφώνου από τα τυπωμένα μέρη σε αυτήν την κατασκευή. Δεν θα κάνει τη διαφορά αν κάποιος θέλει να δημιουργήσει τη μη ραδιοφωνική παραλλαγή. Απλώς μην συμπεριλαμβάνετε το τσιπ ραδιοφώνου nRF24L01.
Βήμα 2: (Επανασύνδεση) των πυργίσκων
Ωχ…
Αυτό δεν φαινόταν καλό. Χρειάστηκε να προσθέσω 5 συνδέσεις στο Nano και είχα ήδη χαμηλές διαθέσιμες καρφίτσες. Αφού το έψαξα για λίγο, συνειδητοποίησα ποιες συνδέσεις είχαν προτεραιότητα και αναγνώρισα ότι για να γίνει αυτό το έργο, θα έπρεπε να αναδιαμορφώσω τις περισσότερες από τις υπάρχουσες συνδέσεις Nano.
Σε όσους θέλουν να φτιάξουν ένα "Radio Turret" και έχουν ήδη κατασκευάσει την προηγούμενη γενιά… Συγγνώμη…
Τώρα, έχω κάνει αυτήν την αλλαγή μερικές φορές και αποδεικνύεται ότι η διαδικασία δεν είναι πολύ κακή. Περιλαμβάνει την επιστροφή, αλλά μπόρεσα να αναιρέσω τις υπάρχουσες συνδέσεις με το Nano και στη συνέχεια να επανασυνδεθώ με τις κατάλληλες ακίδες χωρίς πολύ θλίψη. Πρόσθεσα τα 7 καλώδια για το τσιπ ραδιοφώνου στο nRF24L01 (5 καλώδια comm, 3v και GND), έπειτα συνέδεσα τα άλλα άκρα στο Nano.
Ωστόσο, υπάρχουν περισσότερα καλώδια εκεί, οπότε είναι πολύ πιο σημαντικό να διατηρείτε τα πράγματα τακτοποιημένα όταν δρομολογείτε τα καλώδια.
ΣΗΜΑΝΤΙΚΟ: Κατά τη συναρμολόγηση, βεβαιωθείτε ότι τα καλώδια δεν πιέζουν το κουμπί επαναφοράς Nano στον πίνακα !! Αυτό μου συνέβη σε ένα και με έριξε για έναν περιττό βρόχο!
Έτσι, η κατασκευή του πυργίσκου έχει τώρα 2 σχήματα καλωδίωσης: την παλιά παλαιού τύπου επιλογή "μη ραδιοφώνου" και την αναθεωρημένη επιλογή "ραδιοφωνικός πυργίσκος". Αν χτίσω έναν «μη-ραδιοφωνικό» πυργίσκο σήμερα, θα εξακολουθούσα να χρησιμοποιώ το ραδιοδιάγραμμα και τον κώδικα. Απλώς διαγράψτε ή σχολιάστε τα τμήματα ραδιοφώνου εάν αυτή είναι η επιλεγμένη διαδρομή ή όχι. Ο πυργίσκος θα πρέπει να λειτουργεί ακόμα μόνος του χωρίς το ραδιόφωνο.
Βήμα 3: Ηλεκτρικά εξαρτήματα MTC
Έχοντας τακτοποιήσει τους πυργίσκους, ήταν καιρός να φτιάξουμε ένα MTC.
Το MTC χρησιμοποιεί τα ακόλουθα συστατικά, όλα προέρχονται από το Amazon ή το Baggood ή το Ali Express, κλπ. Δείχνω τους αριθμούς μερών του Amazon στους οποίους αναφέρθηκα για αναφορά, καθώς αυτά τα στοιχεία είναι συνήθως διαθέσιμα και σε λογικές τιμές (και δεν χρειάστηκε περιμένετε 2+ εβδομάδες για να πάρω στα χέρια μου αυτό που χρειαζόμουν πριν ξεκινήσω τη μηχανική σχεδίαση!)
- Arduino Nano LCD 0,96”, (SSD1306) Χρησιμοποίησα την μπλε/κίτρινη έκδοση
- Μικρή μονάδα χειριστηρίου Joystick (HW-504) 5V PS
- Διακόπτης εναλλαγής (dx-004) 22mm * 13mm
- Ραδιόφωνο - (nRF24L01)
- Κουμπιά 12mm (CLT1088 για έγχρωμα κουμπιά, PBS-33B για μαύρο)
- Βίδες 2 mm (Σετ βιδών M2 Self Tapping Screws, ποικιλία Cross Head Pan Pan)
- LED 5mm της επιλογής σας για δείκτες. (Μην χρησιμοποιείτε φωτεινά LED !!)
- Γενικός σύνδεσμος μπαταρίας 9V με πλεξίδες
- Μπαταρία 9V (χρησιμοποιήστε μια καλή, όχι μία από τις ποικιλίες καταστημάτων δολαρίων που δεν μπορούν πάντα να παρέχουν αρκετή ισχύ για αυτά τα έργα!)
- Χρησιμοποίησα σύρμα με επένδυση σιλικόνης. Μου αρέσει να το χρησιμοποιώ για αυτά τα έργα.
Αρχικά χρησιμοποίησα μερικά φωτεινά LED, αλλά διαπίστωσα ότι ήταν πολύ καλά. Με τύφλωναν! Κατέληξα να χρησιμοποιώ κάποιες παλιές, αδύναμες λυχνίες LED και αυτό είχε περισσότερο νόημα για αυτήν την εφαρμογή.
Βήμα 4: Τμήματα εκτυπωμένων 3D
Σχεδίασα το MTC χρησιμοποιώντας το Fusion, παρόμοιο με τον τρόπο που έκανα το σχέδιο του πύργου.
Το τυπωμένο συγκρότημα απαιτεί μόνο 3 μέρη:
- Πάνω πάνελ (έκδοση 1 ή 2)
- Κάτω περίβλημα
- Λουράκι LCD
Το τσιπ nRF, το Nano, η μπαταρία 9V, ο διακόπτης εναλλαγής και τα LED είναι εγκατεστημένα στην επάνω πλάκα χωρίς συνδετήρες. Οι λυχνίες LED απλώς πιέζουν την πλάκα και συγκρατούνται με γλωττίδες. Θα πρέπει απλώς να μπουν μέσα, αλλά μην το παρακάνετε. Η επάνω πλάκα έχει σχεδιαστεί για να κρατάει το Nano και το τσιπ nRF πρέπει να μπαίνει απαλά. Προσοχή με τη μικρή καρτέλα nRF. είναι μικρό και είναι λυγισμένο πίσω για να ανοίξει και να απελευθερωθεί για να συλλάβει το τσιπ. Παρόλο που τα ταξίδια του είναι περιορισμένα, να είστε ευγενικοί εδώ.
Το χειριστήριο και η οθόνη LCD χρειάζονται βίδες 2 mm (μήκος 5 mm) για να τις κρατήσουν στην επάνω πλάκα. Το χειριστήριο PCB έχει μεγάλες τρύπες, οπότε ένιωσα ότι χρειάζομαι μικρές ροδέλες για να βεβαιωθώ ότι οι βίδες δεν περνούν μέσα.
Διαπίστωσα ότι η οθόνη LCD των PCB διαφέρει ελαφρώς από κατασκευαστή σε κατασκευαστή, οπότε επέλεξα να χρησιμοποιήσω έναν απλό ιμάντα για να το κρατήσω στη θέση του αντί για θραύσματα ή γάντζους.
Σημειώστε ότι η οθόνη LCD μπορεί να εγκατασταθεί φυσικά στην επάνω πλάκα με κάθε τρόπο, αλλά η οθόνη εμφανίζεται πλήρως μόνο μέσω του ανοίγματος σε έναν προσανατολισμό! Για το λόγο αυτό, έχω συμπεριλάβει μια επιλογή 2ης πλάκας όταν χρησιμοποιώ την σπαστή κίτρινη/μπλε οθόνη. Η μία έκδοση έχει το κίτρινο στο επάνω μέρος και η άλλη θα δείχνει το κίτρινο στο κάτω μέρος, όπως φαίνεται στις φωτογραφίες μου.
Για την μονόχρωμη έκδοση LCD, δεν έχει σημασία ποια χρησιμοποιείται, καθώς μπορείτε να αναστρέψετε την οθόνη χρησιμοποιώντας λογισμικό.
Δεδομένου ότι όλη η καλωδίωση γίνεται στην επάνω πλάκα, το κάτω μέρος είναι ουσιαστικά μόνο ένα κάλυμμα που συγκρατείται στην επάνω πλάκα με μακρύτερες βίδες 2 mm (ποσότητα: 4).
Αντί για μια επιλογή "πόρτα μπαταρίας", μόλις ενσωμάτωσα την μπαταρία στην επάνω πλάκα. Αυτό σημαίνει να αφαιρέσετε τις 4 βίδες που συγκρατούν το κάτω μέρος προς τα πάνω για να αλλάξετε μια μπαταρία, αλλά επειδή μπορεί επίσης να τροφοδοτηθεί με καλώδιο USB, όχι το τέλος του κόσμου. Η επάνω πλάκα είναι κατασκευασμένη με σύστημα συγκράτησης μπαταρίας 9V που πρέπει να είναι αρκετά ανθεκτικό για επαναλαμβανόμενη χρήση, δεν είναι υπερβολικά περίπλοκο, αλλά εμποδίζει την κίνηση της μπαταρίας.
Τύπωσα την επάνω πλάκα σε 2 χρώματα όπως φαίνεται στις φωτογραφίες. Χρησιμοποιώ ένα Prusa i3 Mk2 χωρίς την επιλογή πολλαπλών χρωμάτων, αλλά χρησιμοποιώ το εργαλείο έγχρωμης εκτύπωσης (https://www.prusaprinters.org/color-print/) για να αλλάξω χρώμα εν μέρει κατά τη διαδικασία. Ελέγξτε το επίπεδο που σταματά το κείμενο και γίνεται συμπαγές και κάντε αυτό το επίπεδο μετάβασης. Βοϊλα! Έγχρωμο κείμενο!
Τύπωσα τα μέρη σε ύψος στρώσης 0,35mm, καθώς δεν υπάρχει ανάγκη για καλύτερη ανάλυση σε αυτά τα επίπεδα μέρη. Προτιμώ επίσης τον τρόπο που βλέπει αυτό το ψήφισμα. Α, και εκτυπώνεται αρκετά γρήγορα!
Βήμα 5: Ηλεκτρική συναρμολόγηση
Όλα τα ηλεκτρικά εξαρτήματα είναι εγκατεστημένα στην κάτω πλευρά της επάνω πλάκας και όλες οι καλωδιώσεις γίνονται μαζί. Πρώτα πρέπει να εγκατασταθούν τα κουμπιά και η εναλλαγή και το ραδιόφωνο LCD, Nano, Joystick, nRF μπορεί να είναι όλα προ-καλωδιωμένα πριν εγκατασταθούν στην Επάνω πλάκα. Προτείνω αυτήν τη μέθοδο προ-καλωδίωσης των μεμονωμένων εξαρτημάτων και στη συνέχεια πραγματοποιώντας τις τελικές συνδέσεις με το Nano στο τέλος. Σας προτείνω επίσης να ανεβάσετε το σκίτσο σε γυμνό Nano, πριν ολοκληρώσετε την καλωδίωση.
Δεν υπάρχει τίποτα πιο ικανοποιητικό από το να ενεργοποιείτε τη συσκευή και να τη βλέπετε να ζωντανεύει όπως αναμένεται όταν τελειώσετε!
Η μόνη προετοιμασία ηλεκτρικού εξαρτήματος που απαιτήθηκε ήταν να αφαιρέσετε τις καρφίτσες κεφαλίδας από το χειριστήριο για να χωρέσει κάτω από την επάνω πλάκα. Η οθόνη LCD μπορεί να αγοραστεί με ή χωρίς εγκατεστημένες ακίδες και θα λειτουργήσει με κάθε τρόπο. Το Nano πρέπει να επιλεγεί χωρίς καρφίτσες κεφαλίδας.
Βήμα 6: Κωδικός
Κωδικός για MTC, Red turret, White Turret και Blue Turret τώρα
Λοιπόν, αυτή ήταν μια εμπειρία στην κωδικοποίηση! Είχα τον πυργίσκο να δουλεύει ανεξάρτητα, αλλά η ενσωμάτωση του ραδιοφώνου ήταν πιο δύσκολη από ό, τι πίστευα αρχικά! Επίσης, διασκέδασα να λειτουργήσει η ενότητα "Συνομιλία" όπως επιθυμούσα (περισσότερα για αυτό αργότερα).
Ο κωδικός MTC, μόλις κατανοηθεί πλήρως, άρχισε να φορολογεί τα όρια μνήμης του Nano! Έπρεπε να κάνω προσαρμογές και να εξοικονομήσω τον κώδικα για να είναι πιο αποδοτικός στη μνήμη. Μια άλλη καλή μαθησιακή εμπειρία.
Έχω συμπεριλάβει τον αντίστοιχο κώδικα "Turret w radio option" σε αυτήν την κατασκευή, καθώς λειτουργούν μαζί. Η δημιουργία του πύργου επιλογής ραδιοφώνου ανά σελίδα κατασκευής του πύργου θα το κάνει έτοιμο για χρήση με το MTC ή για την άλλη μέθοδο ελέγχου nRF24L01.
Επίσης, για να λειτουργήσουν οι ήχοι με αυτόν τον κώδικα χρειάστηκε λίγος χρόνος, και δεδομένου ότι οι ήχοι λήφθηκαν από άλλους δημόσιους ιστότοπους με πρόσβαση στο κοινό, ενσωμάτωσα όλους τους ήχους όπως τους έχω χρησιμοποιήσει σε μερικά αρχεία ZIP. ένα για τον κανονικό πυργίσκο και ένα για ελαττωματικό πυργίσκο. Το καλό για εσάς, αγαπητέ αναγνώστη, είναι ότι μπορείτε να χρησιμοποιήσετε τους ήχους στις κάρτες SD σας με τους κωδικούς όπως έχουν γραφτεί και θα είστε έτοιμοι!
Βήμα 7: Μενού MTC - Πλοήγηση
Ο κωδικός MTC ξεκινά με μια προσαρμοσμένη οθόνη Splash και στη συνέχεια ελέγχει την κατάσταση των πυργίσκων. Εάν δεν υπάρχουν πυργίσκοι, θα καθίσει εκεί μέχρι να συνδεθούν πύργοι!
Εάν είναι συνδεδεμένος τουλάχιστον ένας πύργος, θα εμφανιστεί το κύριο μενού και θα ανάψει η λυχνία LED "Ready", εκτός εάν οι πυργίσκοι διακόπτονται ή είναι απασχολημένοι με "την αντιμετώπιση κάποιου". Εάν είναι απασχολημένοι, θα εμφανιστεί μια οθόνη "Οι πυργίσκοι είναι απασχολημένοι" και η λυχνία LED "Απασχολημένη" θα ανάψει.
Όλοι οι πυργίσκοι που είναι ενεργά συνδεδεμένοι πρέπει να βρίσκονται σε "κατάσταση ετοιμότητας" προτού το MTC ελέγξει τους πυργίσκους.
Χρησιμοποιήστε το joystick (πάνω και κάτω) για να μετακινηθείτε στις επιλογές του μενού:
- Αρία
- Κουβέντα
- Εγχειρίδιο
Επιλέξτε την επιθυμητή επιλογή χρησιμοποιώντας το κουμπί ‘X’ ή πιέζοντας προς τα κάτω το joystick.
Λειτουργία Aria - η επιλογή αυτής της επιλογής θα εμφανίσει την οθόνη "Aria Mode" και θα κάνει τους πυργίσκους να εκτελέσουν τη σκηνή Aria στο τέλος του παιχνιδιού Portal 2. Μόλις ολοκληρωθούν, οι πύργοι κλείνουν και περιμένουν μια εντολή ή κάποιον που θα τους ξυπνήσει.
Λειτουργία συνομιλίας - Η επιλογή αυτής της επιλογής θα εμφανίσει την οθόνη "Λειτουργία συνομιλίας" και θα ξεκινήσει η ακολουθία συνομιλίας. Μόλις ολοκληρωθούν, οι πύργοι κλείνουν και περιμένουν μια εντολή ή κάποιον που θα τους ξυπνήσει.
Χειροκίνητη λειτουργία - Η επιλογή αυτής της επιλογής θα εμφανίσει την οθόνη "Χειροκίνητη λειτουργία", θα φωτίσει τη λυχνία LED "Χειροκίνητη" και θα επιτρέψει τη χειροκίνητη λειτουργία των πυργίσκων. Χειριστήριο ελέγχου πίσσας και περιστροφής. Πατώντας το κουμπί ‘X’ θα ενεργοποιηθεί η ακολουθία πυροδότησης. Πατώντας το κουμπί «Τ» θα τους κάνετε να «μιλήσουν», όπου οι πυργίσκοι μιλούν ένα τυχαίο ρητό από τη βιβλιοθήκη τους.
Πατώντας το κουμπί ‘<’ ή πίσω θα ακυρώσετε αυτές τις τρεις λειτουργίες, θα κλείσετε τους πύργους και θα επιστρέψετε στο κύριο μενού.
Εάν θέλετε να δείτε την κατάσταση σύνδεσης του σμήνους πυργίσκων (προς το παρόν περιορίζεται σε 3), πατήστε το κουμπί "T" όταν βρίσκεστε στο κύριο μενού. Θα μεταφερθείτε στην οθόνη "κατάσταση πυργίσκου", όπου μπορείτε να δείτε την κατάσταση σύνδεσης κάθε πύργου.
Όταν βρίσκεστε στην οθόνη "κατάσταση πυργίσκου", θα δείτε την κατάσταση κάθε πυργίσκου.
- Έτοιμο - έτοιμο για έλεγχο
- Απασχολημένος - ο πυργίσκος είναι απασχολημένος "φροντίζοντας" κάποιον
- Δεν είναι διαθέσιμο - το MTC δεν μπορεί να συνδεθεί με αυτόν τον πύργο
Πατήστε το κουμπί ‘<’ για να επιστρέψετε στο κύριο μενού.
Βήμα 8: Προσαρμογή του κώδικα
Το στιγμιότυπο οθόνης που εμφανίζεται εδώ δείχνει αυτό που κοιτούσα για πάρα πολύ καιρό … 4 σκίτσα τη φορά! Ποιος είπε ότι ο εντοπισμός σφαλμάτων δεν είναι διασκεδαστικός!
Ο κώδικας παρέχει τον έλεγχο και τις επιλογές που εμφανίζονται παραπάνω, αλλά τι γίνεται με την προσαρμογή του κώδικα;
Φυσικά! Αλλά υπάρχει ένα δίκαιο ποσό εδώ, οπότε εδώ είναι μερικές οδηγίες ή συμβουλές.
Συμβουλή 1 - Τροποποίηση της ακολουθίας "Chat". Αυτή η τροποποίηση λαμβάνει χώρα στον κώδικα του πυργίσκου.
Προσπάθησα να βρω έναν τρόπο να κάνω τον κώδικα να λειτουργεί για μένα όπου μπορούσα. Κάνοντας την ακολουθία συνομιλίας πιο επεξεργάσιμη (Είναι μια λέξη;), ώστε να μπορώ να επικεντρωθώ στην ιστορία, χρειάστηκε περισσότερη δουλειά από πριν, αλλά διευκολύνει την προσαρμογή στη συνέχεια.
Η αλλαγή της ακολουθίας συνομιλίας με τη δομή κωδικοποίησης που παρέχεται μπορεί να γίνει με έναν πολύ απλό τρόπο, υπό την προϋπόθεση ότι ακολουθείτε τη μέθοδο που χρησιμοποιείται στον κώδικα. Χρησιμοποιώντας τα ηχητικά αρχεία που παρέχονται, από το παιχνίδι Portal 2, θα χρειαστεί μόνο να αλλάξετε τον πίνακα (chatSayings ).
Επιλέξτε το ρητό είτε για τον κανονικό πυργίσκο είτε για τον ελαττωματικό πυργίσκο. Το ρητό είναι το αρχείο mp3 που προσδιορίζεται με το "00XX -" ακολουθούμενο από κείμενο που περιγράφει το ρητό. Είναι ο αριθμός που είναι το σημαντικό μέρος. Ο πυργίσκος # 1 θα χρησιμοποιούσε αυτήν την τιμή XX στον πίνακα. Ο πυργίσκος # 2 θα προθέσει την τιμή ΧΧ με ένα «1» και ο πύργος # 3 θα προθέσει την τιμή ΧΧ με ένα «2». Έτσι, για παράδειγμα, αν επιλέγατε την έκφραση «0040 - συγγνώμη» και θέλετε να το πει ο πυργίσκος # 3, θα εισαγάγατε το «240» στον πίνακα με τη σωστή σειρά. Αν το έλεγε ο πυργίσκος # 1, θα έβαζες το "40" στον πίνακα.
Κάντε το ίδιο για την επόμενη έκφραση και ούτω καθεξής. Θα μπορούσε να είναι μερικές εκφράσεις μεταξύ των πυργίσκων, ή αρκετές. (Δεν γνωρίζω τους περιορισμούς αυτής της μεθόδου, εκτός από τη μνήμη).
Δεν θα χρειαστεί να αλλάξετε τις τιμές των άλλων πινάκων, καθώς αυτές είναι οι χρονικές στιγμές που αντιστοιχούν στο ρητό του πίνακα. Η μόνη άλλη γραμμή που πρέπει να αλλάξει είναι γύρω από τη γραμμή 520.
εάν (i> = 43) {// τέλος της ακολουθίας
Η τιμή του i εδώ θα πρέπει να οριστεί στον αριθμό των ρημάτων στον πίνακα chatSayings.
Για να κάνετε εντελώς προσαρμοσμένες ρήσεις, (εκεί που αρχίζει η πραγματική διασκέδαση!), Θα χρειαστεί να ρυθμίσετε τις εκφράσεις σε αριθμημένα αρχεία και να γνωρίζετε το χρονικό διάστημα που απαιτείται για την αναπαραγωγή του αρχείου. Αποθηκεύστε το αρχείο στο φάκελο "mp3" στον ριζικό κατάλογο της κάρτας SD χρησιμοποιώντας την τετραψήφια μέθοδο ("0001", "0002", κ.λπ.). Στη συνέχεια, καταγράψτε τον χρόνο σε χιλιοστά του δευτερολέπτου που χρειάζεται για την αναπαραγωγή αυτού του αρχείου. Εισάγετε αυτές τις τιμές στον κατάλληλο πίνακα.
Έτσι, για μια έκφραση που έχει αποθηκευτεί ως "0037 - [η έκφρασή σας]", η οποία διαρκεί 5400 χιλιοστά του δευτερολέπτου για να παίξετε, θα βάλατε το '37' στον πίνακα chatSayings στην κατάλληλη τοποθεσία (και προσθέσατε το πρόθεμα ανάλογα με τον πυργίσκο που λέει it), και 5400 στον πίνακα NormaTimings στην ίδια θέση (όπως το 5ο στοιχείο σε κάθε πίνακα).
Τώρα όταν η τιμή του «i» αυξάνεται, ο κωδικός θα παίζει 0037 για 5400 χιλιοστά του δευτερολέπτου.
Σημειώστε ότι έχω προσθέσει μια μεταβλητή "timeadder" η οποία προσθέτει λίγο επιπλέον χρόνο σε κάθε ρήση όταν παίζετε. Αυτό δίνει μια μικρή απόσταση μεταξύ των ρημάτων, ώστε να μην φαίνεται να επικαλύπτονται.
Η ομορφιά αυτής της μεθόδου είναι ότι οι ολοκληρωμένοι πίνακες είναι ακριβώς ίδιοι σε κάθε πυργίσκο! Δεν χρειάζεται να προσαρμόσετε αυτούς τους πίνακες για κάθε πύργο. Χρειάζεται μόνο να ταξινομήσετε έναν πίνακα και ο κώδικας καταλαβαίνει τι λέει κάθε πυργίσκος με βάση τον ίδιο πίνακα.
Αυτό σημαίνει ότι μπορείτε να εστιάσετε στη γραφή σεναρίων αντί για κωδικοποίηση!
Αν κάποιος έχει καλύτερο τρόπο να το κάνει αυτό, θα ήθελα πολύ να το ακούσω !!
Βήμα 9: Περίληψη
Έτσι, αυτό πήρε περισσότερο χρόνο από ό, τι νόμιζα, αλλά μάλλον με γαργαλεί το αποτέλεσμα. Μερικές από τις ρουτίνες του Chat εξακολουθούν να με κάνουν να γελάω!
Θα ήθελα πολύ να ακούσω άλλες μεθόδους για να κάνω τα πράγματα που έκανα μέσα στον κώδικά μου. Είμαι βέβαιος ότι υπάρχουν ενότητες που θα μπορούσαν να ξαναγραφούν και να χρησιμοποιούν λιγότερη μνήμη, επιτρέποντας περισσότερες δυνατότητες ή επιλογές.
Θα ήθελα επίσης να δω άλλες ιδέες ενσωματωμένες στο MTC και τον έλεγχο των πυργίσκων!
Ελπίζω να έχω παράσχει μια πλατφόρμα για να χρησιμοποιήσουν / κλέψουν / μάθουν άλλοι σχεδιαστές και προγραμματιστές. Θα μπορούσα να δω ότι αυτό χρησιμοποιείται για να βοηθήσει τους ανθρώπους να μάθουν να κωδικοποιούν. Αφαιρέστε ένα τμήμα από το MTC ή/και τον πυργίσκο, όπως για παράδειγμα η "Χειροκίνητη λειτουργία" και κάντε τους μαθητές να αναπτύξουν τον δικό τους τρόπο ενσωμάτωσης χειροκίνητου ελέγχου!
Έχω μάθει πολλά από αυτήν την κοινότητα και τον ευρύτερο ιστό γενικότερα. Εξακολουθώ να εκπλήσσομαι πόσοι άνθρωποι ξοδεύουν χρόνο για να βρουν πράγματα και να τα μοιραστούν με τον κόσμο. Νομίζω ότι πρέπει να πάρω αυτό που έμαθα, να το εφαρμόσω και μετά να το μοιραστώ μαζί σας επίσης!
Καλή τύχη και διασκεδάστε χτίζοντας τον δικό σας στρατό από πυργίσκους!
Συνιστάται:
Control Food Access Control (ESP8266 + Servo Motor + 3D Printing): 5 βήματα (με εικόνες)
Cat Food Access Control (ESP8266 + Servo Motor + 3D Printing): Αυτό το έργο περνάει από τη διαδικασία που χρησιμοποίησα για να δημιουργήσω ένα αυτοματοποιημένο μπολ τροφής για γάτες, για την ηλικιωμένη διαβητική γάτα Chaz. Βλέπετε, πρέπει να φάει πρωινό πριν προλάβει να πάρει την ινσουλίνη του, αλλά συχνά ξεχνάω να πάρω το φαγητό του πριν κοιμηθώ, κάτι που
Star Wars DF.9 Turret: 4 βήματα
Star Wars DF.9 Turret: Έτσι αυτό το έργο από μια τυχαία αναζήτηση για το Star Wars στο Thingiverse ανακάλυψα το πράγμα: 3041805. Αυτό με ενθουσίασε καθώς το θυμάμαι έντονα από την 5η ταινία Star Wars The Empire Strikes Back. Wantedθελα εδώ και λίγο καιρό να φτιάξω έναν πυργίσκο και αυτό το looke
Portal 2 Companion Cube Ηχείο ήχου: 23 βήματα (με εικόνες)
Portal 2 Companion Cube Audio Speaker: Η τρισδιάστατη εκτύπωση είναι ένα μεγάλο μου χόμπι. Το χρησιμοποιώ πολύ χρόνο για να δημιουργήσω έργα θαυμαστών από τις αγαπημένες μου ταινίες και παιχνίδια. συνήθως πράγματα που θέλω αλλά δεν βρίσκω στα καταστήματα ή στο διαδίκτυο για αγορά. Ένα από τα αγαπημένα μου παιχνίδια όλων των εποχών είναι το Portal 2. Ως ιδέα έργου
LEGO Arduino Sentry Turret: 9 Βήματα
LEGO Arduino Sentry Turret: Αυτό το διδακτικό θα σας δείξει βήμα προς βήμα πώς να δημιουργήσετε τον δικό σας (μη θανατηφόρο) πυργίσκο από κομμάτια LEGO, Arduino UNO Board, Bricktronics Shield, λίγα σύρματα και λίγο μόλυβδο. Είναι σε θέση να λειτουργεί αυτόματα και με τηλεχειρισμό
Portal Two Sentry Turret by Arduino Uno: 6 βήματα (με εικόνες)
Portal Two Sentry Turret από τον Arduino Uno: Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει τις απαιτήσεις του έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com)