Mengetik Dengan EMG Menggunakan MyoWare: 8 Langkah
Mengetik Dengan EMG Menggunakan MyoWare: 8 Langkah
Anonim
Mengetik Dengan EMG Menggunakan MyoWare
Mengetik Dengan EMG Menggunakan MyoWare

Penulis:

L. Elizabeth Crawford & Dylan T. Vavra

Pengantar:

Dalam tutorial ini, kami akan menunjukkan cara membuat sistem elektromiografi (EMG) sederhana di rumah - dengan biaya sekitar $100 - yang akan merasakan aktivasi otot dari permukaan kulit dan menggunakannya untuk mengirim penekanan tombol ke komputer, melewati keyboard. Kami menggunakan MaKey MaKey klasik dan sensor MyoWare untuk melakukannya, bersama dengan sedikit pengkodean. Proyek ini juga membutuhkan beberapa penyolderan. Kiat berguna untuk teknik dan keamanan penyolderan dapat ditemukan di sini.

Pertama, kami akan menunjukkan cara melakukannya menggunakan satu sensor MyoWare. Kemudian, kami akan menunjukkan cara menambahkan yang kedua ke sistem (untuk tujuan kami, kami menggunakan dua).

Harapan kami adalah agar orang lain dapat meniru teknologi EMG DIY ini, menyesuaikannya dengan kebutuhan spesifik mereka, dan menggunakannya untuk sejumlah aplikasi menarik. Kami menggunakannya di lab Psikologi Eksperimental kami di University of Richmond untuk mereplikasi penelitian yang menunjukkan bahwa orang meniru ekspresi wajah orang lain.

Langkah 1: Kumpulkan Bahan Anda

Kumpulkan Bahan Anda
Kumpulkan Bahan Anda

Bahan:

  • Komputer
  • MaKey MaKey dengan kabel USB yang menyertainya (Anda juga dapat melakukannya dengan Arduino Leonardo, tetapi kami belum mencobanya)
  • USB Power isolator (kecuali laptop bertenaga baterai habis), seperti Adafruit USB Isolator - 100mA Isolated Low/Full Speed USB (tidak digambarkan)
  • Sensor MyoWare
  • Elektroda (x3 per sensor MyoWare) - kami menggunakan Elektroda EMG/EKG/EKG Permukaan Sekali Pakai Covidien Kendall 1" (24 mm)
  • Header Breakaway (kami menggunakan header berbentuk L)
  • Kabel dengan konektor laki-laki di satu ujung, perempuan di sisi lain
  • Pateri
  • Pita listrik

Peralatan:

  • Besi solder
  • Alat pemotong kawat
  • Pemisah kawat

Perangkat lunak:

Arduino IDE dengan addon MaKey MaKey

Langkah 2: Siapkan Sensor MyoWare

Siapkan Sensor MyoWare
Siapkan Sensor MyoWare

1. Putuskan satu set tiga header breakaway untuk menyolder ke MyoWare.

2. Dengan sensor MyoWare diposisikan dengan bisep menghadap ke atas, masukkan ujung pendek dari tiga header dari bawah ke dalam lubang yang memiliki "+" (tanda plus", "-" (tanda negatif), dan "SIG" di sebelahnya (lihat gambar di atas.)

3. Solder header pada tempatnya.

Langkah 3: Hubungkan Sensor MyoWare ke MaKey MaKey

1. Pilih tiga kabel (idealnya dengan warna yang berbeda), jantan di satu ujung, betina di ujung lainnya. Panjang kabel yang Anda butuhkan tergantung pada seberapa jauh Anda ingin MyoWare dari MaKey MaKey. Untuk meletakkan MyoWare di muka dan MaKey MaKey diletakkan di atas meja, Anda membutuhkan sekitar 18 inci.

2. Putuskan fungsi mana dari setiap warna yang akan digunakan. Satu akan digunakan untuk daya (menyambungkan ke konektor + pada sensor MyoWare), satu akan digunakan untuk ground (menyambungkan ke konektor - pada sensor MyoWare), dan yang ketiga akan digunakan sebagai kabel sinyal (mencolokkan ke konektor SIG pada MyoWare). Dalam gambar yang ditunjukkan dalam instruksi ini, kami menggunakan hijau untuk daya, coklat untuk ground, dan abu-abu untuk sinyal.

Langkah 4: Unggah Sketsa ke MaKey MaKey

Unggah Sketsa ke MaKey MaKey
Unggah Sketsa ke MaKey MaKey
Unggah Sketsa ke MaKey MaKey
Unggah Sketsa ke MaKey MaKey
Unggah Sketsa ke MaKey MaKey
Unggah Sketsa ke MaKey MaKey

1. Instal Arduino IDE di komputer Anda (Tutorial di sini).

2. Instal addon MaKey MaKey untuk Arduino (Tutorial di sini) dengan membuka preferensi Arduino Anda (File > Preferences), masuk ke kotak teks Additional Board Manager URLs, dan tempel di:

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

3. Di Arduino IDE, klik file, tarik ke bawah untuk membuat sketsa baru. Salin dan tempel kode ini ke jendela teks:

/* ambang batas untuk mendaftarkan penekanan tombol*/const int thresh1 = 1000;/*penetapan input pada MaKey MaKey*/const int sensor1Pin = A3;#include "Keyboard.h"int LED (9);void setup(){ pinMode(LED, OUTPUT);Serial.begin(9600);}/*Kode di bawah ini mengambil sampel MyoWare setiap 50 ms, mengirimkan nilainya ke port serial, dan jika nilainya di atas ambang batas, mengirimkan penekanan tombol. Anda dapat mengambil sampel lebih sering dengan mengurangi penundaan. Ini akan membuat nilai lebih sulit dibaca di jendela serial.*/void loop(){ int sensor1Val = analogRead(sensor1Pin);Serial.println(sensor1Val);if(sensor1Val >= thresh1){Keyboard.begin();/ / Mengirim penekanan tombol huruf "c"Keyboard.write('c');//tunggu 50 md sebelum pengambilan sampel lagidelay(50);}else//tunggu 50 md sebelum pengambilan sampel lagidelay(50);}

4. Hubungkan MaKey MaKey ke komputer Anda. Tarik menu alat dan pastikan papan yang dipilih adalah Arduino Leonardo atau MaKey MaKey. Tarik menu alat ke Port, dan pastikan port yang dipilih memiliki nama papan yang Anda pilih. Unggah sketsa Anda ke papan dengan mengklik panah menghadap ke kanan di bagian atas Arduino IDE.

Langkah 5: Hubungkan Semua Komponen Anda Bersama-sama

1. Hubungkan kabel dari sensor MyoWare ke MaKey MaKey sebagai berikut:

  • Tanda "+" di MyoWare masuk ke slot 5V di MaKey MaKey.
  • "-" di MyoWare pergi ke tanah ("bumi") di MaKey MaKey.
  • "SIG" di MyoWare masuk ke slot A3 di MaKey MaKey.

2. Pasang tiga elektroda ke MyoWare.

3. Pasang MaKey MaKey. Jika menggunakan komputer yang terhubung ke stopkontak, colokkan MaKey MaKey ke isolator daya USB lalu colokkan ke port USB komputer. (Ini adalah tindakan pencegahan keamanan sehingga jika terjadi kesalahan dengan catu daya di komputer Anda, pemakainya tidak terhubung langsung ke jaringan listrik. Masalah seperti itu tidak mungkin terjadi, tetapi kami lebih suka Anda aman.) Jika menggunakan laptop yang kehabisan baterai (yaitu, TIDAK DIcolokkan ke DINDING) Anda aman tanpa isolator.

4. Periksa untuk melihat bahwa semuanya menyala. LED merah MaKey MaKey dan LED hijau MyoWare harus menyala.

5. Bersihkan kulit tempat Anda ingin menempelkan MyoWare dengan alkohol untuk menghilangkan kotoran dan minyak.

6. Lepaskan lapisan perekat pada elektroda dan tempelkan MyoWare ke kulit. Anda ingin dua elektroda yang ada di MyoWare berada di atas otot yang ingin Anda rekam. Elektroda yang dipasang pada kawat berfungsi sebagai pembanding, dan harus diletakkan di luar otot di area yang tidak akan aktif ketika otot target berkontraksi.

7. Periksa perekat pada elektroda untuk memastikan Anda memiliki segel yang baik pada kulit. Anda mungkin perlu menekan tepi cincin perekat ke dalam kulit untuk mendapatkan segel yang baik.

Langkah 6: Mengatur Ambang Batas di Arduino IDE

Mengatur Ambang Batas di Arduino IDE
Mengatur Ambang Batas di Arduino IDE

1. Dengan semuanya terhubung dan dihidupkan, buka monitor serial di Arduino IDE dengan mengklik alat kaca pembesar di sudut kanan atas.

2. Monitor serial sekarang harus menunjukkan nilai sinyal dari MyoWare. Saat Anda melenturkan dan mengendurkan otot, Anda akan melihat nilainya berubah. Anda juga akan melihat LED merah pada MyoWare menyala ketika Anda mengontraksikan otot dengan cukup keras.

3. Sambil menonton serial monitor, kontraksikan otot dengan intensitas yang berbeda, pastikan untuk rileks di antara kontraksi untuk kembali ke baseline. Tentukan nilai ambang di atas yang Anda inginkan agar kontraksi menghasilkan penekanan tombol. Nilai yang lebih tinggi akan membutuhkan kontraksi yang lebih kuat untuk mendaftarkan penekanan tombol; nilai yang lebih rendah akan membuatnya lebih sensitif terhadap kontraksi kecil tetapi juga lebih rentan terhadap alarm palsu.

4. Dalam sketsa Arduino, ubah nilai ambang (const int thresh1) dari 1000 ke ambang yang Anda pilih.

5. Tutup monitor serial, unggah kembali sketsa, dan mulailah mengetik dengan EMG. Anda mungkin perlu menyesuaikan kembali ambang batas untuk mendapatkan sensitivitas di tempat yang Anda inginkan. Anda juga dapat bereksperimen dengan penundaan sehingga sampel lebih sering atau lebih jarang.

Langkah 7: Nikmati Menggunakan Sistem EMG Buatan Sendiri yang Baru

Nikmati Menggunakan Sistem EMG Buatan Rumah Anda yang Baru!
Nikmati Menggunakan Sistem EMG Buatan Rumah Anda yang Baru!

Anda dapat menempatkan elektroda di banyak tempat di tubuh (misalnya, di wajah, seperti yang digambarkan oleh cyborg lab kami Kyle Lee di atas).

Bereksperimenlah dengan lokasi untuk meletakkan elektroda dan dengan banyak kemungkinan apa yang dapat Anda lakukan dengan menekan tombol.

Juga, lanjutkan membaca untuk mempelajari cara menambahkan sensor MyoWare lain ke sistem ini.

Langkah 8: Tambahkan Sensor Kedua ke Sistem EMG Anda

Tambahkan Sensor Kedua ke Sistem EMG Anda
Tambahkan Sensor Kedua ke Sistem EMG Anda

1. Ulangi Langkah 2 untuk sensor MyoWare kedua.

2. Untuk memasang beberapa sensor ke satu MaKey MaKey, Anda memerlukan cara untuk mendapatkan daya ke masing-masing sensor. Kami melakukan sedikit pengupasan kawat, penyolderan, dan perekaman untuk membuat konektor berbentuk Y (lihat gambar di atas), membagi output tunggal dari catu daya MaKey MaKey menjadi dua kabel yang terhubung ke input daya "+" pada masing-masing kabel. dari dua MyoWare.

3. Hubungkan slot "SIG" pada sensor MyoWare ke slot A yang berbeda di sisi kanan MaKey MaKey (kode yang kami berikan di bawah ini mengasumsikan Anda menggunakan A3 dan A4).

4. Unggah sketsa untuk dua sensor:

/* sketsa ini membaca dua sinyal sensor MyoWare dan mengirimkan penekanan tombol 'b' ketika salah satu melewati ambang batas dan 'c' ketika yang lain melampaui ambang batas.*//* set ambang*/const int thresh1 = 1000;const int thresh2 = 1000;/*penugasan input pada 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();// Kirim penekanan tombol cKeyboard.write('c');delay(50);}if(sensor2Val >= thresh2){Keyboard.begin();// Kirim penekanan tombol bKeyboard.write('b');delay(50);}else//tunggu 50 md sebelum mengambil sampel lagidelay(50);}

5. Sekarang kedua pembacaan otot akan terlihat di monitor serial. Tetapkan setiap ambang batas secara terpisah di sketsa Arduino, seperti pada Langkah 6, lalu muat ulang sketsa.

Sekarang sistem EMG Anda akan memiliki dua input terpisah

Jika Anda merasa sedikit liar, Anda dapat mengikuti prosedur serupa untuk menambahkan lebih banyak sensor MyoWare ke sistem. Jika Anda merasa BENAR-BENAR liar, Anda bahkan dapat menambahkan MaKey MaKey lain ke sistem. Kami mendorong Anda untuk bereksperimen dengan desain ini.

Direkomendasikan: