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

Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος: 15 βήματα
Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος: 15 βήματα

Βίντεο: Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος: 15 βήματα

Βίντεο: Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος: 15 βήματα
Βίντεο: 🔥 ΕΡΩΤΙΚΕΣ ΠΡΟΒΛΕΨΕΙΣ 15 ΙΑΝΟΥΑΡΙΟΥ - 15 ΦΕΒΡΟΥΑΡΙΟΥ 2024 #ταρω 2024, Ιούλιος
Anonim
Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος
Δημιουργήστε ένα ηλεκτρικό επίπεδο πνεύματος

Χρησιμοποιήστε αυτό το αλφάδι για να εμφανίσετε γρήγορα και εύκολα την κλίση οποιουδήποτε αντικειμένου που συνδέεται!

Δημιουργήθηκε από την 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 σας

  1. Συνδέστε το BBC micro: bit στον υπολογιστή σας χρησιμοποιώντας ένα καλώδιο micro USB.
  2. Αποκτήστε πρόσβαση στον επεξεργαστή 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].

Συνιστάται: