Spisu treści:

Pisanie z EMG przy użyciu MyoWare: 8 kroków
Pisanie z EMG przy użyciu MyoWare: 8 kroków

Wideo: Pisanie z EMG przy użyciu MyoWare: 8 kroków

Wideo: Pisanie z EMG przy użyciu MyoWare: 8 kroków
Wideo: Czy ostrzykiwanie przy użyciu USG i EMG jest bardziej skuteczne? (5/14) 2024, Lipiec
Anonim
Pisanie z EMG za pomocą MyoWare
Pisanie z EMG za pomocą MyoWare

Autorski:

L. Elizabeth Crawford i Dylan T. Vavra

Wstęp:

W tym samouczku pokażemy, jak stworzyć prosty domowy system elektromiografii (EMG) – kosztem około 100 USD – który wykryje aktywację mięśni z powierzchni skóry i użyje go do wysłania naciśnięcia klawisza do komputer, z pominięciem klawiatury. Aby to osiągnąć, użyliśmy klasycznego MaKey MaKey i czujnika MyoWare, a także trochę kodowania. Ten projekt również wymaga lutowania. Przydatne wskazówki dotyczące techniki lutowania i bezpieczeństwa można znaleźć tutaj.

Najpierw pokażemy, jak to zrobić za pomocą jednego czujnika MyoWare. Następnie pokażemy, jak dodać do systemu drugi (do naszych celów wykorzystaliśmy dwa).

Mamy nadzieję, że inni będą w stanie naśladować tę technologię DIY EMG, dostosować ją do swoich specyficznych potrzeb i wykorzystać do wielu interesujących zastosowań. Użyliśmy go w naszym laboratorium Psychologii Eksperymentalnej na Uniwersytecie w Richmond, aby powtórzyć badania pokazujące, że ludzie naśladują mimikę innych osób.

Krok 1: Zbierz swoje materiały

Zbierz swoje materiały
Zbierz swoje materiały

Materiały:

  • Komputer
  • MaKey MaKey z dołączonym kablem USB (powinieneś to zrobić również z Arduino Leonardo, ale nie próbowaliśmy tego)
  • Izolator zasilania USB (chyba, że jest zasilany z baterii laptopa), taki jak izolator USB Adafruit - 100mA izolowany port USB o niskiej/pełnej prędkości (nie pokazano)
  • Czujnik(i) MyoWare
  • Elektrody (x3 na czujnik MyoWare) - użyliśmy jednorazowych elektrod EMG/EKG/EKG firmy Covidien Kendall 1" (24 mm)
  • Zrywane nagłówki (użyliśmy nagłówków w kształcie litery L)
  • Przewody ze złączem męskim na jednym końcu, żeńskim na drugim
  • Lutować
  • Taśma elektryczna

Narzędzia:

  • Lutownica
  • Przecinak do drutu
  • Rozdzielacz drutu

Oprogramowanie:

Arduino IDE z dodatkiem MaKey MaKey

Krok 2: Przygotuj czujnik MyoWare

Przygotuj czujnik MyoWare
Przygotuj czujnik MyoWare

1. Oderwij zestaw trzech odłączanych nagłówków do przylutowania do MyoWare.

2. Po ustawieniu czujnika MyoWare bicepsem do góry, włóż krótszy koniec trzech nagłówków od dołu do otworów oznaczonych „+” (znak plus), „-” (znak ujemny) i „SIG” obok nich (patrz obrazek powyżej).

3. Przylutuj nagłówki na miejscu.

Krok 3: Podłącz czujnik MyoWare do MaKey MaKey

1. Wybierz trzy przewody (najlepiej w różnych kolorach), męski na jednym końcu, żeński na drugim. Długość potrzebnych przewodów zależy od tego, jak daleko MyoWare ma być od MaKey MaKey. Aby mieć MyoWare na twarzy, a MaKey MaKey spoczywać na stole, potrzebujesz około 18 cali.

2. Zdecyduj, jaką funkcję będzie pełnić przewód w każdym kolorze. Jeden będzie używany do zasilania (podłączenie do złącza + czujnika MyoWare), jeden będzie używany do uziemienia (podłączenie do złącza - na czujniku MyoWare), a trzeci będzie używany jako przewód sygnałowy (podłączenie do złącze SIG w MyoWare). Na zdjęciach pokazanych w tej instrukcji używamy zielonego dla zasilania, brązowego dla uziemienia i szarego dla sygnału.

Krok 4: Prześlij szkic do MaKey MaKey

Prześlij szkic do MaKey MaKey
Prześlij szkic do MaKey MaKey
Prześlij szkic do MaKey MaKey
Prześlij szkic do MaKey MaKey
Prześlij szkic do MaKey MaKey
Prześlij szkic do MaKey MaKey

1. Zainstaluj Arduino IDE na swoim komputerze (tutorial tutaj).

2. Zainstaluj dodatek MaKey MaKey dla Arduino (tutorial tutaj), otwierając swoje preferencje Arduino (Plik> Preferencje), przechodząc do pola tekstowego Dodatkowe adresy URL menedżera tablicy i wklejając:

raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

3. W Arduino IDE kliknij plik, przeciągnij w dół, aby utworzyć nowy szkic. Skopiuj i wklej ten kod do okna tekstowego:

/* progi rejestracji naciśnięcia klawisza*/const int thresh1 = 1000;/*przypisanie wejść na MaKey MaKey*/const int sensor1Pin = A3;#include "Keyboard.h"int LED (9);void setup(){ pinMode(LED, OUTPUT);Serial.begin(9600);}/*Poniższy kod próbkuje MyoWare co 50 ms, wysyła jego wartość do portu szeregowego, a jeśli wartość przekracza próg, wysyła naciśnięcie klawisza. Możesz próbkować częściej, zmniejszając opóźnienie. Utrudni to odczytanie wartości w oknie szeregowym.*/void loop(){ int sensor1Val = analogRead(sensor1Pin);Serial.println(sensor1Val);if(sensor1Val >= thresh1){Keyboard.begin();/ / Wysyła naciśnięcie klawisza litery "c"Keyboard.write('c');//czekaj 50 ms przed ponownym próbkowaniemdelay(50);}else//czekaj 50 ms przed ponownym próbkowaniemdelay(50);}

4. Podłącz MaKey MaKey do komputera. Rozwiń menu narzędzi i upewnij się, że wybrana płytka to Arduino Leonardo lub MaKey MaKey. Rozwiń menu narzędzi do Port i upewnij się, że wybrany port ma nazwę wybranej płyty. Prześlij swój szkic na tablicę, klikając strzałkę skierowaną w prawo u góry Arduino IDE.

Krok 5: Połącz wszystkie komponenty razem

1. Podłącz przewody czujnika MyoWare do MaKey MaKey w następujący sposób:

  • Znak „+” na MyoWare trafia do gniazda 5V w MaKey MaKey.
  • "-" na MyoWare idzie do ziemi ("ziemia") na MaKey MaKey.
  • "SIG" w MyoWare trafia do slotu A3 w MaKey MaKey.

2. Przymocuj trzy elektrody do MyoWare.

3. Podłącz MaKey MaKey. Jeśli używasz komputera podłączonego do gniazdka elektrycznego, podłącz MaKey MaKey do izolatora zasilania USB, a następnie podłącz go do portu USB komputera. (Jest to środek ostrożności, ponieważ jeśli coś pójdzie nie tak z zasilaniem komputera, użytkownik nie jest bezpośrednio podłączony do sieci elektrycznej. Jest mało prawdopodobne, aby wystąpił taki problem, ale wolelibyśmy, abyś był bezpieczny.) Jeśli używasz laptopa z baterią (tj. NIE PODŁĄCZONEGO DO ŚCIANY), jesteś bezpieczny bez izolatora.

4. Sprawdź, czy wszystko jest włączone. Czerwona dioda MaKey MaKey i zielona dioda MyoWare powinny się świecić.

5. Oczyść skórę w miejscu, w którym chcesz przymocować MyoWare alkoholem, aby usunąć brud i tłuszcz.

6. Zdejmij samoprzylepną warstwę ochronną z elektrod i przymocuj MyoWare do skóry. Chcesz, aby dwie elektrody znajdujące się w MyoWare znajdowały się na górze mięśnia, z którego chcesz nagrywać. Elektroda przymocowana do drutu służy jako porównanie i powinna być umieszczona poza mięśniem w obszarze, który nie będzie aktywny, gdy docelowy mięsień jest skurczony.

7. Sprawdź klej na elektrodach, aby upewnić się, że dobrze przylegasz do skóry. Może być konieczne dociśnięcie krawędzi pierścieni samoprzylepnych do skóry, aby uzyskać dobre uszczelnienie.

Krok 6: Ustawianie progów w Arduino IDE

Ustawianie progów w Arduino IDE
Ustawianie progów w Arduino IDE

1. Gdy wszystko jest podłączone i włączone, otwórz monitor szeregowy w Arduino IDE, klikając narzędzie lupy w prawym górnym rogu.

2. Monitor szeregowy powinien teraz pokazywać wartości sygnału z MyoWare. Kiedy napinasz i rozluźniasz mięsień, powinieneś zobaczyć, jak zmieniają się odpowiednio wartości. Powinieneś również zobaczyć, jak czerwona dioda LED na MyoWare zapala się, gdy wystarczająco mocno napinasz mięśnie.

3. Obserwując monitor seryjny, napinaj mięsień z różną intensywnością, pamiętając o rozluźnieniu pomiędzy skurczami, aby powrócić do stanu wyjściowego. Określ wartość progową, powyżej której chcesz, aby skrócenie powodowało naciśnięcie klawisza. Wyższe wartości będą wymagały silniejszego skurczenia, aby zarejestrować naciśnięcie klawisza; niższe wartości sprawią, że będzie bardziej czuły na małe skurcze, ale także bardziej podatny na fałszywe alarmy.

4. W szkicu Arduino zmień wartość progową (const int thresh1) z 1000 na wybrany próg.

5. Zamknij monitor szeregowy, prześlij ponownie szkic i zacznij pisać za pomocą EMG. Może się okazać, że będziesz musiał dostosować próg, aby uzyskać czułość tam, gdzie chcesz. Możesz także poeksperymentować z opóźnieniem, aby częściej lub rzadziej próbkować.

Krok 7: Ciesz się korzystaniem z nowego domowego systemu EMG

Życzymy miłego korzystania z nowego domowego systemu EMG!
Życzymy miłego korzystania z nowego domowego systemu EMG!

Możesz umieścić elektrody w wielu miejscach na ciele (na przykład na twarzy, jak pokazuje powyżej nasz cyborg laboratoryjny, Kyle Lee).

Eksperymentuj z lokalizacjami, w których można umieścić elektrody i z wieloma możliwościami tego, do czego możesz użyć naciśnięć klawiszy.

Kontynuuj czytanie, aby dowiedzieć się, jak dodać kolejny czujnik MyoWare do tego systemu.

Krok 8: Dodaj drugi czujnik do swojego systemu EMG

Dodaj drugi czujnik do swojego systemu EMG
Dodaj drugi czujnik do swojego systemu EMG

1. Powtórz krok 2 dla drugiego czujnika MyoWare.

2. Aby podłączyć wiele czujników do jednego MaKey MaKey, potrzebujesz sposobu na doprowadzenie zasilania do każdego z nich. Zrobiliśmy trochę zdejmowania izolacji, lutowania i przyklejania, aby utworzyć złącze w kształcie litery Y (patrz zdjęcie powyżej), dzieląc pojedyncze wyjście z zasilacza MaKey MaKey na dwa przewody, które łączą się z wejściem zasilania „+” na każdym dwóch MyoWares.

3. Podłącz gniazda "SIG" na czujnikach MyoWare do różnych gniazd A po prawej stronie MaKey MaKey (kod, który podajemy poniżej, zakłada, że używasz A3 i A4).

4. Prześlij szkic dla dwóch czujników:

/* ten szkic odczytuje sygnały z dwóch czujników MyoWare i wysyła naciśnięcie klawisza 'b', gdy jeden przekroczy próg, a 'c', gdy drugi przekroczy próg.*//* ustaw progi*/const int thresh1 = 1000;const int thresh2 = 1000;/*przypisanie wejść na MaKey MaKey*/const int sensor1Pin = A3;const int sensor2Pin= A4;#include "Keyboard.h"int LED (9);void setup(){pinMode(LED, OUTPUT);Serial.begin(9600);}void loop(){ int sensor1Val = analogRead(sensor1Pin);int sensor2Val = analogRead(sensor2Pin);Serial.print(sensor1Val);Serial.print(", ");Serial.println(sensor2Val);if(sensor1Val >= thresh1){Keyboard.begin();// Wyślij naciśnięcie klawisza cKeyboard.write('c');delay(50);}if(sensor2Val >= thresh2){Keyboard.begin();// Wyślij wciśnięcie klawisza bKeyboard.write('b');delay(50);}else//czekaj 50 ms przed ponownym próbkowaniemdelay(50);}

5. Teraz oba odczyty mięśni powinny być widoczne na monitorze szeregowym. Ustaw każdy próg osobno w szkicu Arduino, tak jak w kroku 6, a następnie ponownie załaduj szkic.

Teraz twój system EMG będzie miał dwa oddzielne wejścia

Jeśli poczujesz się trochę dziko, możesz zastosować podobne procedury, aby dodać więcej czujników MyoWare do systemu. Jeśli poczujesz się NAPRAWDĘ dziki, możesz nawet dodać do systemu kolejny MaKey MaKey. Zachęcamy do eksperymentowania z tym projektem.

Zalecana: