Daftar Isi:

Neopixel Led Strip Bereaksi terhadap Sensor Otot Myoware: 6 Langkah
Neopixel Led Strip Bereaksi terhadap Sensor Otot Myoware: 6 Langkah

Video: Neopixel Led Strip Bereaksi terhadap Sensor Otot Myoware: 6 Langkah

Video: Neopixel Led Strip Bereaksi terhadap Sensor Otot Myoware: 6 Langkah
Video: Пиксельная пыль на дисплеях с RGB-матрицей 2024, November
Anonim
Strip Led Neopixel Bereaksi terhadap Sensor Otot Myoware
Strip Led Neopixel Bereaksi terhadap Sensor Otot Myoware

Tujuannya adalah memasang sensor otot dengan bantuan Arduino dan memproses data yang masuk dengan Adafruit IO dan mengambil output dengan pemicu sehingga lampu berubah dari putih menjadi merah selama satu menit.

Apa itu Sensor Otot Sensor Otot mengukur aktivitas listrik otot dan menghasilkan sinyal keluaran analog yang dapat dengan mudah dibaca oleh mikrokontroler. Elektromiografi (EMG) mengukur respons otot atau aktivitas listrik sebagai respons terhadap stimulasi saraf pada otot. Tes ini digunakan untuk membantu mendeteksi kelainan neuromuskular. Selama tes, satu atau lebih jarum kecil (juga disebut elektroda) dimasukkan melalui kulit ke dalam otot.

Untuk proyek ini Anda memerlukan: - Sensor otot MyoWare - Elektroda EMG - NodeMCU (esp8266) - Kabel penutup silikon - Kabel mikro USB - Strip led neopixel

Perpustakaan yang Anda perlukan: -Adafruit io Arduino (setidaknya versi 2.3.0)-Adafruit Neopixel (versi 1.2.5)-Adafruit MQTT library (1.0.3)-Arduino HttpClients (0.4.0)Jika Anda tidak memilikinya perpustakaan belum diinstal. Lalu masuk ke Sketch> include Library> Manage Libraries … ketik: [nama perpustakaan yang ingin Anda instal] di kolom pencarian.

Langkah 1: Menghubungkan Sensor Otot Myoware (terutama bagi Mereka yang Belum Pernah Bekerja Dengannya Sebelumnya)

Jika Anda belum pernah bekerja dengan Sensor Otot Myoware, ada baiknya untuk memahami terlebih dahulu bagaimana sensor ini terhubung dan dapat dibaca di monitor Serial di Arduino. Operasi ini adalah prosedur standar yang dalam banyak manual telah dijelaskan. Platform Adafruit memiliki deskripsi yang jelas tentang cara kerjanya dalam beberapa langkah:

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

PeriksaJika semua langkah ini dilakukan, Anda akan melihat di monitor serial bahwa nilainya berubah saat Anda mengencangkan otot. Saat Anda mengepalkan tangan dan mengencangkan otot, nilainya akan naik dan saat Anda mengendurkan otot, nilai ini akan turun lagi.

PentingLangkah ini hanya untuk menyetel sensor. Kode yang Anda gunakan tidak diperlukan untuk sisa manual. Hanya cara Anda memasang sensor itu sendiri tetap sama untuk langkah selanjutnya.

Langkah 2: Pengaturan IO Adafruit

Pengaturan IO Adafruit
Pengaturan IO Adafruit
Pengaturan IO Adafruit
Pengaturan IO Adafruit
Pengaturan IO Adafruit
Pengaturan IO Adafruit

Langkah pertama adalah login atau buat akun di Adafruit IO, browse ke Adafruit IO. Adafruit IO adalah platform cloud, yang dapat Anda sambungkan melalui internet. Adafruit IO membuat data berguna dengan koneksi data.

Saat Anda berada di akun Anda:

Buat Umpan Analog Selanjutnya, Anda perlu membuat umpan yang disebut Analog. Jika Anda memerlukan bantuan untuk memulai membuat feed di Adafruit IO, lihat panduan Dasar-Dasar Feed Adafruit IO (Seperti pada foto 1 dan 2).

Menambahkan Gauge Block dan Line chart BlockNext, buat dasbor baru dan beri nama sesuai keinginan Anda (ditunjukkan pada foto 3, 4 dan 5 untuk membuat dasbor baru). Pastikan Anda telah memilih umpan Analog sebagai sumber data.

Saat Anda berada di dasbor, tambahkan blok Pengukur baru melalui klik tanda tambah biru di sudut kanan atas. Beri nama blok apa pun yang Anda inginkan (ditunjukkan pada foto 6 dan 7), dan berikan nilai maksimum 1024 dan nilai minimum 0 (nilai sensor otot).

Ulangi hal yang sama dengan blok Line chart (foto 8) seperti di atas dengan blok Gauge.

Periksa Jika Anda telah melakukan al di atas, Anda harus memiliki layar yang sama seperti foto terakhir.

Langkah 3: Masukan Arduino

Masukan Arduino
Masukan Arduino
Masukan Arduino
Masukan Arduino
Masukan Arduino
Masukan Arduino
Masukan Arduino
Masukan Arduino

Pada langkah 1 Anda telah melakukan setup wiring sensor MyoWare Muscle dengan benar. Langkah ini kita akan menyelami kode Arduino yang datang dengan menghubungkan ke langkah 2 dashboard Adafruit IO. Di akhir langkah ini, Anda akan melihat nilai input dari sensor Otot Myoware di dua Blok yang telah Anda siapkan.

Pengaturan Arduino

Pastikan Anda telah menginstal semua pustaka yang disebutkan di atas dalam pendahuluan.

Kita akan bekerja dengan sketsa contoh. Jadi buka File > Contoh > Adafruit IO Arduino > adafruitio_08_analog_in (foto 1). Mengapa sketsa ini? karena kita pertama-tama menyiapkan bagian input dari manual ini. Sensor Otot MyoWare memanfaatkan output analog. Jika Anda ingin lebih mendalami topik tentang analog.

Arduino Network ConfigUntuk mengonfigurasi pengaturan jaringan, klik tab config.h di sketsa. Anda perlu mengatur nama pengguna IO Adafruit Anda di definisi IO_USERNAME, dan kunci IO Adafruit Anda di definisi IO_KEY. Anda dapat menemukan nama pengguna dan kunci Anda di kanan atas layar di Arduino IO Anda (contoh pada foto 2)

#define IO_USERNAME "nama_pengguna Anda"

#define IO_KEY "your_key"

WiFi Config WiFi diaktifkan secara default di config.h jadi jika Anda menggunakan salah satu papan WiFi yang didukung, Anda hanya perlu memodifikasi opsi WIFI_SSID dan WIFI_PASS di tab config.h.

#menentukan WIFI_SSID "your_ssid"#menentukan WIFI_PASS "pass_anda"

Kode ArduinoJika Anda memiliki perubahan pengaturan te di atas, kita dapat melangkah lebih jauh ke kode yang sebenarnya, adafruit_08_analog_in. Pin default dalam contoh ini adalah status pada AO. Ini adalah pin yang tepat karena Anda telah menempatkan sensor otot Anda di papan pada langkah 2.

Contoh ini menggunakan sensor fotosel, karena kita menggunakan sensor otot kita akan mengubah nama ini. Tidak masalah jika Anda melakukan ini, itu hanya akan membuatnya lebih rapi secara semantik. Ubah PHOTOCELL_PIN menjadi MUSCLESENSOR_PIN lakukan ini di dua tempat sketsa.

/*************************** Contoh Dimulai Di Sini ********************** *********/

// pin analog 0 #menentukan PHOTOCELL_PIN A0

Di baris kode terakhir ada penundaan. Delay ini adalah 1 detik, kita akan mengaturnya menjadi 2 detik jadi 2000. Kami melakukan ini karena ada lisensi pada Adafruit IO dengan batas data, di bawah dua detik sketsa ini melebihi batas data itu dan akan memberikan PERINGATAN THROTTLE. Apa artinya tidak ada nilai yang masuk. Menyetel ini ke dua detik akan mencegahnya.

// tunggu satu detik (1000 milidetik == 1 detik) delay(2000);

Inilah yang harus Anda ubah dalam sketsa untuk membuatnya bekerja. Jika Anda ingin tahu persis bagaimana seluruh kode bekerja. Anda dapat menemukannya di belajar Adafruit, dengan penjelasan setiap blok kode.

Periksa Unggah sketsa ke papan Anda, dan buka Arduino Serial Monitor. Papan Anda sekarang harus terhubung ke Adafruit IO.

Anda sekarang dapat mengencangkan lengan Anda, dan Anda akan melihat perubahan nilai yang dikirim ke Adafruit IO (seperti pada foto 3). Jika Anda tidak melihat nilai apa pun di monitor Serial, periksa apakah Anda telah mengatur kecepatan Baud di monitor Serial ke 115200.

Dasbor Adafruit IO Periksa dasbor Anda di Adafruit IO, dan Anda akan melihat pengukur dan diagram garis merespons perubahan nilai Sensor Otot MyoWare.

Langkah 4: Pengaturan Pemicu Adafruit IO

Pengaturan Pemicu IO Adafruit
Pengaturan Pemicu IO Adafruit
Pengaturan Pemicu Adafruit IO
Pengaturan Pemicu Adafruit IO

Sampai saat ini kami telah dapat membuat input dari sensor MyoWare Muscle agar Adafruit IO berfungsi. Sekarang kita akan mulai membaca informasi ini. Sehingga setelah 5 kali nilai di atas X dari sensor Muscle terdeteksi, tindakan dilakukan oleh strip led Neopixel.

Bagian ini untuk saya di mana saya harus menyelidiki bagaimana saya bisa membaca sejarah Adafruit IO. Saya telah bekerja dengan Umpan dan Dasbor sebelumnya, jadi saya pikir umpan dan dasbor yang dibuat dapat membaca ini dan membuat tindakan di sini di Arduino. Sejauh ini saya belum berhasil. Setelah banyak penelitian dan Adafruit IO, saya menemukan bahwa suatu tindakan dapat dipicu dengan fungsi Trigger di Adafruit IO. Pelajari lebih lanjut tentang Pemicu.

Feed tambahan Sebelum kita bisa membuat Trigger kita harus membuat feed lain agar bisa kita beri nama di Arduino untuk mendapatkan output. Buat feed dengan nama AlertTriggered.

Buat PemicuDi sebelah tajuk Feed dan Dasbor adalah Pemicu, buka di sini. Buat pemicu baru. Anda akan ditanya apakah Anda ingin membuat Pemicu Reaktif atau Pemicu Jadwal, pilih Pemicu Reaktif dan klik buat. Ini karena Anda hanya ingin memicu sesuatu ketika sesuatu terjadi (foto 1).

Beberapa hal yang harus diatur (Langkah selanjutnya juga ditunjukkan pada foto 2).-Pilih feed analog pada If pertama, maka input akan diambil dari sini.

-Apakah Anda memilih lebih dari, ini karena Anda ingin memicu sesuatu ketika nilainya melebihi angka tersebut.

-Nilai perbandingan Anda dapat memasukkan nomor yang Anda inginkan untuk mengaktifkan pemicu. Saya melakukan 600 dalam kasus ini.

-Dengan arduino Anda harus menerima umpan balik ketika melebihi 600: jadi di Kemudian pilih publikasikan pesan ke:.

-Setelah itu Anda dapat memilih Umpan kedua yang dibuat AlertTriggered.

Terakhir klik buat.

Langkah 5: Keluaran Neopiksel

Keluaran Neopiksel
Keluaran Neopiksel

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

Untuk dapat menghasilkan output, Anda harus terlebih dahulu menghubungkan strip led Neopixel ke kabel NodeMCU.- + 5v (kiri) strip led Anda pada 3v kabel NodeMCU- GND (kanan) pada G Node (G = GND)- Pusatkan DIN kawat LED pada D5 (atau port D lainnya)

CodeI telah menyertakan seluruh sketsa dengan pergantian ke langkah ini sebagai file (dapat ditemukan di bagian bawah langkah ini). Ini adalah sketsa yang sama yang telah Anda kerjakan dalam beberapa langkah terakhir tetapi sekarang Sketsa akhir disertakan dengan langkah-langkah yang harus Anda lakukan untuk menghasilkan output. adafruitio_musclesensor_neopixel file. Ini berfungsi dengan config.h yang telah Anda atur sebelumnya dengan data Anda. Semua blok kode disertakan dengan komentar sehingga Anda dapat melihat apa yang terjadi.

Data keluaran apa yang telah dikodekanDalam kode ini saya telah membuat pemicu, ketika AlertTriggered (apa yang kami nyatakan pada langkah sebelumnya di atas nilai yang lebih besar dari 600) dipicu lebih dari 5 kali. Ini berarti ketika dipicu, strip led Neopixel diatur dari putih menjadi merah. Ini akan terjadi selama satu menit dan dari keadaan merah akan memudar dan dilingkarkan ke keadaan putih lagi.

Serial MonitorUntuk lebih jelas bagi Anda sebagai programmer, rangkaian kode terakhir adalah untuk Serial Monitor. Apa nilainya dan kapan Anda memicu tingkat peringatan. Bersamaan dengan menambahkan detik saat status Siaga aktif, hingga setelah 60 detik beralih ke status Siaga mati lagi. Oleh karena itu, bagian ini opsional.

//untuk menampilkan detik-detik yang berlalu di Serial Monitor saat status alart berada di Serial.println("Detik yang berlalu:"); Serial.println(detikLulus); } else { detikLulus = 0; }

PeriksaJika Anda telah menyelesaikan langkah-langkahnya atau telah mendapatkan file sketsa adafruitio_musclesensor_neopixel dengan konfigurasi Anda sendiri.h Anda dapat mengunggahnya ke NodeMCU Anda. Jika sudah selesai, Anda harus melihat sesuatu yang mirip seperti di bawah ini di Serial Monitor Anda:

Menghubungkan ke Adafruit IO…

Adafruit IO terhubung. Mengirim -> 23 Mengirim -> 78

Foto 1 adalah Serial Monitor saat dalam Alertmode.

Ini tidak bekerja? Periksa hal-hal berikut- Periksa apakah config.h disertakan dengan cara yang benar- Sudahkah Anda memasukkan Nama Pengguna dan Kunci Adafruit IO yang benar- Sudahkah Anda memasukkan SSID yang benar kata sandi Wifi- Apakah Anda telah memasang kabel MyoWare Sensor Otot kanan dan dari Neopixel Led Strip

Atau periksa langkah-langkah sebelumnya.

Langkah 6: Hasil

Hore Anda sudah selesai! Untuk mendemonstrasikan dan melihat produk akhir beraksi, saya telah menyertakan video.

Direkomendasikan: