Πίνακας περιεχομένων:
- Βήμα 1: Γκολ
- Βήμα 2: Υλικά
- Βήμα 3: Προκωδικοποίηση: Συνδέστε το Micro: Bit σας
- Βήμα 4: Βήμα 0: Ροή κώδικα
- Βήμα 5: Βήμα 1: Καθορισμός μεταβλητών
- Βήμα 6: Βήμα 2: Μετατροπή τιμών κλίσης σε επίπεδα
- Βήμα 7: Βήμα 3: Συγκέντρωση επιπέδων κλίσης
- Βήμα 8: Βήμα 4: Γράψτε λειτουργίες LEDPlotList
- Βήμα 9: Βήμα 5: Σχεδιάστε μήτρα LED για κάθε περίπτωση
- Βήμα 10: Βήμα 6: Γράψτε λειτουργίες βαθμονόμησης
- Βήμα 11: Βήμα 7: Συνάρτηση κατάστασης εγγραφής
- Βήμα 12: Βήμα 8: Το βάζουμε όλα μαζί Μέρος 1
- Βήμα 13: Βήμα 9: Το βάζουμε όλα μαζί Μέρος 2
- Βήμα 14: Βήμα 10: Συναρμολόγηση
- Βήμα 15: Πηγή
Βίντεο: Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος: 15 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Χρησιμοποιήστε αυτό το αλφάδι για να εμφανίσετε γρήγορα και εύκολα την κλίση οποιουδήποτε αντικειμένου που συνδέεται!
Δημιουργήθηκε από την Kaitlyn από το ίδρυμα Raffles.
Βήμα 1: Γκολ
Μάθετε να διαβάζετε κλίση με ενσωματωμένο επιταχυνσιόμετρο micro: bit.
Μάθετε να εργάζεστε με οθόνη LED 5x5 του micro: bit!
Βήμα 2: Υλικά
1 x BBC micro: bit
1 x καλώδιο Micro USB
2 x μπαταρίες AA
1 x διπλή μπαταρία AA
Βήμα 3: Προκωδικοποίηση: Συνδέστε το Micro: Bit σας
- Συνδέστε το BBC micro: bit στον υπολογιστή σας χρησιμοποιώντας ένα καλώδιο micro USB.
- Αποκτήστε πρόσβαση στον επεξεργαστή javascript για το micro: bit στο makecode.microbit.org.
Βήμα 4: Βήμα 0: Ροή κώδικα
Πριν ξεκινήσουμε να γράφουμε τον κώδικα, πρέπει να αποφασίσουμε τι θέλουμε να επιτύχουμε με το πρόγραμμα και με ποια σειρά πρέπει να εκτελείται κάθε στοιχείο.
Για το ηλεκτρικό αλφάδι, τα βήματα που θα λάβουμε στον κώδικα για κάθε βρόχο είναι:
- Διαβάστε τις ενδείξεις κλίσης από το επιταχυνσιόμετρο.
- Μετατρέψτε τις ενδείξεις κλίσης σε επίπεδα κλίσης που θα εμφανίζονται στη μήτρα LED.
- Ελέγξτε για αλλαγές στις ενδείξεις στάθμης κλίσης από τον προηγούμενο βρόχο.
- Δημιουργήστε μια σειρά από συντεταγμένες LED για διαφορετικές θήκες και κατευθύνσεις κλίσης.
- Σχεδιάστε τις συντεταγμένες LED στη μήτρα LED micro: bit.
Μερικές επιπλέον λειτουργίες που πρέπει να συμπεριλάβουμε είναι:
- Βαθμονόμηση για την αρχική θέση κλίσης.
- Επιστροφή στην προεπιλεγμένη βαθμονόμηση κλίσης.
Βήμα 5: Βήμα 1: Καθορισμός μεταβλητών
Ξεκινάμε καθορίζοντας τις μεταβλητές που χρειάζονται όπως φαίνεται. Μια ανάλυση μερικών μεταβλητών είναι:
- tiltList: Πίνακας που αποθηκεύει την κλίση από τις τιμές 0-4 με τη σειρά [Αριστερά, Δεξιά, Εμπρός, Πίσω]
- tiltBoundary: Όριο του πρώτου επιπέδου κλίσης μεταξύ 0 (χωρίς κλίση) και 1 (μικρή κλίση)
- prevState: Πίνακας που αποθηκεύει τις τιμές κλίσης του micro: bit από προηγούμενο βρόχο στην ίδια μορφή με το tiltList, που χρησιμοποιείται για τον έλεγχο αλλαγής κλίσης μεταξύ επαναλήψεων
- ledPlotList: Σχεδιάστε πίνακες συντεταγμένων led με τη μορφή (x, y). Για να ορίσουμε έναν πίνακα, χρησιμοποιούμε τον αριθμό τύπου για να υποδείξουμε έναν ένθετο πίνακα μεταβλητών τύπου: αριθμός.
Βήμα 6: Βήμα 2: Μετατροπή τιμών κλίσης σε επίπεδα
Καθώς η μήτρα LED 5x5 μπορεί να εμφανίσει μόνο τόσες πληροφορίες, οι πραγματικές τιμές κλίσης δεν θα είναι χρήσιμες για προβολή.
Αντ 'αυτού, μια συνάρτηση tiltExtent () λαμβάνει την παράμετρο num, η οποία αναφέρεται στην τιμή κλίσης από το επιταχυνσιόμετρο και μετατρέπει αυτές τις τιμές κλίσης (num) σε επίπεδα κλίσης από 0 σε 4.
0 υποδεικνύει ότι δεν υπάρχει κλίση στη δεδομένη κατεύθυνση και το 4 δείχνει πολύ μεγάλη κλίση, ενώ -1 επιστρέφει όταν υπάρχει σφάλμα.
Εδώ, tiltBoundary και tiltSensitivity χρησιμοποιούνται ως οριακές τιμές μεταξύ των επιπέδων κλίσης.
Βήμα 7: Βήμα 3: Συγκέντρωση επιπέδων κλίσης
Οι δύο συναρτήσεις checkRoll () και checkPitch () γράφουν τα επίπεδα κλίσης που λαμβάνονται από το tiltExtent () στο tiltList για τους άξονες του ρολού (αριστερά-δεξιά) και του βήματος (εμπρός-πίσω) αντίστοιχα.
Πριν χρησιμοποιήσουμε τις τιμές κλίσης, τις βαθμονομούμε χρησιμοποιώντας μηδενισμένη τιμή τόσο για το βήμα (zeroPitch) όσο και για το ρολό (zeroRoll) που λαμβάνεται από μια συνάρτηση βαθμονόμησης που γράφτηκε αργότερα.
Καθώς οι ενδείξεις του επιταχυνσιόμετρου είναι αρνητικές τόσο για την αριστερή όσο και για την κλίση προς τα εμπρός, πρέπει να χρησιμοποιήσουμε τη συνάρτηση Math.abs () για να λάβουμε το μέτρο της αρνητικής τιμής που πρέπει να δοθεί στη συνάρτηση tiltExtent () ως παράμετρος για αυτές τις δύο κατευθύνσεις.
Βήμα 8: Βήμα 4: Γράψτε λειτουργίες LEDPlotList
Έχοντας αποκτήσει τα επίπεδα κλίσης στο tiltList, μπορούμε τώρα να γράψουμε τις συναρτήσεις σχεδίασης led για τις διάφορες περιπτώσεις που μπορεί να προκύψουν, συγκεκριμένα
- plotSingle (): Κλίση μόνο προς μία μόνο κατεύθυνση, λαμβάνοντας ως παράμετρο την κλίση προς τη δεδομένη κατεύθυνση.
- plotDiagonal (): Κλίση προς δύο κατευθύνσεις του ίδιου μεγέθους, λαμβάνοντας έκταση κλίσης προς κάθε κατεύθυνση ως παράμετρος.
- plotUnequal (): Κλίση σε δύο κατευθύνσεις διαφορετικών μεγεθών, λαμβάνοντας ως παράμετρο την κλίση σε κάθε κατεύθυνση. Χρησιμοποιεί πρώτα το plotDiagonal () και στη συνέχεια προσθέτει στον πίνακα ledPlotList.
Αυτές οι συναρτήσεις σχεδίασης γράφουν μια σειρά από συντεταγμένες led στο ledPlotList για να σχεδιαστούν αργότερα.
Βήμα 9: Βήμα 5: Σχεδιάστε μήτρα LED για κάθε περίπτωση
Χρησιμοποιώντας τις συναρτήσεις σχεδίασης από τις τρεις περιπτώσεις στο βήμα 4, μπορούμε τώρα να σχεδιάσουμε την πραγματική μήτρα LED για τους διαφορετικούς πιθανούς συνδυασμούς επιπέδων κλίσης. Καθώς οι τρεις συναρτήσεις στο βήμα 4 δεν κάνουν διάκριση ως προς την κατεύθυνση, πρέπει να προσαρμόσουμε τις τιμές συντεταγμένων που μεταβιβάζονται στη μήτρα LED για να σχεδιάσουμε τα LED στις σωστές κατευθύνσεις.
Το PlotResult () περιέχει πολλαπλές συνθήκες αν ελέγχουν το είδος της κλίσης και σχεδιάζουν ανάλογα τη μήτρα LED χρησιμοποιώντας το led.plot (x, y). Οι πιθανοί συνδυασμοί κλίσης είναι:
Ενιαία κατεύθυνση: Μόνο αριστερά ή μόνο δεξιά
Ενιαία κατεύθυνση: Μόνο προς τα εμπρός ή μόνο προς τα πίσω
Δύο κατευθύνσεις: Εμπρός-αριστερά ή Πίσω-αριστερά
Δύο κατευθύνσεις: Εμπρός-δεξιά ή Πίσω-δεξιά
Σημείωση: Για κλίση προς δύο κατευθύνσεις, κάθε συνδυασμός μπορεί να έχει το ίδιο ή διαφορετικό μέγεθος (ελέγχεται με σύγκριση maxX και maxY) και ως εκ τούτου σχεδιάζεται με τη χρήση plotDiagonal () ή plotUnequal () αντίστοιχα.
Βήμα 10: Βήμα 6: Γράψτε λειτουργίες βαθμονόμησης
Έχοντας ολοκληρώσει το μεγαλύτερο μέρος του κώδικα, προσθέτουμε τώρα τις λειτουργίες calibTilt () και resetTilt ().
Το calibTilt () επιτρέπει στους χρήστες να μειώσουν την κλίση στο μηδέν στην τρέχουσα θέση του micro: bit
resetTilt () επαναφέρει τη βαθμονόμηση της πλακέτας στην αρχική της κατάσταση.
Βήμα 11: Βήμα 7: Συνάρτηση κατάστασης εγγραφής
Προσθέτουμε μια απλή συνάρτηση checkState () για να ελέγξουμε αν τα επίπεδα κλίσης έχουν αλλάξει από μια προηγούμενη επανάληψη.
Εάν δεν υπάρχει μεταβολή στα επίπεδα κλίσης από προηγούμενη επανάληψη, δηλαδή κατάσταση
Βήμα 12: Βήμα 8: Το βάζουμε όλα μαζί Μέρος 1
Τώρα μπορούμε επιτέλους να τοποθετήσουμε όλες τις απαραίτητες συναρτήσεις στον άπειρο βρόχο του micro: bit για να το εκτελέσουμε επανειλημμένα.
Πρώτον, θέτουμε τα κουμπιά A και B στο micro: bit στις λειτουργίες calibTilt () και resetTilt () αντίστοιχα χρησιμοποιώντας input.onButtonPressed () και σχεδιάζουμε ένα τικ στο πλέγμα LED όταν ολοκληρωθεί η βαθμονόμηση.
Βήμα 13: Βήμα 9: Το βάζουμε όλα μαζί Μέρος 2
Στη συνέχεια εκτελέστε τις απαραίτητες συναρτήσεις σύμφωνα με τη ροή κώδικα στο Βήμα 0 και ελέγξτε για αλλαγή κατάστασης (που σημαίνει ότι υπάρχει μια αλλαγή στην κλίση του micro: bit από την τελευταία επανάληψη).
Εάν υπάρχει αλλαγή στα επίπεδα κλίσης δηλ. StateChange == 1, ο κώδικας θα ενημερώσει το prevState στα νέα επίπεδα κλίσης και θα ορίσει κατάστασηChange πίσω στο 0 για την επόμενη επανάληψη και θα σχεδιάσει τα ενημερωμένα επίπεδα κλίσης στον πίνακα LED χρησιμοποιώντας το PlotResult ().
Βήμα 14: Βήμα 10: Συναρμολόγηση
Μετακινήστε τον ολοκληρωμένο κώδικα στο micro: bit σας.
Συνδέστε το micro: bit και τη μπαταρία με ασφάλεια σε οποιοδήποτε αντικείμενο και είναι έτοιμο για χρήση!
Φοβερός
Διασκεδάστε με το ηλεκτρικό σας πνεύμα! Και ενώ είστε σε αυτό, γιατί να μην προσπαθήσετε να επεκτείνετε τις δυνατότητες του αισθητήρα κλίσης ή ακόμη και να τον μετατρέψετε σε παιχνίδι;
Αυτό το άρθρο προέρχεται από το TINKERCADEMY.
Βήμα 15: Πηγή
Αυτό το άρθρο προέρχεται από:
Εάν έχετε οποιεσδήποτε ερωτήσεις, μπορείτε να επικοινωνήσετε στο : [email protected].
Συνιστάται:
Πώς να φτιάξετε ένα ρομπότ μάχης (για οποιοδήποτε επίπεδο δεξιοτήτων): 8 βήματα
Πώς να φτιάξετε ένα ρομπότ μάχης (για οποιοδήποτε επίπεδο δεξιοτήτων): Κατά την εκκίνηση της ρομποτικής μάχης, διαπίστωσα ότι δεν υπήρχε " βήμα προς βήμα " ρομπότ μάχης για να δημιουργήσει μια πορεία, οπότε αφού έκανα πολλές έρευνες στο διαδίκτυο, αποφάσισα να συντάξω μερικά από αυτά για να δημιουργήσω έναν οδηγό για την κατασκευή ενός ρομπότ μάχης, έτσι ώστε κάποιος να
Δημιουργήστε μια συσκευή αισθητήρα θερμοκρασίας Apple HomeKit χρησιμοποιώντας ένα ESP8266 και ένα BME280: 10 βήματα
Κατασκευάστε μια συσκευή αισθητήρα θερμοκρασίας Apple HomeKit χρησιμοποιώντας έναν ESP8266 και έναν BME280: Στο σημερινό διδακτικό, θα φτιάξουμε αισθητήρα θερμοκρασίας, υγρασίας και υγρασίας χαμηλού κόστους με βάση είτε τον αισθητήρα θερμοκρασίας/υγρασίας AOSONG AM2302/DHT22 είτε BME280, αισθητήρα υγρασίας YL-69. και την πλατφόρμα ESP8266/Nodemcu. Και για προβολή
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: 5 βήματα
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: Λάβετε υπόψη ότι αυτό είναι τώρα αρκετά παλιό, οπότε ορισμένα μέρη είναι λανθασμένα και παλιά. Τα αρχεία που πρέπει να επεξεργαστείτε έχουν αλλάξει. Έχω ενημερώσει τον σύνδεσμο για να σας δώσω την πιο πρόσφατη έκδοση της εικόνας (χρησιμοποιήστε το 7-zip για να την αποσυμπιέσετε) αλλά για πλήρη εγκατάσταση
DigiLevel - ένα ψηφιακό επίπεδο με δύο άξονες: 13 βήματα (με εικόνες)
DigiLevel - ένα ψηφιακό επίπεδο με δύο άξονες: Η έμπνευση για αυτό το διδακτικό είναι το DIY Digital Spirit Level που βρίσκεται εδώ από το GreatScottLab. Μου άρεσε αυτό το σχέδιο, αλλά ήθελα μια μεγαλύτερη οθόνη με πιο γραφική διεπαφή. Wantedθελα επίσης καλύτερες επιλογές τοποθέτησης για τα ηλεκτρονικά στο περίβλημα
Πώς να δημιουργήσετε ένα επίπεδο κάμερας φωτισμού για DSLR: 4 βήματα (με εικόνες)
Πώς να φτιάξετε ένα επίπεδο κάμερας Lighting για ένα DSLR: Έχετε τραβήξει ποτέ σε συνθήκες χαμηλού φωτισμού και έχετε παρατηρήσει ότι οι λήψεις σας ήταν εκτός επιπέδου; Λοιπόν, σίγουρα έχω! Έχω κάνει πολλή δουλειά τον τελευταίο καιρό με μακροχρόνια φωτογραφία έκθεσης και όταν βρίσκομαι στο πεδίο χρησιμοποιώντας γοριλάποδο, βρίσκομαι τρέχοντας