Isi kandungan:

Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware: 6 Langkah
Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware: 6 Langkah

Video: Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware: 6 Langkah

Video: Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware: 6 Langkah
Video: TSP #7 - 9-DoF AHRS Sensor Board and RGB LED Matrix Demo 2024, November
Anonim
Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware
Jalur Led Neopixel Beraksi kepada Sensor Otot Myoware

Tujuannya adalah memasang sensor otot dengan bantuan Arduino dan memproses data masuk dengan Adafruit IO dan mendapatkan output dengan pencetus sehingga cahaya te berubah dari putih menjadi merah selama satu minit.

Apa itu Sensor Otot Sensor Otot mengukur aktiviti elektrik otot dan menghasilkan isyarat output analog yang mudah dibaca oleh mikrokontroler. Elektromiografi (EMG) mengukur tindak balas otot atau aktiviti elektrik sebagai tindak balas terhadap rangsangan otot saraf. Ujian ini digunakan untuk membantu mengesan kelainan neuromuskular. Semasa ujian, satu atau lebih jarum kecil (juga disebut elektrod) dimasukkan melalui kulit ke dalam otot.

Untuk projek ini, anda memerlukan: -Mesor otot MiWare -Emod elektrod -NodeMCU (esp8266) -Kawat penutup silikon -Kabel mikro USB-Jalur led Neopixel

Perpustakaan yang anda perlukan: -Adafruit io Arduino (sekurang-kurangnya versi 2.3.0) -Adafruit Neopixel (versi 1.2.5) -Adafruit MQTT library (1.0.3) -Arduino HttpClients (0.4.0) Sekiranya anda tidak mempunyai perpustakaan belum dipasang. Kemudian pergi ke Sketsa> sertakan Perpustakaan> Kelola Perpustakaan … ketik: [nama perpustakaan yang ingin anda pasang] di ruang carian.

Langkah 1: Menyambungkan Myoware Muscle Sensor (terutamanya bagi Mereka yang Tidak Pernah Mengusahakannya)

Sekiranya anda tidak pernah bekerja dengan Myoware Muscle Sensor, ada baiknya anda memahami terlebih dahulu bagaimana sensor ini dihubungkan dan dibaca di monitor Serial di Arduino. Operasi ini adalah prosedur standard yang terdapat dalam banyak manual yang telah dijelaskan. Platform Adafruit mempunyai penerangan yang jelas tentang bagaimana ini berfungsi dalam beberapa langkah:

learn.adafruit.com/getting-started-with-my…

Sekiranya semua langkah ini dibuat, anda akan melihat di monitor bersiri anda bahawa nilainya berubah ketika anda mengetatkan otot. Apabila anda membuat kepalan dan mengetatkan otot, nilai akan naik dan ketika anda mengendurkan otot, nilai ini akan turun lagi.

Penting Langkah ini hanya untuk memasang sensor. Kod yang anda gunakan tidak diperlukan untuk buku panduan yang lain. Cuma cara memasang sensor itu sendiri tetap sama untuk langkah-langkah yang akan datang.

Langkah 2: Persediaan Adafruit IO

Persediaan IO Adafruit
Persediaan IO Adafruit
Persediaan Adafruit IO
Persediaan Adafruit IO
Persediaan IO Adafruit
Persediaan IO Adafruit

Langkah pertama adalah log masuk atau membuat akaun di Adafruit IO, melayari ke Adafruit IO. Adafruit IO adalah platform awan, yang boleh anda sambungkan melalui internet. Adafruit IO menjadikan data berguna dengan sambungan data.

Apabila anda berada dalam akaun anda:

Buat Analog FeedNext, anda perlu membuat feed yang dipanggil Analog. Sekiranya anda memerlukan bantuan untuk memulakan suapan Adafruit IO, lihat panduan Asas Makanan Adafruit IO (Seperti pada foto 1 dan 2).

Menambah Blok Tolok dan carta Garis Blok Seterusnya, buat papan pemuka baru dan beri nama seperti yang anda mahukan (ditunjukkan dalam foto 3, 4 dan 5 untuk membuat papan pemuka baru). Pastikan anda telah memilih suapan Analog sebagai sumber data.

Semasa anda berada di papan pemuka tambahkan blok Gauge baru melalui klik tambah biru di sudut kanan atas. Namakan blok apa sahaja yang anda mahukan (ditunjukkan dalam foto 6 dan 7), dan berikan nilai maksimum 1024 dan nilai min 0 (nilai sensor otot).

Ulangi perkara yang sama dengan blok carta Garis (foto 8) seperti di atas dengan blok Gauge.

Jika anda telah melakukan perkara di atas, anda mesti mempunyai skrin yang serupa seperti foto terakhir.

Langkah 3: Input Arduino

Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino

Pada langkah 1 anda telah melakukan penyediaan pendawaian sensor MyoWare Muscle dengan betul. Langkah ini kita akan menyelami kod Arduino yang disertakan dengan menghubungkan ke langkah 2 papan pemuka Adafruit IO. Pada akhir langkah ini, anda akan melihat nilai input sensor Myoware Muscle dalam dua Blok yang telah anda siapkan.

Persediaan Arduino

Pastikan anda telah memasang perpustakaan yang dinyatakan di atas dalam pengenalan.

Kami akan bekerja dengan lakaran contoh. Oleh itu, buka Fail> Contoh> Adafruit IO Arduino> adafruitio_08_analog_in (foto 1). Mengapa lakaran ini? kerana kami pertama kali menyediakan bahagian input manual ini. Sensor MyoWare Muscle menggunakan output analog. Sekiranya anda ingin menyelami lebih banyak topik mengenai analog.

Arduino Network Config Untuk mengkonfigurasi tetapan rangkaian, klik pada tab config.h dalam lakaran. Anda perlu menetapkan nama pengguna Adafruit IO anda dalam definisi IO_USERNAME, dan kunci Adafruit IO anda dalam menentukan IO_KEY. Anda dapat mencari nama pengguna dan kunci anda di kanan atas skrin di Arduino IO anda (contoh pada foto 2)

#tentukan IO_USERNAME "nama_pengguna anda"

#tentukan IO_KEY "kunci_anda" anda

WiFi Config WiFi diaktifkan secara lalai dalam config.h jadi jika anda menggunakan salah satu papan WiFi yang disokong, anda hanya perlu mengubah pilihan WIFI_SSID dan WIFI_PASS di tab config.h.

#tentukan WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"

Kod ArduinoJika anda mempunyai perubahan pada tetapan di atas, kita dapat melangkah lebih jauh ke kod sebenar, adafruit_08_analog_in. Pin defeault dalam contoh ini adalah statet pada AO. Ini adalah pin yang betul kerana anda telah meletakkan sensor otot anda di papan pada langkah 2.

Contoh ini menggunakan sensor photocell, kerana kita menggunakan sensor otot kita akan menukar nama ini. Tidak menjadi masalah jika anda melakukan ini, ia hanya akan menjadikannya lebih kemas secara semantik. Tukar PHOTOCELL_PIN menjadi MUSCLESENSOR_PIN lakukan ini di dua tempat lakaran.

/ ************************ Contoh Bermula Di Sini ********************** ********* /

// pin analog 0 #tentukan PHOTOCELL_PIN A0

Dalam garis panduan terakhir terdapat kelewatan. Kelewatan ini adalah 1 saat, yang akan kami tetapkan adalah 2 saat jadi 2000. Kami melakukannya kerana ada lesen Adafruit IO dengan had data, di bawah dua saat lakaran ini melebihi had data tersebut dan ia akan memberi AMARAN THROTTLE. Apa yang bermaksud bahawa tidak ada nilai masuk. Menetapkan ini menjadi dua saat menghalangnya.

// tunggu satu saat (1000 milisaat == 1 saat) kelewatan (2000);

Inilah yang harus anda ubah dalam lakaran untuk membuatnya berfungsi. Sekiranya anda ingin mengetahui dengan tepat bagaimana keseluruhan kod berfungsi. Anda boleh menemuinya dalam mempelajari Adafruit, dengan penjelasan setiap blok kod.

Periksa Muat naik lakaran ke papan anda, dan buka Arduino Serial Monitor. Papan anda sekarang harus berhubung dengan Adafruit IO.

anda kini boleh mengetatkan lengan anda, dan anda akan melihat perubahan nilai yang dihantar ke Adafruit IO (seperti dalam foto 3). Sekiranya anda tidak melihat nilai di monitor Serial, periksa sama ada anda telah menetapkan kadar Baud di monitor Serial ke 115200.

Adafruit IO Dashboard Periksa papan pemuka anda di Adafruit IO, dan anda akan melihat tolok dan carta garis bertindak balas terhadap perubahan nilai-nilai MyoWare Muscle Sensor.

Langkah 4: Penyediaan Pencetus Adafruit IO

Persediaan Pencetus Adafruit IO
Persediaan Pencetus Adafruit IO
Persediaan Pencetus Adafruit IO
Persediaan Pencetus Adafruit IO

Sehingga kini kami dapat membuat input dari sensor MyoWare Muscle untuk Adafruit IO yang berfungsi. Sekarang kita akan mula membaca maklumat ini. Sehingga setelah 5 kali nilai di atas X sensor Otot dikesan, tindakan dilakukan oleh jalur LED Neopixel.

Bahagian ini adalah untuk saya di mana saya harus menyiasat bagaimana saya dapat membaca sejarah Adafruit IO. Saya pernah bekerja dengan Feed dan Dashboard sebelumnya, jadi saya berpendapat bahawa feed dan dashboard yang dibuat dapat membaca ini dan membuat aksi di Arduino. Setakat ini saya tidak berjaya. Setelah banyak penyelidikan dan Adafruit IO, saya dapati bahawa tindakan dapat dicetuskan dengan fungsi Trigger di Adafruit IO. Ketahui lebih lanjut mengenai Pencetus.

Suapan tambahan Sebelum kita dapat membuat Pencetus, kita mesti membuat suapan lain sehingga kita dapat menamakannya di Arduino untuk mendapatkan output. Buat suapan dengan nama AlertTriggered.

Buat TriggerSebelah header Feed dan Dashboard adalah Trigger, pergi ke sini. Buat pencetus baru. Anda akan ditanya sama ada anda ingin membuat Pencetus Reaktif atau Pencetus Jadual, pilih Pencetus Reaktif dan klik buat. Ini kerana anda hanya mahu mencetuskan sesuatu ketika sesuatu berlaku (foto 1).

Sejumlah perkara mesti ditetapkan (Langkah seterusnya juga ditunjukkan dalam foto 2).- Pilih suapan analog pada Jika pertama, jadi input akan diambil dari sini.

-Apakah anda memilih lebih besar daripada, ini kerana anda ingin mencetuskan sesuatu apabila nilainya melebihi bilangan tersebut.

-Comperison nilai anda boleh memasukkan nombor yang anda inginkan untuk mengaktifkan pencetus. Saya melakukan 600 dalam kes ini.

-Dengan arduino anda harus menerima maklum balas apabila melebihi 600: jadi pada Kemudian pilih terbitkan mesej ke:.

-Setelah mana anda dapat memilih Feed kedua anda yang dibuat AlertTriggered.

Akhirnya klik buat.

Langkah 5: Output Neopixel

Keluaran Neopixel
Keluaran Neopixel

Langkah terakhir adalah menghasilkan output. Selesai dalam sketsa Arduino yang telah anda edit, dengan memanggil suapan AlertTriggered (yang anda buat pada langkah sebelumnya).

Untuk dapat menghasilkan output, anda mesti menyambungkan jalur LED Neopixel terlebih dahulu ke wayar NodeMCU.- + 5v (kiri) jalur jalur anda pada wayar 3v NodeMCU- GND (kanan) anda pada G dari Node (G = GND) - Kawat tengah DIN LED pada D5 (atau port D lain)

CodeI telah memasukkan keseluruhan lakaran dengan pergantian langkah ini sebagai fail (boleh didapati di bahagian bawah langkah ini). Ini adalah lakaran yang sama dengan yang anda jalankan dalam beberapa langkah terakhir tetapi sekarang Sketsa terakhir disertakan dengan langkah-langkah yang harus anda lakukan agar dapat menghasilkan output. fail adafruitio_musclesensor_neopixel. Ini berfungsi dengan config.h yang telah anda tetapkan sebelumnya dengan data anda. Semua blok kod disertakan dengan komen supaya anda dapat melihat apa yang berlaku.

Apa data output yang telah dikodkanDalam kod ini saya telah membuat pemicu, ketika AlertTriggered (apa yang kita nyatakan pada langkah sebelumnya dengan nilai lebih dari 600) dipicu lebih dari 5 kali. Ini bermaksud apabila dipicu, jalur LED Neopixel diatur dari putih ke merah. Ini akan berlaku selama satu minit dan daripada keadaan merah akan pudar dan dilambung ke keadaan putih semula.

Serial Monitor Untuk menjadikannya lebih jelas bagi anda sebagai pengaturcara, set kod terakhir adalah untuk Serial Monitor. Nilai apa dan bila anda telah mencetuskan tahap amaran. Bersama-sama dengan menambah saat ketika keadaan Makluman dihidupkan, sehingga setelah 60 saat ia beralih ke keadaan Makluman mati lagi. Oleh itu, bahagian ini adalah pilihan.

// untuk menunjukkan detik berlalu dalam Monitor Bersiri ketika alartstate berada di Serial.println ("Detik berlalu:"); Serial.println (secondsPassed); } lain {secondsPassed = 0; }

Periksa Sekiranya anda telah melakukan langkah-langkah atau mendapatkan sketsa adafruitio_musclesensor_neopixel dengan konfigurasi anda sendiri. Anda boleh memuat naiknya ke NodeMCU anda. Sekiranya ia selesai, anda mesti melihat sesuatu yang serupa seperti di bawah di Monitor Serial anda:

Menyambung ke Adafruit IO …

Adafruit IO bersambung. Menghantar -> 23 Menghantar -> 78

Foto 1 adalah Monitor Bersiri semasa berada di Alertmode.

Ia tidak berfungsi? Periksa perkara berikut- Periksa sama ada config.h disertakan dengan cara yang betul- Sudahkah anda memasukkan Nama Pengguna dan Kunci Adafruit IO yang betul- Sudahkah anda memasukkan SSID yang betul kata laluan Wifi- Adakah anda telah meletakkan pendawaian MyoWare Sensor Otot kanan dan dari Neopixel Led Strip

Atau periksa langkah sebelumnya.

Langkah 6: Hasil

Horeay anda sudah selesai! Untuk menunjukkan dan melihat produk akhir beraksi, saya telah memasukkan video.

Disyorkan: