Inhaltsverzeichnis:
- Schritt 1: Anschließen des Myoware-Muskelsensors (insbesondere für diejenigen, die noch nie damit gearbeitet haben)
- Schritt 2: Adafruit IO-Setup
- Schritt 3: Arduino-Eingang
- Schritt 4: Adafruit IO-Trigger-Setup
- Schritt 5: Neopixel-Ausgabe
- Schritt 6: Ergebnisse
Video: Neopixel-LED-Streifen, der auf Myoware-Muskelsensor reagiert - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Ziel ist es, mit Hilfe von Arduino einen Muskelsensor zu installieren und die eingehenden Daten mit Adafruit IO zu verarbeiten und die Ausgabe mit einem Trigger so abzurufen, dass das Licht für eine Minute von weiß auf rot wechselt.
Was ist ein Muskelsensor? Der Muskelsensor misst die elektrische Aktivität eines Muskels und erzeugt ein analoges Ausgangssignal, das leicht von einem Mikrocontroller gelesen werden kann. Die Elektromyographie (EMG) misst die Muskelreaktion oder die elektrische Aktivität als Reaktion auf die Stimulation des Muskels durch einen Nerv. Der Test wird verwendet, um neuromuskuläre Anomalien zu erkennen. Während des Tests werden eine oder mehrere kleine Nadeln (auch Elektroden genannt) durch die Haut in den Muskel eingeführt.
Für dieses Projekt benötigen Sie: -MyoWare-Muskelsensor -EMG-Elektroden -NodeMCU (esp8266) -Silikon-Abdeckungsdraht -USB-Mikrokabel -Neopixel-LED-Streifen
Bibliotheken, die Sie benötigen: - Adafruit io Arduino (mindestens Version 2.3.0) - Adafruit Neopixel (Version 1.2.5) - Adafruit MQTT-Bibliothek (1.0.3) - Arduino HttpClients (0.4.0) Wenn Sie kein te. haben Bibliotheken noch installiert. Gehen Sie dann zu Sketch> Bibliothek einschließen> Bibliotheken verwalten … geben Sie: [den Bibliotheksnamen, den Sie installieren möchten] in das Suchfeld ein.
Schritt 1: Anschließen des Myoware-Muskelsensors (insbesondere für diejenigen, die noch nie damit gearbeitet haben)
Wenn Sie noch nie mit einem Myoware-Muskelsensor gearbeitet haben, ist es gut, zuerst zu verstehen, wie dieser Sensor im seriellen Monitor in Arduino angeschlossen und lesbar ist. Dieser Vorgang ist ein Standardverfahren, das in vielen Handbüchern bereits beschrieben wurde. Die Adafruit-Plattform hat eine klare Beschreibung, wie dies in wenigen Schritten funktioniert:
learn.adafruit.com/getting-started-with-my…
CheckWenn alle diese Schritte durchgeführt wurden, sehen Sie in Ihrem seriellen Monitor, dass sich die Werte ändern, wenn Sie Ihre Muskeln anspannen. Wenn Sie eine Faust machen und Ihren Muskel anspannen, sollten die Werte steigen und wenn Sie Ihren Muskel entspannen, sollten diese Werte wieder sinken.
WichtigDieser Schritt dient nur zum Einrichten des Sensors. Der von Ihnen verwendete Code ist für den Rest des Handbuchs nicht erforderlich. Nur die Art und Weise, wie Sie den Sensor selbst aufstellen, bleibt für die nächsten Schritte gleich.
Schritt 2: Adafruit IO-Setup
Der erste Schritt besteht darin, sich bei Adafruit IO anzumelden oder ein Konto zu erstellen. Navigieren Sie zu Adafruit IO. Adafruit IO ist eine Cloud-Plattform, mit der Sie sich über das Internet verbinden können. Adafruit IO macht Daten mit Datenverbindungen nützlich.
Wenn Sie in Ihrem Konto sind:
Erstellen Sie den analogen Feed Als nächstes müssen Sie einen Feed namens Analog erstellen. Wenn Sie Hilfe bei der Erstellung von Feeds in Adafruit IO benötigen, lesen Sie die Anleitung zu den Feed-Grundlagen von Adafruit IO (wie auf Foto 1 und 2).
Fügen Sie den Messblock und den Liniendiagramm-Block hinzu. Erstellen Sie als nächstes ein neues Dashboard und benennen Sie es wie Sie es benennen möchten (in den Fotos 3, 4 und 5 gezeigt, um ein neues Dashboard zu erstellen). Stellen Sie sicher, dass Sie als Datenquelle den analogen Feed ausgewählt haben.
Wenn Sie sich im Dashboard befinden, fügen Sie ein neues Endmaß hinzu, indem Sie auf das blaue Plus in der oberen rechten Ecke klicken. Benennen Sie den Block wie Sie möchten (siehe Fotos 6 und 7), und geben Sie ihm einen Höchstwert von 1024 und einen Mindestwert von 0 (Werte des Muskelsensors).
Wiederholen Sie dasselbe mit dem Liniendiagrammblock (Foto 8) wie oben mit dem Messblock.
CheckWenn Sie alle oben genannten Schritte ausgeführt haben, müssen Sie einen ähnlichen Bildschirm wie das letzte Foto haben.
Schritt 3: Arduino-Eingang
In Schritt 1 haben Sie die Einrichtung der Verkabelung des MyoWare Muskelsensors korrekt durchgeführt. In diesem Schritt werden wir in den Arduino-Code eintauchen, der mit der Verbindung zu Schritt 2 des Adafruit IO-Dashboards verbunden ist. Am Ende dieses Schrittes sehen Sie die Eingabewerte des Myoware Muskelsensors in den beiden von Ihnen eingerichteten Blöcken.
Arduino-Setup
Stellen Sie sicher, dass Sie alle Bibliotheken installiert haben, die oben in der Einführung erwähnt wurden.
Wir werden mit einer Beispielskizze arbeiten. Öffnen Sie also Datei> Beispiel> Adafruit IO Arduino> adafruitio_08_analog_in (Foto 1). Warum diese Skizze? weil wir zuerst den Eingabeteil dieses Handbuchs einrichten. Der MyoWare Muskelsensor verwendet einen analogen Ausgang. Wenn Sie mehr in das Thema Analog eintauchen möchten.
Arduino Network ConfigUm die Netzwerkeinstellungen zu konfigurieren, klicken Sie auf die Registerkarte config.h in der Skizze. Sie müssen Ihren Adafruit IO-Benutzernamen in der IO_USERNAME-Definition und Ihren Adafruit IO-Schlüssel in der IO_KEY-Definition festlegen. Sie finden Ihren Benutzernamen und Schlüssel oben rechts auf dem Bildschirm in Ihrem Arduino IO (Beispiel auf Foto 2)
#define IO_USERNAME "Ihr_Benutzername"
#define IO_KEY "Ihr_Schlüssel"
WiFi Config WiFi ist standardmäßig in config.h aktiviert. Wenn Sie also eine der unterstützten WiFi-Karten verwenden, müssen Sie nur die Optionen WIFI_SSID und WIFI_PASS auf der Registerkarte config.h ändern.
#define WIFI_SSID "your_ssid"#define WIFI_PASS "your_pass"
Arduino CodeWenn Sie die obigen Einstellungen geändert haben, können wir weiter zum eigentlichen Code gehen, adafruit_08_analog_in. Der Standard-Pin in diesem Beispiel ist auf AO angegeben. Dies ist der richtige Pin, da Sie Ihren Muskelsensor in Schritt 2 auf dem Board platziert haben.
In diesem Beispiel wird ein Fotozellensensor verwendet, da wir einen Muskelsensor verwenden, ändern wir diesen Namen. Es spielt keine Rolle, wenn Sie dies tun, es wird es nur semantisch aufgeräumter machen. Ändern Sie PHOTOCELL_PIN in MUSCLESENSOR_PIN, tun Sie dies an zwei Stellen der Skizze.
/************************ Beispiel beginnt hier ********************* *********/
// analoger Pin 0 #define PHOTOCELL_PIN A0
In der letzten Codezeile wird eine Verzögerung eingefügt. Diese Verzögerung beträgt 1 Sekunde, wir werden auf 2 Sekunden eingestellt, also 2000. Wir tun dies, weil es eine Lizenz für Adafruit IO mit einem Datenlimit gibt. Unter zwei Sekunden überschreitet diese Skizze dieses Datenlimit und es wird eine GASWARNUNG ausgegeben. Was bedeutet, dass keine Werte eingehen. Wenn Sie dies auf zwei Sekunden setzen, wird dies verhindert.
// eine Sekunde warten (1000 Millisekunden == 1 Sekunde) Verzögerung (2000);
Dies war, was Sie in der Skizze ändern mussten, damit es funktioniert. Wenn Sie genau wissen möchten, wie der gesamte Code funktioniert. Sie finden es auf Learn Adafruit, mit einer Erklärung aller Codeblöcke.
CheckLaden Sie die Skizze auf Ihr Board hoch und öffnen Sie den Arduino Serial Monitor. Ihr Board sollte sich jetzt mit Adafruit IO verbinden.
Sie können jetzt Ihren Arm festziehen und Sie sollten sehen, dass die sich ändernden Werte an Adafruit IO gesendet werden (wie in Foto 3). Wenn Sie im Serial Monitor keine Werte sehen, prüfen Sie, ob Sie die Baudrate im Serial Monitor auf 115200 eingestellt haben.
Adafruit IO DashboardÜberprüfen Sie Ihr Dashboard auf Adafruit IO, und Sie sollten sehen, dass die Anzeige und das Liniendiagramm auf die Änderungen der MyoWare-Muskelsensor-Werte reagieren.
Schritt 4: Adafruit IO-Trigger-Setup
Bisher konnten wir Eingaben vom MyoWare-Muskelsensor an Adafruit IO zum Funktionieren bringen. Jetzt werden wir anfangen, diese Informationen zu lesen. Damit nach 5-mal ein Wert über X des Muskelsensors erkannt wird, wird eine Aktion vom Neopixel-LED-Streifen ausgeführt.
Dieser Abschnitt war für mich, wo ich untersuchen musste, wie ich die Geschichte von Adafruit IO lesen kann. Ich hatte zuvor mit Feeds und Dashboards gearbeitet, also dachte ich, dass der erstellte Feed und das Dashboard dies lesen und hier in Arduino eine Aktion erstellen können. Bisher ist es mir nicht gelungen. Nach viel Recherche und Adafruit IO habe ich entdeckt, dass mit der Trigger-Funktion in Adafruit IO eine Aktion ausgelöst werden kann. Erfahren Sie mehr über Auslöser.
Ein zusätzlicher FeedBevor wir einen Trigger erstellen können, müssen wir einen anderen Feed erstellen, damit wir ihn in Arduino benennen können, um die Ausgabe zu erhalten. Erstellen Sie einen Feed mit dem Namen AlertTriggered.
Erstellen Sie einen TriggerNeben den Überschriften Feed und Dashboard ist Trigger, gehen Sie hier. Erstellen Sie einen neuen Auslöser. Sie werden gefragt, ob Sie einen reaktiven Trigger oder einen Zeitplan-Trigger erstellen möchten, wählen Sie Reaktiver Trigger und klicken Sie auf Erstellen. Dies liegt daran, dass Sie nur dann etwas auslösen möchten, wenn etwas passiert (Foto 1).
Es müssen einige Dinge eingestellt werden (Weitere Schritte sind auch in Foto 2 dargestellt).-Wählen Sie beim ersten Wenn den analogen Feed aus, damit die Eingabe von hier aus übernommen wird.
-Wählen Sie größer als, dies, weil Sie etwas auslösen möchten, wenn der Wert eine solche Zahl überschreitet.
- Vergleichswert Sie können Ihre gewünschte Zahl eingeben, um den Auslöser zu aktivieren. In diesem Fall habe ich 600 gemacht.
-Mit arduino müssen Sie ein Feedback erhalten, wenn es 600 überschreitet: also bei Wählen Sie dann eine Nachricht veröffentlichen an:.
- Danach können Sie Ihren zweiten erstellten Feed AlertTriggered auswählen.
Klicken Sie zuletzt auf Erstellen.
Schritt 5: Neopixel-Ausgabe
Der letzte Schritt besteht darin, die Ausgabe zu generieren. Dies erfolgt in der von Ihnen bearbeiteten Arduino-Skizze durch Aufrufen des AlertTriggered-Feeds (den Sie im vorherigen Schritt erstellt haben).
Um eine Ausgabe erzeugen zu können, müssen Sie zuerst den Neopixel-LED-Streifen an den NodeMCU anschließen. - + 5V (links) Draht Ihres LED-Streifens an den 3V Ihres NodeMCU-GND (rechts) Draht an G des Node (G = GND.))- Mitteldraht DIN der LED an D5 (oder einem anderen D-Port)
CodeIch habe die gesamte Skizze mit Änderungen als Datei in diesen Schritt eingefügt (siehe unten in diesem Schritt). Dies ist die gleiche Skizze, mit der Sie in den letzten Schritten gearbeitet haben, aber jetzt ist die endgültige Skizze in den Schritten enthalten, die Sie ausführen müssen, um die Ausgabe zu generieren. adafruitio_musclesensor_neopixel-Datei. Dies funktioniert mit der config.h, die Sie zuvor mit Ihren Daten eingestellt haben. Alle Codeblöcke sind mit Kommentaren versehen, damit Sie sehen können, was passiert.
Welche Ausgabedaten wurden codiert? Dies bedeutet, dass der Neopixel-LED-Streifen beim Auslösen von Weiß auf Rot eingestellt wird. Dies geschieht für eine Minute und dann wird der rote Zustand verblassen und wieder in den weißen Zustand geschleift.
Serial MonitorUm es Ihnen als Programmierer klarer zu machen, ist der letzte Codesatz für den Serial Monitor. Was die Werte sind und wann Sie die Warnstufe ausgelöst haben. Zusammen mit dem Hinzufügen von Sekunden, wenn der Alarmstatus eingeschaltet ist, bis er nach 60 Sekunden wieder in den Alarmstatus aus wechselt. Dieser Teil ist daher optional.
// um die verstreichenden Sekunden im Serial Monitor anzuzeigen, wenn der alartstate auf Serial.println ("Seconds pass:"); Serial.println (secondsPassed); aufrechtzuerhalten. Sonst { SekundenPassed = 0; }
CheckWenn Sie die Schritte ausgeführt haben oder die Sketch-Datei adafruitio_musclesensor_neopixel mit Ihrer eigenen config.h erhalten haben, können Sie sie auf Ihre NodeMCU hochladen. Wenn dies erledigt ist, müssen Sie in Ihrem seriellen Monitor etwas Ähnliches wie unten sehen:
Verbindung zu Adafruit IO…
Adafruit IO verbunden. Senden -> 23 Senden -> 78
Foto 1 ist der serielle Monitor, wenn er sich im Alarmmodus befindet.
Es funktioniert nicht? Überprüfen Sie die folgenden Dinge - Überprüfen Sie, ob die config.h richtig enthalten ist - Haben Sie den richtigen Adafruit IO-Benutzernamen und -Schlüssel eingegeben - Haben Sie die richtige SSID und ein Wifi-Passwort eingegeben - Haben Sie die Verkabelung der MyoWare platziert? Muskelsensor rechts und vom Neopixel Led Strip
Oder überprüfen Sie die vorherigen Schritte.
Schritt 6: Ergebnisse
Hurra, du bist fertig! Um das Endprodukt in Aktion zu demonstrieren und zu sehen, habe ich ein Video eingefügt.
Empfohlen:
Unifi Controller auf der Google Cloud Platform (GCP): 6 Schritte
Unifi Controller auf der Google Cloud Platform (GCP): Der Unifi Controller von Ubiquity ermöglicht die Webverwaltung ihrer Unifi-Produkte, einschließlich drahtloser Zugangspunkte, Router und Switches. Sie haben eine ausgezeichnete Anleitung zum Einrichten des Controllers auf Amazon AWS mit dem kostenlosen Kontingent, das eine kostenlose VM bietet
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stärkung der SSL-Dienste auf Ihrem Webserver (Apache/Linux): 3 Schritte
Stärkung der SSL-Dienste auf Ihrem Webserver (Apache/Linux): Dies ist ein sehr kurzes Tutorial, das sich mit einem Aspekt der Cybersicherheit befasst – der Stärke des SSL-Dienstes auf Ihrem Webserver. Der Hintergrund ist, dass SSL-Dienste auf Ihrer Website verwendet werden, um sicherzustellen, dass niemand Daten hacken kann, die übertragen werden
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L