Πίνακας περιεχομένων:
- Βήμα 1: Σύνδεση του αισθητήρα μυών Myoware (ειδικά για εκείνους που δεν είχαν εργαστεί ποτέ πριν)
- Βήμα 2: Adafruit IO Setup
- Βήμα 3: Εισαγωγή Arduino
- Βήμα 4: Adafruit IO Trigger Setup
- Βήμα 5: Έξοδος Neopixel
- Βήμα 6: Αποτελέσματα
Βίντεο: Neopixel Led Strip Αντιδρά στον αισθητήρα μυών Myoware: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Ο στόχος είναι να εγκαταστήσετε έναν αισθητήρα μυών με τη βοήθεια του Arduino και να επεξεργαστείτε τα εισερχόμενα δεδομένα με το Adafruit IO και να ανακτήσετε την έξοδο με μια σκανδάλη, έτσι ώστε το φως να γίνει από λευκό σε κόκκινο για ένα λεπτό.
Τι είναι ο αισθητήρας μυών Ο αισθητήρας μυών μετρά την ηλεκτρική δραστηριότητα ενός μυός και παράγει ένα αναλογικό σήμα εξόδου που μπορεί εύκολα να διαβαστεί από έναν μικροελεγκτή. Η ηλεκτρομυογραφία (ΗΜΓ) μετρά την ανταπόκριση των μυών ή την ηλεκτρική δραστηριότητα σε απόκριση της διέγερσης του μυός από ένα νεύρο. Το τεστ χρησιμοποιείται για να βοηθήσει στον εντοπισμό νευρομυϊκών ανωμαλιών. Κατά τη διάρκεια της δοκιμής, μία ή περισσότερες μικρές βελόνες (που ονομάζονται επίσης ηλεκτρόδια) εισάγονται μέσω του δέρματος στον μυ.
Για αυτό το έργο χρειάζεστε: -MyoWare muscle sensor -EMG ηλεκτρόδια -NodeMCU (esp8266) -Σιλικόνη καλωδίου κάλυψης -USB καλώδιο micro -Neopixel led strip
Βιβλιοθήκες που θα χρειαστείτε: -Adafruit io Arduino (τουλάχιστον έκδοση 2.3.0) -Adafruit Neopixel (έκδοση 1.2.5) -Adafruit MQTT βιβλιοθήκη (1.0.3) -Arduino HttpClients (0.4.0) Εάν δεν έχετε έχουν εγκατασταθεί ακόμη βιβλιοθήκες. Στη συνέχεια, μεταβείτε στο Sketch> include Library> Manage Libraries… πληκτρολογήστε: [το όνομα της βιβλιοθήκης που θέλετε να εγκαταστήσετε] στο πεδίο αναζήτησης.
Βήμα 1: Σύνδεση του αισθητήρα μυών Myoware (ειδικά για εκείνους που δεν είχαν εργαστεί ποτέ πριν)
Εάν δεν έχετε δουλέψει ποτέ με αισθητήρα μυών Myoware, καλό είναι να καταλάβετε πρώτα πώς συνδέεται και διαβάζεται αυτός ο αισθητήρας στη σειριακή οθόνη του Arduino. Αυτή η λειτουργία είναι μια τυπική διαδικασία που περιλαμβάνεται σε πολλά εγχειρίδια που έχουν ήδη περιγραφεί. Η πλατφόρμα Adafruit έχει μια σαφή περιγραφή του πώς λειτουργεί σε λίγα βήματα:
learn.adafruit.com/getting-started-with-my…
Εάν γίνουν όλα αυτά τα βήματα, θα δείτε στην σειριακή οθόνη σας ότι οι τιμές αλλάζουν όταν σφίγγετε τους μυς σας. Όταν κάνετε μια γροθιά και σφίγγετε τους μυς σας, οι τιμές πρέπει να ανεβαίνουν και όταν χαλαρώνετε τους μυς σας, αυτές οι τιμές πρέπει να μειώνονται ξανά.
ΣημαντικόΑυτό το βήμα αφορά μόνο τη ρύθμιση του αισθητήρα. Ο κωδικός που χρησιμοποιήσατε δεν είναι απαραίτητος για το υπόλοιπο εγχειρίδιο. Μόνο ο τρόπος τοποθέτησης του αισθητήρα παραμένει ο ίδιος για τα επόμενα βήματα.
Βήμα 2: Adafruit IO Setup
Το πρώτο βήμα είναι να συνδεθείτε ή να δημιουργήσετε έναν λογαριασμό στο Adafruit IO, περιηγηθείτε στο Adafruit IO. Το Adafruit IO είναι μια πλατφόρμα cloud, στην οποία μπορείτε να συνδεθείτε μέσω διαδικτύου. Το Adafruit IO καθιστά τα δεδομένα χρήσιμα με συνδέσεις δεδομένων.
Όταν βρίσκεστε στον λογαριασμό σας:
Στη συνέχεια, θα χρειαστεί να δημιουργήσετε μια ροή που ονομάζεται Αναλογική. Εάν χρειάζεστε βοήθεια για να ξεκινήσετε με τη δημιουργία ροών στο Adafruit IO, ανατρέξτε στον οδηγό Βασικά στοιχεία του Adafruit IO Feed (Όπως στη φωτογραφία 1 και 2).
Προσθέτοντας το μπλοκ μετρητή και το γράφημα γραμμής BlockNext, δημιουργήστε έναν νέο πίνακα ελέγχου και ονομάστε τον όπως θέλετε να ονομάζεται (φαίνεται στις φωτογραφίες 3, 4 και 5 για να δημιουργήσετε έναν νέο πίνακα ελέγχου). Βεβαιωθείτε ότι έχετε επιλέξει την Αναλογική ροή ως πηγή δεδομένων.
Όταν βρίσκεστε στον πίνακα ελέγχου, προσθέστε ένα νέο μπλοκ μετρητή μέσω κλικ στο μπλε συν στην επάνω δεξιά γωνία. Ονομάστε το μπλοκ ό, τι θέλετε (φαίνεται στις φωτογραφίες 6 και 7) και δώστε του μια μέγιστη τιμή 1024 και μια ελάχιστη τιμή 0 (τιμές του αισθητήρα μυών).
Επαναλάβετε το ίδιο με το μπλοκ γραφήματος γραμμής (φωτογραφία 8) όπως παραπάνω με το μπλοκ Gauge.
Εάν έχετε κάνει τα παραπάνω, πρέπει να έχετε παρόμοια οθόνη με την τελευταία φωτογραφία.
Βήμα 3: Εισαγωγή Arduino
Στο βήμα 1 έχετε κάνει σωστά τη ρύθμιση της καλωδίωσης του αισθητήρα μυών MyoWare. Αυτό το βήμα θα καταδυθούμε στον κώδικα Arduino που συνοδεύει τη σύνδεση στο βήμα 2 του πίνακα ελέγχου του Adafruit IO. Στο τέλος αυτού του βήματος, θα δείτε τις τιμές εισόδου του αισθητήρα Myoware Muscle στα δύο Blocks που έχετε ρυθμίσει.
Ρύθμιση Arduino
Βεβαιωθείτε ότι έχετε εγκαταστήσει όλες τις βιβλιοθήκες που αναφέρονται παραπάνω στην εισαγωγή.
Θα δουλέψουμε με ένα παράδειγμα σκίτσου. Ανοίξτε λοιπόν Αρχείο> Παράδειγμα> Adafruit IO Arduino> adafruitio_08_analog_in (φωτογραφία 1). Γιατί αυτό το σκίτσο; επειδή πρώτα ρυθμίζουμε το τμήμα εισόδου αυτού του εγχειριδίου. Ο αισθητήρας μυών MyoWare χρησιμοποιεί αναλογική έξοδο. Αν θέλετε να μπείτε περισσότερο στο θέμα σχετικά με το αναλογικό.
Διαμόρφωση δικτύου ArduinoΓια να διαμορφώσετε τις ρυθμίσεις δικτύου, κάντε κλικ στην καρτέλα config.h στο σκίτσο. Θα χρειαστεί να ορίσετε το όνομα χρήστη Adafruit IO στο ορισμό IO_USERNAME και το κλειδί IO Adafruit στο ορισμό IO_KEY. Μπορείτε να βρείτε το όνομα χρήστη και το κλειδί σας επάνω δεξιά στην οθόνη στο Arduino IO (παράδειγμα στη φωτογραφία 2)
#define IO_USERNAME "your_username"
#define IO_KEY "your_key"
WiFi Config Το WiFi είναι ενεργοποιημένο από προεπιλογή στο config.h οπότε αν χρησιμοποιείτε έναν από τους υποστηριζόμενους πίνακες WiFi, θα χρειαστεί να τροποποιήσετε μόνο τις επιλογές WIFI_SSID και WIFI_PASS στην καρτέλα config.h.
#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"
Αν έχετε αλλαγές στις ρυθμίσεις σας παραπάνω, μπορούμε να προχωρήσουμε στον πραγματικό κωδικό, adafruit_08_analog_in. Ο πείρος defeault σε αυτό το παράδειγμα είναι statet σε AO. Αυτή είναι η σωστή καρφίτσα καθώς τοποθετήσατε τον αισθητήρα μυών σας στον πίνακα στο βήμα 2.
Αυτό το παράδειγμα χρησιμοποιεί έναν αισθητήρα φωτοκυττάρων, επειδή χρησιμοποιούμε έναν αισθητήρα μυών θα αλλάξουμε αυτό το όνομα. Δεν έχει σημασία αν το κάνετε αυτό, θα το κάνει μόνο νοηματικά πιο καθαρό. Αλλάξτε PHOTOCELL_PIN σε MUSCLESENSOR_PIN κάντε το σε δύο σημεία του σκίτσου.
/************************ Το παράδειγμα ξεκινά εδώ ********************* *********/
// αναλογική ακίδα 0 #καθορίστε PHOTOCELL_PIN A0
Στην τελευταία κωδική γραμμή υπάρχει μια καθυστέρηση. Αυτή η καθυστέρηση είναι 1 δευτερόλεπτο, πρόκειται να ορίσουμε σε 2 δευτερόλεπτα για το 2000. Το κάνουμε αυτό επειδή υπάρχει άδεια χρήσης στο Adafruit IO με όριο δεδομένων, κάτω από δύο δευτερόλεπτα αυτό το σκίτσο υπερβαίνει αυτό το όριο δεδομένων και θα δώσει ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΠΕΡΙΠΤΩΣΗΣ Το Αυτό σημαίνει ότι δεν υπάρχουν εισερχόμενες τιμές. Η ρύθμιση αυτού σε δύο δευτερόλεπτα το αποτρέπει.
// περιμένετε ένα δευτερόλεπτο (1000 χιλιοστά του δευτερολέπτου == 1 δευτερόλεπτο) καθυστέρηση (2000).
Αυτό ήταν που έπρεπε να αλλάξετε στο σκίτσο για να λειτουργήσει. Αν θέλετε να μάθετε ακριβώς πώς λειτουργεί ολόκληρος ο κώδικας. Μπορείτε να το βρείτε στο Learn Adafruit, με μια εξήγηση για κάθε μπλοκ κώδικα.
Ελέγξτε Ανεβάστε το σκίτσο στον πίνακα και ανοίξτε το Arduino Serial Monitor. Ο πίνακας σας θα πρέπει τώρα να συνδεθεί με το Adafruit IO.
Τώρα μπορείτε να σφίξετε το χέρι σας και θα πρέπει να δείτε τις μεταβαλλόμενες τιμές να αποστέλλονται στο Adafruit IO (όπως στη φωτογραφία 3). Εάν δεν βλέπετε τιμές στη Σειριακή οθόνη, ελέγξτε αν έχετε ορίσει την τιμή Baud στη Σειριακή οθόνη σε 115200.
Adafruit IO DashboardΕλέγξτε τον πίνακα ελέγχου σας στο Adafruit IO και θα δείτε ότι ο μετρητής και το γράφημα γραμμών ανταποκρίνονται στις αλλαγές των τιμών του MyoWare Muscle Sensor.
Βήμα 4: Adafruit IO Trigger Setup
Μέχρι τώρα είχαμε τη δυνατότητα να πραγματοποιήσουμε είσοδο από τον αισθητήρα μυών MyoWare στο Adafruit IO που λειτουργεί. Τώρα θα ξεκινήσουμε να διαβάζουμε αυτές τις πληροφορίες. Έτσι, αφού ανιχνευθεί 5 φορές μια τιμή πάνω από το Χ του αισθητήρα μυών, πραγματοποιείται μια ενέργεια από τη λωρίδα led Neopixel.
Αυτή η ενότητα ήταν για μένα όπου έπρεπε να διερευνήσω πώς μπορώ να διαβάσω το ιστορικό του Adafruit IO. Είχα εργαστεί με Feeds και Dashboards στο παρελθόν, οπότε σκέφτηκα ότι η ροή και ο πίνακας ελέγχου που δημιουργήθηκαν θα μπορούσαν να το διαβάσουν και να δημιουργήσουν μια ενέργεια εδώ στο Arduino. Μέχρι στιγμής δεν τα έχω καταφέρει. Μετά από πολλή έρευνα και Adofruit IO, ανακάλυψα ότι μια ενέργεια μπορεί να ενεργοποιηθεί με τη συνάρτηση Trigger στο Adafruit IO. Μάθετε περισσότερα για τους Ενεργοποιητές.
Μια επιπλέον ροή Πριν μπορέσουμε να κάνουμε ένα Trigger πρέπει να δημιουργήσουμε μια άλλη ροή ώστε να μπορούμε να την ονομάσουμε στο Arduino για να λάβουμε την έξοδο. Δημιουργήστε μια ροή με το όνομα AlertTriggered.
Δημιουργήστε ένα TriggerΝόταν οι κεφαλίδες Feed and Dashboard είναι Trigger, πηγαίνετε εδώ. Δημιουργήστε μια νέα σκανδάλη. Θα ερωτηθείτε εάν θέλετε να δημιουργήσετε ένα Reactive Trigger ή Schedule Trigger, επιλέξτε Reactive Trigger και κάντε κλικ στη δημιουργία. Αυτό συμβαίνει επειδή θέλετε να ενεργοποιήσετε κάτι μόνο όταν συμβαίνει κάτι (φωτογραφία 1).
Πρέπει να οριστεί ένας αριθμός πραγμάτων (Τα επόμενα βήματα εμφανίζονται επίσης στη φωτογραφία 2).- Επιλέξτε την αναλογική ροή στο πρώτο If, έτσι η είσοδος θα ληφθεί από εδώ.
-Επιλέγετε μεγαλύτερο από αυτό, επειδή θέλετε να ενεργοποιήσετε κάτι όταν η τιμή υπερβεί έναν τέτοιο αριθμό.
-Τιμή σύγκρισης μπορείτε να εισαγάγετε τον αριθμό που θέλετε για να ενεργοποιήσετε τη σκανδάλη. Έκανα 600 σε αυτή την περίπτωση.
-Με το arduino θα πρέπει να λάβετε σχόλια όταν υπερβεί τα 600: έτσι στο Στη συνέχεια επιλέξτε δημοσίευση μηνύματος προς:.
-Μετά από αυτό μπορείτε να επιλέξετε τη δεύτερη ροή που δημιουργήσατε AlertTriggered.
Στο τέλος κάντε κλικ στη δημιουργία.
Βήμα 5: Έξοδος Neopixel
Το τελευταίο βήμα είναι η παραγωγή της εξόδου. Έγινε στο σκίτσο του Arduino που έχετε επεξεργαστεί, καλώντας τη ροή AlertTriggered (που δημιουργήσατε στο προηγούμενο βήμα).
Για να μπορέσετε να δημιουργήσετε έξοδο, πρέπει πρώτα να συνδέσετε τη λωρίδα led Neopixel στο NodeMCU.- + 5v (αριστερό) καλώδιο της λωρίδας led στα 3v του καλωδίου NodeMCU- GND (δεξιά) στο G του κόμβου (G = GND)- Κεντρικό καλώδιο DIN της λυχνίας LED στο D5 (ή οποιαδήποτε άλλη θύρα D)
Ο CodeI συμπεριέλαβε ολόκληρο το σκίτσο με εναλλαγές σε αυτό το βήμα ως αρχείο (μπορείτε να το βρείτε στο κάτω μέρος αυτού του βήματος). Αυτό είναι το ίδιο σκίτσο με το οποίο έχετε εργαστεί στα τελευταία βήματα, αλλά τώρα περιλαμβάνεται το τελικό σκίτσο με τα βήματα που πρέπει να κάνετε για να δημιουργήσετε την έξοδο. adafruitio_musclesensor_neopixel αρχείο. Αυτό λειτουργεί με το config.h που είχατε ρυθμίσει προηγουμένως με τα δεδομένα σας. Τα μπλοκ κώδικα περιλαμβάνονται με σχόλια, ώστε να μπορείτε να δείτε τι συμβαίνει.
Σε αυτό τον κώδικα δημιούργησα μια σκανδάλη, όταν το AlertTriggered (αυτό που δηλώσαμε στο προηγούμενο βήμα για τιμή μεγαλύτερη από 600) ενεργοποιείται περισσότερο από 5 φορές. Αυτό σημαίνει ότι όταν ενεργοποιείται, η λωρίδα led Neopixel έχει οριστεί από λευκό σε κόκκινο. Αυτό θα συμβεί για ένα λεπτό και στη συνέχεια η κόκκινη κατάσταση θα εξασθενίσει και θα μεταφερθεί ξανά στη λευκή κατάσταση.
Serial Monitor Για να γίνει πιο σαφές για εσάς ως προγραμματιστής, το τελευταίο σετ κώδικα είναι για το Serial Monitor. Ποιες είναι οι τιμές και πότε ενεργοποιείτε το επίπεδο ειδοποίησης. Μαζί με την προσθήκη δευτερολέπτων όταν είναι ενεργοποιημένη η κατάσταση ειδοποίησης, μέχρι μετά από 60 δευτερόλεπτα να απενεργοποιηθεί ξανά. Αυτό το μέρος είναι επομένως προαιρετικό.
// για να εμφανίζονται τα δευτερόλεπτα που περνούν στο Serial Monitor όταν το alartstate είναι στο Serial.println ("Τα δευτερόλεπτα πέρασαν:"). Serial.println (secondsPassed); } else {secondsPassed = 0; }
ΈλεγχοςΕάν έχετε ολοκληρώσει τα βήματα ή έχετε πάρει το σκίτσο αρχείο adafruitio_musclesensor_neopixel με το δικό σας config.h, μπορείτε να το ανεβάσετε στο NodeMCU. Εάν έχει γίνει, πρέπει να δείτε κάτι παρόμοιο όπως παρακάτω στη σειριακή οθόνη σας:
Σύνδεση με το Adafruit IO…
Συνδέθηκε το Adafruit IO. Αποστολή -> 23 Αποστολή -> 78
Η φωτογραφία 1 είναι το Serial Monitor όταν βρίσκεται στο Alertmode.
Δεν δουλεύει; Ελέγξτε τα ακόλουθα πράγματα- Ελέγξτε αν το config.h περιλαμβάνεται με τον σωστό τρόπο- Έχετε βάλει το σωστό όνομα χρήστη και κλειδί Adafruit IO- Έχετε βάλει στο σωστό SSID κωδικό πρόσβασης Wifi- Έχετε τοποθετήσει την καλωδίωση του MyoWare Αισθητήρας μυών δεξιά και από τη Neopixel Led Strip
Or ελέγξτε τα προηγούμενα βήματα.
Βήμα 6: Αποτελέσματα
Ουρά τελειώσατε! Για να δείξω και να δω το τελικό προϊόν σε δράση, έχω συμπεριλάβει ένα βίντεο.
Συνιστάται:
[EMG] Διακόπτης ενεργοποίησης μυών: 3 βήματα
[EMG] Muscle Activated Switch: Αυτό το πρωτότυπο δείχνει τις δυνατότητες υλικού/λογισμικού χαμηλού κόστους και ανοιχτού κώδικα για να επιτρέψει τον έλεγχο του υπολογιστή μέσω ηλεκτρικής μυϊκής δραστηριότητας. Το κόστος που σχετίζεται με τις συσκευές εκτός ράφι περιορίζει την πρόσβαση σε αυτήν την τεχνολογία, η οποία μπορεί να
ESP8266 RGB LED STRIP WIFI Έλεγχος - NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi - Έλεγχος Smartphone RGB LED STRIP: 4 βήματα
ESP8266 RGB LED STRIP WIFI Έλεγχος | NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi | RGB LED STRIP Smartphone Control: Γεια σας παιδιά σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε το nodemcu ή το esp8266 ως τηλεχειριστήριο IR για τον έλεγχο μιας λωρίδας LED RGB και το Nodemcu θα ελέγχεται από smartphone μέσω wifi. Έτσι, βασικά μπορείτε να ελέγξετε το RGB LED STRIP με το smartphone σας
Από φακό στον αισθητήρα κίνησης με ESP8266 και MQTT: 5 βήματα (με εικόνες)
Από φακό σε αισθητήρα κίνησης με ESP8266 και MQTT: Σε αυτήν την ανάρτηση, θα παρουσιάσω τα παρακάτω στοιχεία: Οι λυχνίες LED χρειάζονται ένα περιορισμένο ρεύμα για να κάνουν έναν φακό να κάνει ένα φως που τροφοδοτείται από τη φορητή μπαταρία και να μειώνει τις λυχνίες LED με ESP8266 μέσω MQTTΤο βίντεο είναι η ανακεφαλαίωση και μια σύντομη εξήγηση για το πώς
Light Show Jacket που αντιδρά στη μουσική: 7 βήματα (με εικόνες)
Light Show Jacket That Reacts to Music: Αυτό το σεμινάριο έχει δημιουργηθεί ως μέρος του τελευταίου έτους του έργου μου για το πτυχίο μου στη Μουσική Τεχνολογία και την Εφαρμοσμένη Ηλεκτρονική στο Πανεπιστήμιο της Υόρκης. Απευθύνεται σε μουσικούς με ενδιαφέρον για τα ηλεκτρονικά. Το τελικό προϊόν θα είναι μήτρα LED
Ζωντανή παρακολούθηση της αξίας του αισθητήρα σας από οπουδήποτε στον κόσμο: 4 βήματα
Ζωντανή παρακολούθηση της αξίας του αισθητήρα σας από οπουδήποτε στον κόσμο: Έλαβα ένα μήνυμα στον αριθμό WhatsApp της techiesms ’ σχετικά με τη βοήθεια για την πραγματοποίηση ενός έργου. Το έργο ήταν να μετρηθεί η πίεση που ασκείται στον αισθητήρα πίεσης και να εμφανιστεί στο έξυπνο τηλέφωνο. Έτσι βοήθησα να γίνει αυτό το έργο και αποφάσισα να κάνω έναν δάσκαλο