Агуулгын хүснэгт:

Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлэх: 6 алхам
Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлэх: 6 алхам

Видео: Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлэх: 6 алхам

Видео: Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлэх: 6 алхам
Видео: Control RGB LED strip (Neopixel) from Unity - Extend an existing Library - Uduino tutorial 2024, Арваннэгдүгээр
Anonim
Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлж байна
Neowixel Led Strip нь Myoware булчингийн мэдрэгчид хариу үйлдэл үзүүлж байна

Зорилго нь Arduino -ийн тусламжтайгаар булчингийн мэдрэгч суурилуулж, ирж буй өгөгдлийг Adafruit IO -той боловсруулж, гаралтыг триггерээр авах бөгөөд ингэснээр гэрэл нэг минутын турш цагаанаас улаан болж хувирна.

Булчингийн мэдрэгч гэж юу вэ Булчингийн мэдрэгч нь булчингийн цахилгаан идэвхжилийг хэмжиж, аналог гаралтын дохиог гаргадаг бөгөөд үүнийг микроконтроллер амархан уншиж чаддаг. Электромиографи (EMG) нь булчингийн мэдрэлийн өдөөлтийн хариуд булчингийн хариу урвал эсвэл цахилгаан үйл ажиллагааг хэмждэг. Энэхүү туршилтыг мэдрэлийн булчингийн эмгэгийг илрүүлэхэд ашигладаг. Туршилтын явцад нэг буюу хэд хэдэн жижиг зүү (электрод гэж нэрлэдэг) арьсаар дамжин булчинд ордог.

Энэ төслийн хувьд танд хэрэгтэй: -MyoWare булчингийн мэдрэгч -EMG электрод -NodeMCU (esp8266) -Силикон бүрхүүлийн утас -USB микро кабель -Неопикселийн LED тууз

Танд хэрэгтэй номын сан: -Adafruit io Arduino (хамгийн багадаа 2.3.0 хувилбар) -Adafruit Neopixel (1.2.5 хувилбар) -Adafruit MQTT номын сан (1.0.3) -Arduino HttpClients (0.4.0) номын санг хараахан суулгаагүй байна. Дараа нь Sketch> Номын сан оруулах> Номын санг удирдах … хэсэгт очоод хайлтын талбарт: [суулгахыг хүссэн номын сангийнхаа нэрийг] бичнэ үү.

Алхам 1: Myoware булчингийн мэдрэгчийг холбох (ялангуяа өмнө нь хэзээ ч ажиллаж байгаагүй хүмүүст)

Хэрэв та Myoware булчингийн мэдрэгчтэй хэзээ ч ажиллаж байгаагүй бол энэ мэдрэгчийг хэрхэн холбож, Arduino дахь цуваа дэлгэц дээр уншиж болохыг ойлгох нь зүйтэй юм. Энэ ажиллагаа нь аль хэдийн тайлбарласан олон гарын авлагад байдаг стандарт процедур юм. Adafruit платформ нь үүнийг хэрхэн яаж хийх талаар хэдхэн алхамаар тодорхой тайлбарласан болно.

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

Хэрэв эдгээр бүх алхмуудыг хийвэл булчингаа чангалахад утгууд өөрчлөгдөж байгааг та цуваа дэлгэц дээрээ харах болно. Та нударгаа гаргаж, булчингаа чангалахад таны үнэ цэнэ өсч, булчингаа сулруулах үед эдгээр үнэ цэнэ дахин буурах ёстой.

Чухал Энэ алхам бол зөвхөн мэдрэгчийг тохируулах явдал юм. Таны ашигласан код гарын авлагын үлдсэн хэсэгт шаардлагагүй болно. Зөвхөн мэдрэгчийг хэрхэн яаж байрлуулах нь дараагийн алхамуудын хувьд хэвээр үлдэнэ.

Алхам 2: Adafruit IO тохиргоо

Adafruit IO тохиргоо
Adafruit IO тохиргоо
Adafruit IO тохиргоо
Adafruit IO тохиргоо
Adafruit IO тохиргоо
Adafruit IO тохиргоо

Эхний алхам бол Adafruit IO -д нэвтрэх эсвэл данс үүсгэх, Adafruit IO руу зочлох явдал юм. Adafruit IO бол үүлэн платформ бөгөөд та интернетээр холбогдох боломжтой. Adafruit IO нь өгөгдлийн холболтын тусламжтайгаар өгөгдлийг ашигтай болгодог.

Та дансандаа байхдаа:

Аналог Feed үүсгэх Дараа нь та аналог нэртэй тэжээл үүсгэх хэрэгтэй болно. Хэрэв танд Adafruit IO дээр тэжээл үүсгэж эхлэхэд тусламж хэрэгтэй бол Adafruit IO Feed Basics гарын авлагыг үзээрэй (1 ба 2 -р зураг дээрх шиг).

Gauge Block болон Line chart BlockNext -ийг нэмж оруулаад шинэ хяналтын самбар үүсгээд хүссэнээрээ нэрлээрэй (шинэ самбар хийхийн тулд 3, 4, 5 -р зурагт үзүүлэв). Мэдээллийн эх сурвалж болох аналог тэжээлийг сонгосон эсэхээ шалгаарай.

Хяналтын самбарт байхдаа шинэ хэмжигч блок нэмж, баруун дээд буланд байгаа цэнхэр дээр дарна уу. Блокийг хүссэнээрээ нэрлээрэй (6 ба 7 -р зурагт үзүүлэв), хамгийн их утга нь 1024, хамгийн бага утга нь 0 (булчингийн мэдрэгчийн утга).

Дээрх хэмжигдэхүүнтэй адилаар Line chart block (photo 8) -тай ижил зүйлийг давтана.

Хэрэв та дээрх бүх зүйлийг хийсэн бол сүүлийн зураг шиг дэлгэцтэй байх ёстой.

Алхам 3: Arduino оролт

Arduino оролт
Arduino оролт
Arduino оролт
Arduino оролт
Arduino оролт
Arduino оролт
Arduino оролт
Arduino оролт

1 -р алхам дээр та MyoWare булчингийн мэдрэгчийг зөв холбох ажлыг хийсэн болно. Энэ алхам нь бид Adafruit IO хяналтын самбарын 2 -р алхамд холбогдох Arduino код руу орох болно. Энэ алхмын төгсгөлд та өөрийн тохируулсан хоёр блокоос Myoware булчингийн мэдрэгчийн оролтын утгыг харах болно.

Arduino -ийн тохиргоо

Танилцуулгад дээр дурдсан номын санг суулгасан эсэхээ шалгаарай.

Бид жишээ зургаар ажиллах болно. Тиймээс Файл> Жишээ> Adafruit IO Arduino> adafruitio_08_analog_in -ийг нээнэ үү (зураг 1). Яагаад энэ ноорог вэ? Учир нь бид энэ гарын авлагын оролтын хэсгийг эхлээд тохируулж байна. MyoWare Muscle мэдрэгч нь аналог гаралтыг ашигладаг. Хэрэв та аналоги сэдвийг илүү нарийвчлан судлахыг хүсч байвал.

Сүлжээний тохиргоог тохируулахын тулд ноорог дээрх config.h таб дээр дарна уу. Та Adafruit IO хэрэглэгчийн нэрээ IO_USERNAME -ийн тодорхойлолтод, мөн Adafruit IO түлхүүрээ IO_KEY -д тодорхойлох шаардлагатай болно. Та хэрэглэгчийн нэр, түлхүүрээ дэлгэцийн баруун дээд хэсэгт байрлах Arduino IO дээрээс олох боломжтой (2 -р зураг дээрх жишээ)

IO_USERNAME "your_username" -ээ #тодорхойлох

IO_KEY "your_key" -ийг #тодорхойлох

WiFi Config WiFi нь config.h -д анхдагч байдлаар идэвхждэг тул хэрэв та дэмжигдсэн WiFi самбаруудын аль нэгийг ашиглаж байгаа бол зөвхөн config.h таб дахь WIFI_SSID болон WIFI_PASS сонголтыг өөрчлөх шаардлагатай болно.

#WIFI_SSID "your_ssid"#WIFI_PASS "your_pass" -ийг тодорхойлох

Хэрэв танд дээрх тохиргоонууд өөрчлөгдсөн бол бид adafruit_08_analog_in гэсэн жинхэнэ код руу очиж болно. Энэ жишээнд өгөгдмөл зүү нь AO дээрх статет юм. Энэ бол 2 -р алхам дээр булчингийн мэдрэгчийг самбар дээр байрлуулсан зөв зүү юм.

Энэ жишээнд фото эсийн мэдрэгч ашигладаг, учир нь бид булчингийн мэдрэгч ашигладаг тул энэ нэрийг өөрчлөх болно. Хэрэв та үүнийг хийх нь хамаагүй, энэ нь зөвхөн утга зүйн хувьд эмх цэгцтэй болгоно. PHOTOCELL_PIN -ийг MUSCLESENSOR_PIN болгож өөрчилнө үү.

/************************ Жишээ эндээс эхэлнэ ********************** *********/

// аналог пин 0 #PHOTOCELL_PIN A0 -ийг тодорхойлох

Сүүлчийн кодын мөрөнд саатал гарсан байна. Энэхүү хоцрогдол нь 1 секунд, бид 2 секундын дотор тохируулах гэж байгаа тул 2000. Бид Adafruit IO дээр өгөгдлийн хязгаартай лиценз байгаа тул үүнийг хоёр секундын дотор энэ зургийн хэмжээ нь өгөгдлийн хязгаараас хэтэрсэн бөгөөд үүнийг хийвэл тохируулагчийг анхааруулах болно.. Энэ нь ямар ч утга оруулаагүй гэсэн үг юм. Үүнийг хоёр секундэд тохируулах нь үүнээс сэргийлдэг.

// нэг секунд хүлээх (1000 миллисекунд == 1 секунд) саатал (2000);

Үүнийг ажиллуулахын тулд ноорог дээр үүнийг өөрчлөх шаардлагатай байсан. Хэрэв та бүхэл бүтэн код хэрхэн ажилладагийг мэдэхийг хүсч байвал. Та үүнийг кодын блок бүрийн тайлбарыг мэдэх Adafruit дээрээс олж болно.

Ноорогоо самбартаа байршуулаад Arduino Serial Monitor -ийг нээнэ үү. Таны самбар одоо Adafruit IO -тэй холбогдох ёстой.

Та одоо гараа чангалж чадна, мөн өөрчлөгдөж буй утгыг Adafruit IO руу илгээж байгааг харах ёстой (зураг 3 дээрх шиг). Хэрэв та цуваа дэлгэц дээр ямар ч утга олж харахгүй байгаа бол Цуваа дэлгэц дээрх Baud -ийн хурдыг 115200 болгож тохируулсан эсэхээ шалгаарай.

Adafruit IO -ийн хяналтын самбарыг Adafruit IO дээрээс шалгаад MyoWare Muscle Sensor -ийн утгыг өөрчлөхөд хэмжигч болон шугамын диаграмыг харах хэрэгтэй.

Алхам 4: Adafruit IO Trigger тохиргоо

Adafruit IO Trigger тохиргоо
Adafruit IO Trigger тохиргоо
Adafruit IO Trigger тохиргоо
Adafruit IO Trigger тохиргоо

Өнөөг хүртэл бид MyoWare Muscle мэдрэгчээс Adafruit IO ажиллаж байгаа талаар мэдээлэл оруулах боломжтой байсан. Одоо бид энэ мэдээллийг уншиж эхлэх гэж байна. Булчингийн мэдрэгчийн X -ээс дээш 5 дахин их утгыг илрүүлсний дараа Neopixel LED туузаар үйлдэл хийнэ.

Энэ хэсэг нь надад зориулагдсан бөгөөд би Adafruit IO -ийн түүхийг хэрхэн уншиж болохыг судлах ёстой байв. Би өмнө нь Feeds болон Dashboards -тэй ажиллаж байсан тул үүсгэсэн тэжээл, хяналтын самбар үүнийг уншиж, энд Arduino дээр үйлдэл үүсгэж чадна гэж бодсон. Одоогоор би амжилтанд хүрээгүй байна. Adafruit IO -ийн олон судалгаа, шинжилгээний дараа Adafruit IO дахь Trigger функцээр ямар нэгэн үйлдэл хийж болохыг олж мэдсэн. Triggers -ийн талаар илүү ихийг олж мэдэх.

Нэмэлт FeedBeig нь Trigger хийхээс өмнө бид өөр тэжээл үүсгэх ёстой бөгөөд ингэснээр гаралтыг авахын тулд үүнийг Arduino дээр нэрлэх боломжтой болно. AlertTriggered нэртэй тэжээл үүсгэнэ үү.

Trigger үүсгэх Feed -ийн толгойн хажууд Trigger байгаа бол энд очно уу. Шинэ гох үүсгэх. Хэрэв та реактив өдөөгч эсвэл хуваарийн триггер үүсгэхийг хүсч байвал танаас реактив гохыг сонгоод үүсгэх товчийг дарна уу. Учир нь та ямар нэгэн зүйл тохиолдоход л ямар нэгэн зүйлийг өдөөхийг хүсдэг (зураг 1).

Хэд хэдэн зүйлийг тохируулах ёстой (Дараагийн алхмуудыг 2-р зурагт үзүүлэв).- Хэрэв эхний бол аналог тэжээлийг сонгоно уу.

-Учир нь ийм тооноос хэтэрсэн үед та ямар нэгэн зүйлийг идэвхжүүлэхийг хүсч байгаа учраас та үүнээс илүү агуу зүйлийг сонгосон уу?

-Комперсоны утга нь та хүссэн дугаараа оруулж гохыг идэвхжүүлэх боломжтой. Энэ тохиолдолд би 600 хийсэн.

-Arduino -ийн тусламжтайгаар 600 -аас давсан тохиолдолд танд хариу өгөх шаардлагатай болно.

-Үүний дараа та AlertTriggered үүсгэсэн хоёр дахь тэжээлээ сонгож болно.

Эцэст нь үүсгэх дээр дарна уу.

Алхам 5: Неопикселийн гаралт

Неопикселийн гаралт
Неопикселийн гаралт

Эцсийн алхам бол гарцыг бий болгох явдал юм. AlertTriggered тэжээлийг (өмнөх алхам дээр үүсгэсэн) дуудаж засварласан Arduino -ийн ноорог дээр хийгдсэн.

Гаралт үүсгэхийн тулд та эхлээд Neopixel LED туузыг NodeMCU-тэй холбох хэрэгтэй.- NodeMCU- GND (баруун) утасны 3v дээрх LED туузны + 5v (зүүн) утсыг Gode (G = GND))- D5 дээрх LED-ийн төв утас DIN (эсвэл өөр D порт)

CodeI нь энэ алхамыг өөрчилсөн ноорогыг бүхэлд нь файл болгон оруулсан болно (энэ алхмын доод талд байгаа). Энэ бол таны сүүлийн хэдэн алхам дээр ажиллаж байсан ноорог боловч одоо эцсийн ноорог нь гаралтыг бий болгохын тулд хийх ёстой алхмуудаа багтаасан болно. adafruitio_musclesensor_neopixel файл. Энэ нь өмнө нь өгөгдлөөрөө тохируулсан config.h дээр ажилладаг. Кодын блокуудыг тайлбар дээр оруулсан тул юу болж байгааг харж болно.

Энэ гаралтын өгөгдлийг кодчилсон байна Энэ кодыг би AlertTriggered (өмнөх алхам дээр 600 -аас дээш утгыг зарласан) 5 -аас дээш удаа идэвхжүүлсэн үед би гох үүсгэсэн. Энэ нь идэвхжсэн үед Neopixel LED зурвасыг цагаанаас улаан болгож тохируулна гэсэн үг юм. Энэ нь нэг минут болох бөгөөд улаавтар байдал бүдгэрч, дахин цагаан төлөвт шилжих болно.

Программистын хувьд танд илүү ойлгомжтой болгохын тулд кодын сүүлийн багц нь Цуваа монитор юм. Утга гэж юу вэ, танд байгаа үед дохиоллын түвшинг өдөөдөг. Сэрэмжлүүлгийн төлөв асаалттай байхад секунд нэмэхийн хамт 60 секундын дараа дохиоллын төлөвийг дахин унтраана. Тиймээс энэ хэсэг нь заавал биш юм.

// alartstate нь Serial.println дээр байх үед Serial Monitor -д өнгөрч буй секундүүдийг харуулахын тулд ("Секунд өнгөрөв:"); Serial.println (секундээр дамжуулсан); } өөр {secondsPassed = 0; }

Хэрэв та алхамуудыг хийсэн эсвэл adafruitio_musclesensor_neopixel ноорог файлыг өөрийн тохиргоотой авбал NodeMCU дээрээ байршуулж болно. Хэрэв энэ нь хийгдсэн бол та доорхтай төстэй зүйлийг Serial Monitor дээрээ харах ёстой.

Adafruit IO руу холбогдож байна …

Adafruit IO холбогдсон байна. Илгээх -> 23 Илгээх -> 78

Фото 1 нь Alertmode горимд байх үед цуваа дэлгэц юм.

Энэ нь ажиллахгүй байна уу? Дараах зүйлсийг шалгаарай- config.h зөв оруулсан эсэхийг шалгаарай- Та зөв Adafruit IO хэрэглэгчийн нэр, түлхүүрээ оруулсан эсэх- Та SSID-д Wifi нууц үгээ зөв оруулсан эсэх- Та MyoWare-ийн утсыг байрлуулсан уу? Булчингийн мэдрэгч баруун ба Neopixel Led зурвасаас

Эсвэл өмнөх алхмуудыг шалгана уу.

Алхам 6: Үр дүн

Өө, та дууслаа! Эцсийн бүтээгдэхүүнийг үзүүлэх, үзүүлэхийн тулд би видеог оруулсан болно.

Зөвлөмж болгож буй: