Spisu treści:
- Krok 1: Podłączanie czujnika mięśni Myware (szczególnie dla tych, którzy nigdy wcześniej z nim nie pracowali)
- Krok 2: Konfiguracja IO Adafruit
- Krok 3: Wejście Arduino
- Krok 4: Konfiguracja wyzwalacza Adafruit IO
- Krok 5: Wyjście Neopiksela
- Krok 6: Wyniki
Wideo: Pasek LED Neopixel reagujący na czujnik mięśni Myware: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Celem jest zainstalowanie czujnika mięśniowego za pomocą Arduino i przetwarzanie przychodzących danych za pomocą Adafruit IO i pobieranie danych wyjściowych za pomocą wyzwalacza, aby światło zmieniło się z białego na czerwony na jedną minutę.
Co to jest czujnik mięśniowy Czujnik mięśniowy mierzy aktywność elektryczną mięśnia i wytwarza analogowy sygnał wyjściowy, który może być łatwo odczytany przez mikrokontroler. Elektromiografia (EMG) mierzy odpowiedź mięśni lub aktywność elektryczną w odpowiedzi na stymulację mięśnia przez nerw. Test służy do wykrywania nieprawidłowości nerwowo-mięśniowych. Podczas testu jedna lub więcej małych igieł (zwanych również elektrodami) jest wprowadzanych przez skórę do mięśnia.
Do tego projektu potrzebujesz: -Czujnik mięśni MyoWare -Elektrody EMG -NodeMCU (esp8266) -Silikonowy przewód osłonowy -Mikrokabel USB -Neopikselowy pasek led
Biblioteki, których będziesz potrzebować: -Adafruit io Arduino (przynajmniej wersja 2.3.0) -Adafruit Neopixel (wersja 1.2.5) -Biblioteka Adafruit MQTT (1.0.3) -Arduino HttpClients (0.4.0)Jeśli nie masz biblioteki już zainstalowane. Następnie przejdź do Sketch> include Library> Manage Libraries … wpisz: [nazwa biblioteki, którą chcesz zainstalować] w polu wyszukiwania.
Krok 1: Podłączanie czujnika mięśni Myware (szczególnie dla tych, którzy nigdy wcześniej z nim nie pracowali)
Jeśli nigdy nie pracowałeś z czujnikiem mięśni Myoware, dobrze jest najpierw zrozumieć, jak ten czujnik jest podłączony i czytelny na monitorze szeregowym w Arduino. Ta operacja jest standardową procedurą, która została już opisana w wielu podręcznikach. Platforma Adafruit zawiera jasny opis tego, jak to działa w kilku krokach:
learn.adafruit.com/rozpoczęcie-z-moim…
SprawdźJeśli wykonasz wszystkie te kroki, zobaczysz na monitorze szeregowym, że wartości zmieniają się, gdy napinasz mięśnie. Kiedy zaciśniesz pięść i zaciśniesz mięśnie, wartości powinny wzrosnąć, a kiedy rozluźnisz mięśnie, wartości te powinny znowu spaść.
WażneTen krok służy tylko do skonfigurowania czujnika. Użyty kod nie jest potrzebny w dalszej części instrukcji. Tylko sposób, w jaki umieścisz sam czujnik, pozostaje taki sam dla kolejnych kroków.
Krok 2: Konfiguracja IO Adafruit
Pierwszym krokiem jest zalogowanie się lub utworzenie konta w Adafruit IO, przejście do Adafruit IO. Adafruit IO to platforma w chmurze, z którą możesz połączyć się przez Internet. Adafruit IO sprawia, że dane są przydatne przy połączeniach danych.
Kiedy jesteś na swoim koncie:
Utwórz kanał analogowy Następnie musisz utworzyć kanał o nazwie Analog. Jeśli potrzebujesz pomocy w rozpoczęciu tworzenia kanałów na Adafruit IO, zapoznaj się z przewodnikiem Adafruit IO Feed Basics (jak na zdjęciach 1 i 2).
Dodając Gauge Block i Line chart BlockNext, utwórz nowy pulpit nawigacyjny i nazwij go, jak chcesz (pokazane na zdjęciach 3, 4 i 5, aby utworzyć nowy pulpit nawigacyjny). Upewnij się, że jako źródło danych wybrałeś kanał analogowy.
Gdy jesteś w desce rozdzielczej, dodaj nowy blok Gauge poprzez kliknięcie niebieskiego plusa w prawym górnym rogu. Nazwij blok, jak chcesz (pokazane na zdjęciach 6 i 7) i nadaj mu maksymalną wartość 1024 i minimalną wartość 0 (wartości czujnika mięśniowego).
Powtórz to samo z blokiem wykresu liniowego (zdjęcie 8) jak powyżej z blokiem Gauge.
SprawdźJeżeli zrobiłeś wszystko powyżej, musisz mieć podobny ekran jak na ostatnim zdjęciu.
Krok 3: Wejście Arduino
W kroku 1 prawidłowo wykonałeś konfigurację okablowania czujnika MyoWare Muscle. W tym kroku zagłębimy się w kod Arduino, który jest dostarczany po podłączeniu do kroku 2 pulpitu nawigacyjnego Adafruit IO. Na końcu tego kroku zobaczysz wartości wejściowe czujnika Myware Muscle w dwóch skonfigurowanych blokach.
Konfiguracja Arduino
Upewnij się, że masz zainstalowane wszystkie biblioteki wymienione powyżej we wstępie.
Będziemy pracować z przykładowym szkicem. Więc otwórz Plik> Przykład> Adafruit IO Arduino> adafruitio_08_analog_in (zdjęcie 1). Dlaczego ten szkic? ponieważ najpierw konfigurujemy część wejściową tego podręcznika. Czujnik MyoWare Muscle wykorzystuje wyjście analogowe. Jeśli chcesz bardziej zagłębić się w temat analogowy.
Arduino Network ConfigAby skonfigurować ustawienia sieciowe, kliknij kartę config.h w szkicu. Będziesz musiał ustawić swoją nazwę użytkownika Adafruit IO w definicji IO_USERNAME, a klucz Adafruit IO w definicji IO_KEY. Możesz znaleźć swoją nazwę użytkownika i klucz w prawym górnym rogu ekranu w swoim Arduino IO (przykład na zdjęciu 2)
#define IO_USERNAME "twoja_nazwa użytkownika"
#define IO_KEY "twój_klucz"
WiFi Config WiFi jest domyślnie włączone w config.h, więc jeśli używasz jednej z obsługiwanych kart WiFi, wystarczy zmodyfikować opcje WIFI_SSID i WIFI_PASS w zakładce config.h.
#define WIFI_SSID "twoje_ssid"#define WIFI_PASS "twoje_hasło"
Kod ArduinoJeżeli masz zmiany tych ustawień powyżej, możemy przejść dalej do aktualnego kodu, adafruit_08_analog_in. Domyślny pin w tym przykładzie jest ustawiony na AO. To jest właściwa szpilka, ponieważ w kroku 2 umieściłeś czujnik mięśni na tablicy.
Ten przykład wykorzystuje czujnik fotokomórki, ponieważ używamy czujnika mięśniowego zmienimy tę nazwę. Nie ma znaczenia, czy to zrobisz, tylko uczyni to semantycznie uporządkowanym. Zmień PHOTOCELL_PIN na MUSCLESENSOR_PIN zrób to w dwóch miejscach szkicu.
/************************* Przykład zaczyna się tutaj ********************** **********/
// pin analogowy 0 #define PHOTOCELL_PIN A0
W ostatniej linii kodu umieszczane jest opóźnienie. To opóźnienie wynosi 1 sekundę, ustawimy na 2 sekundy, więc 2000. Robimy to, ponieważ jest licencja na Adafruit IO z limitem danych, poniżej dwóch sekund ten szkic przekracza ten limit danych i da ostrzeżenie PRZEPUSTNICY. Co oznacza, że nie przychodzą żadne wartości. Ustawienie tego na dwie sekundy zapobiega temu.
// czekaj sekundę (1000 milisekund == 1 sekunda) delay(2000);
To właśnie trzeba było zmienić w szkicu, aby to zadziałało. Jeśli chcesz dokładnie wiedzieć, jak działa cały kod. Możesz go znaleźć na Learn Adafruit, wraz z wyjaśnieniem wszystkich bloków kodu.
CheckPrześlij szkic na swoją tablicę i otwórz Arduino Serial Monitor. Twoja płyta powinna teraz połączyć się z Adafruit IO.
możesz teraz zacisnąć ramię i powinieneś zobaczyć zmieniające się wartości wysyłane do Adafruit IO (jak na zdjęciu 3). Jeśli nie widzisz żadnych wartości na monitorze szeregowym, sprawdź, czy ustawiono szybkość transmisji w monitorze szeregowym na 115200.
Adafruit IO Dashboard Sprawdź swój pulpit nawigacyjny w Adafruit IO, a powinieneś zobaczyć, jak wskaźnik i wykres liniowy reagują na zmiany wartości MyoWare Muscle Sensor.
Krok 4: Konfiguracja wyzwalacza Adafruit IO
Do tej pory byliśmy w stanie wprowadzić dane z czujnika MyoWare Muscle do działania Adafruit IO. Teraz zaczniemy czytać te informacje. Tak, że po 5-krotnym wykryciu wartości powyżej X czujnika mięśniowego, akcja jest wykonywana przez pasek led Neopixel.
Ta sekcja była dla mnie, w której musiałem zbadać, jak mogę odczytać historię Adafruit IO. Pracowałem wcześniej z kanałami i pulpitami nawigacyjnymi, więc pomyślałem, że utworzony kanał i pulpit nawigacyjny mogą to odczytać i utworzyć akcję tutaj w Arduino. Do tej pory mi się nie udało. Po wielu badaniach i Adafruit IO odkryłem, że akcję można wyzwolić funkcją Trigger w Adafruit IO. Dowiedz się więcej o wyzwalaczach.
Dodatkowy kanał Zanim będziemy mogli utworzyć wyzwalacz, musimy utworzyć inny kanał, abyśmy mogli go nazwać w Arduino, aby uzyskać dane wyjściowe. Utwórz kanał o nazwie AlertTriggered.
Utwórz wyzwalacz Obok nagłówków Kanał i pulpit nawigacyjny to wyzwalacz, przejdź tutaj. Utwórz nowy wyzwalacz. Zostaniesz zapytany, czy chcesz utworzyć wyzwalacz reaktywny, czy wyzwalacz harmonogramu, wybierz wyzwalacz reaktywny i kliknij Utwórz. Dzieje się tak, ponieważ chcesz wyzwolić coś tylko wtedy, gdy coś się stanie (zdjęcie 1).
Wiele rzeczy musi być ustawionych (kolejne kroki są również pokazane na zdjęciu 2). -Wybierz analogowe zasilanie przy pierwszym Jeżeli, więc wejście będzie pobierane z tego miejsca.
- Czy wybierasz większe niż, ponieważ chcesz wyzwolić coś, gdy wartość przekroczy taką liczbę.
-Wartość porównania można wpisać żądany numer, aby aktywować wyzwalacz. W tym przypadku zrobiłem 600.
-Z arduino będziesz musiał otrzymać informację zwrotną, gdy przekroczy 600: więc w Następnie wybierz opublikuj wiadomość do:.
-Po którym możesz wybrać swój drugi kanał utworzony AlertTriggered.
Na koniec kliknij Utwórz.
Krok 5: Wyjście Neopiksela
Ostatnim krokiem jest wygenerowanie danych wyjściowych. Zrobione w szkicu Arduino, który edytowałeś, wywołując kanał AlertTriggered (utworzony w poprzednim kroku).
Aby móc generować dane wyjściowe, musisz najpierw podłączyć pasek LED Neopixel do NodeMCU.- + przewód 5v (lewy) paska LED na 3v przewodu NodeMCU-GND (prawy) na G węzła (G = GND)- Środkowy przewód DIN diody LED na D5 (lub dowolny inny port D)
CodeZałączyłem cały szkic z alternatywami w tym kroku jako plik (można go znaleźć na dole tego kroku). Jest to ten sam szkic, z którym pracowałeś w ostatnich kilku krokach, ale teraz ostateczny szkic jest dołączony do kroków, które musisz wykonać, aby wygenerować wynik. plik adafruitio_musclesensor_neopixel. Działa to z plikiem config.h, który wcześniej ustawiłeś w swoich danych. Wszystkie bloki kodu są dołączone do komentarzy, dzięki czemu możesz zobaczyć, co się dzieje.
Jakie dane wyjściowe zostały zakodowaneW tym kodzie stworzyłem wyzwalacz, gdy AlertTriggered (co zadeklarowaliśmy w poprzednim kroku nad wartością większą niż 600) jest wyzwalany więcej niż 5 razy. Oznacza to, że po uruchomieniu pasek LED Neopixel zmienia kolor z białego na czerwony. Stanie się to przez minutę, po czym czerwony stan zniknie i zostanie ponownie zapętlony do stanu białego.
Serial Monitor Aby ułatwić programiście, ostatni zestaw kodu dotyczy monitora szeregowego. Jakie są wartości i kiedy masz wyzwala poziom alertu. Wraz z dodawaniem sekund, gdy stan Alert jest włączony, aż po 60 sekundach ponownie przełączy się w stan Alert wyłączony. Ta część jest zatem opcjonalna.
//aby pokazać upływające sekundy w Monitorze szeregowym, gdy alartstate jest włączony Serial.println("Sekundy minęły:"); Serial.println(sekundy minęły); } else { sekundyPrzekazane = 0; }
SprawdźJeśli wykonałeś wszystkie kroki lub masz plik szkicu adafruitio_musclesensor_neopixel z własnym plikiem config.h, możesz go przesłać do swojego NodeMCU. Jeśli to zrobisz, musisz zobaczyć coś podobnego do poniższego w monitorze szeregowym:
Podłączanie do Adafruit IO…
Adafruit IO podłączony. Wysyłanie -> 23 Wysyłanie -> 78
Zdjęcie 1 to monitor szeregowy w trybie alertu.
To nie działa? Sprawdź następujące rzeczy - Sprawdź, czy plik config.h jest dołączony we właściwy sposób - Czy umieściłeś właściwą nazwę użytkownika i klucz Adafruit IO - Czy umieściłeś poprawny identyfikator SSID i hasło Wifi - Czy umieściłeś okablowanie MyoWare Czujnik mięśni z prawej strony i z paska Led Neopixel
Lub sprawdź poprzednie kroki.
Krok 6: Wyniki
Hurra, skończyłeś! Aby zademonstrować i zobaczyć produkt końcowy w akcji, zamieściłem film.
Zalecana:
Pasek LED reagujący na muzykę: 5 kroków
Paski LED reagujące na muzykę: Wprowadzenie: Paski LED reagujące na muzykę są niezwykłe w przypadku przedsięwzięć oświetleniowych. Możesz to zrobić z Arduino, a ponadto bez Arduino. Teraz porozmawiamy o tym, jak zrobić pasek LED Music Reactive za pomocą programowania Arduino
Pasek LED reagujący na dźwięk: 7 kroków
Pasek LED reagujący na dźwięk: Cześć przyjacielu, Dzisiaj zrobię bardzo interesujący obwód, który jest paskiem LED reagującym na dźwięk. Taśma LED będzie świecić zgodnie z muzyką. Ten obwód jest niesamowity. Zwiększy oświetlenie pokoju. Zacznijmy
Pasek LED reagujący na muzykę (nowoczesny obszar roboczy): 5 kroków (ze zdjęciami)
Pasek LED reagujący na muzykę (nowoczesny obszar roboczy): to prawdziwy szybki przewodnik po oświetleniu LED w obszarach roboczych. W tym konkretnym przypadku dowiesz się, jak zainstalować taśmę LED, która reaguje na muzykę (niska częstotliwość), oświetlenie audiorytmiczne, aby cieszyć się filmami, muzyką i grami na innym poziomie
Wyświetlacz LED reagujący na dźwięk: 6 kroków (ze zdjęciami)
Wyświetlacz LED reagujący na dźwięk: Cześć chłopaki! To mój pierwszy Instruktaż i zrobiłem wyświetlacz LED oparty na arduino. Mam nadzieję że to polubisz! Jeśli masz jakieś pytania, możesz je zadać:-)). Główną koncepcją jest to, że jeśli zapalisz arkusz akrylowy (który ma coś wygrawerowanego w
Chwytak wykonany z miękkich mięśni (siłowniki): 14 kroków (ze zdjęciami)
Chwytak wykonany z miękkich mięśni (siłowników): W moim poprzednim samouczku wyjaśniłem wytwarzanie miękkiego mięśnia (siłownika), w tym samouczku użyjemy czterech z tych mięśni do stworzenia chwytaka, który będzie w stanie chwycić i przytrzymać przedmiot .Jeśli nie oglądałeś mojego poprzedniego kawałka