Spisu treści:
- Krok 1: Zbierz swoje materiały
- Krok 2: Przygotuj czujnik MyoWare
- Krok 3: Podłącz czujnik MyoWare do MaKey MaKey
- Krok 4: Prześlij szkic do MaKey MaKey
- Krok 5: Połącz wszystkie komponenty razem
- Krok 6: Ustawianie progów w Arduino IDE
- Krok 7: Ciesz się korzystaniem z nowego domowego systemu EMG
- Krok 8: Dodaj drugi czujnik do swojego systemu EMG
Wideo: Pisanie z EMG przy użyciu MyoWare: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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
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
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
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
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:
Tablica LED DIY (przy użyciu Arduino): 7 kroków
DIY LED Array (przy użyciu Arduino): WSTĘP: Czy kiedykolwiek chciałeś stworzyć prosty projekt, w którym diody LED wydają się być w ruchu? Nie? Tak myślałem. Cóż, jeśli kiedykolwiek chciałeś zrobić coś podobnego, jesteś we właściwym miejscu
Chrome T-rex Game Hack przy użyciu Arduino: 5 kroków
Hack gry Chrome T-rex za pomocą Arduino: W tym samouczku zhakujemy grę chrome t-rex za pomocą arduino
Gra 3d Maze przy użyciu Arduino: 8 kroków (ze zdjęciami)
Gra w labirynt 3D przy użyciu Arduino: Cześć przyjaciele, więc dzisiaj zamierzamy stworzyć grę w labirynt przy użyciu ARDUINO UNO. Ponieważ Arduino Uno jest najczęściej używaną planszą, bardzo fajnie jest tworzyć z nią gry. W tej instrukcji stwórzmy grę w labirynt, którą steruje się za pomocą joysticków.Nie zapomnij
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem