فهرست مطالب:

Neopixel Led Strip واکنش به حسگر عضله Myoware: 6 مرحله
Neopixel Led Strip واکنش به حسگر عضله Myoware: 6 مرحله

تصویری: Neopixel Led Strip واکنش به حسگر عضله Myoware: 6 مرحله

تصویری: Neopixel Led Strip واکنش به حسگر عضله Myoware: 6 مرحله
تصویری: درایور موزیکال : کنترلر ریسه های ار جی بی حساس به صدا 2024, نوامبر
Anonim
نوار LED Neopixel که به حسگر عضلانی Myoware واکنش نشان می دهد
نوار LED Neopixel که به حسگر عضلانی Myoware واکنش نشان می دهد

هدف این است که با کمک آردوینو یک حسگر عضلانی نصب کرده و داده های ورودی را با Adafruit IO پردازش کرده و خروجی را با ماشه بازیابی کنیم تا نور شما برای یک دقیقه از سفید به قرمز تبدیل شود.

سنسور عضله چیست سنسور عضله فعالیت الکتریکی یک ماهیچه را اندازه گیری می کند و یک سیگنال خروجی آنالوگ تولید می کند که توسط میکروکنترلر به راحتی قابل خواندن است. الکترومیوگرافی (EMG) پاسخ عضلانی یا فعالیت الکتریکی را در پاسخ به تحریک عصبی ماهیچه اندازه گیری می کند. این آزمایش برای کمک به تشخیص ناهنجاری های عصبی عضلانی استفاده می شود. در حین آزمایش ، یک یا چند سوزن کوچک (که الکترود نیز نامیده می شود) از طریق پوست وارد عضله می شوند.

برای انجام این پروژه به موارد زیر نیاز دارید: -سنسور عضله MyoWare -الکترودهای EMG -NodeMCU (esp8266) -سیم کاور سیلیکون -کابل میکرو USB -نوار LED نئوپیکسل

کتابخانه هایی که به آنها نیاز دارید: کتابخانه ها هنوز نصب شده اند سپس به Sketch> include Library> Manage Libraries بروید … در قسمت جستجو: [نام کتابخانه ای که می خواهید نصب کنید] را تایپ کنید.

مرحله 1: اتصال سنسور عضلانی Myoware (مخصوص کسانی که قبلاً با آن کار نکرده بودند)

اگر تا به حال با سنسور عضله Myoware کار نکرده اید ، خوب است ابتدا نحوه اتصال و خواندن این سنسور را در مانیتور سریال در آردوینو درک کنید. این عملیات یک روش استاندارد است که در بسیاری از کتابچه های راهنمای قبلاً توضیح داده شده است. پلت فرم Adafruit شرح روشنی از نحوه عملکرد این دستگاه در چند مرحله دارد:

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

اگر همه این مراحل انجام شود ، در مانیتور سریال خود خواهید دید که وقتی عضلات خود را سفت می کنید ، مقادیر تغییر می کند. وقتی مشت خود را محکم می کنید و ماهیچه خود را سفت می کنید ، ارزش ها باید بالا بروند و وقتی عضله خود را شل می کنید ، این مقادیر باید دوباره کاهش یابد.

مهم این مرحله فقط برای تنظیم سنسور است. کدی که استفاده کرده اید برای بقیه راهنما ضروری نیست. تنها نحوه قرار دادن خود سنسور برای مراحل بعدی یکسان است.

مرحله 2: راه اندازی Adafruit IO

راه اندازی Adofruit IO
راه اندازی Adofruit IO
Adafruit IO Setup
Adafruit IO Setup
راه اندازی Adofruit IO
راه اندازی Adofruit IO

اولین قدم ورود یا ایجاد یک حساب کاربری در Adafruit IO است ، به Adafruit IO بروید. Adafruit IO یک بستر ابری است که می توانید از طریق اینترنت به آن متصل شوید. Adafruit IO داده ها را با اتصال داده ها مفید می کند.

وقتی در حساب خود هستید:

در مرحله بعد ، شما باید یک فید به نام Analog ایجاد کنید. اگر برای شروع ایجاد خوراک در Adafruit IO به کمک نیاز دارید ، راهنمای اصول تغذیه Adafruit IO (مانند عکس 1 و 2) را بررسی کنید.

با اضافه کردن بلوک سنج و نمودار خط BlockNext ، یک داشبورد جدید ایجاد کنید و نام آن را همانطور که می خواهید نامگذاری کنید (برای ایجاد داشبورد جدید در عکسهای 3 ، 4 و 5 نشان داده شده است). مطمئن شوید که خوراک آنالوگ را به عنوان منبع داده انتخاب کرده اید.

هنگامی که در داشبورد هستید یک بلوک Gauge جدید را از طریق قسمت آبی رنگ در گوشه بالا سمت راست کلیک کنید. نام بلوک را هرچه می خواهید (در عکسهای 6 و 7 نشان داده شده است) بگذارید و حداکثر مقدار آن را 1024 و مقدار حداقل 0 (مقادیر سنسور عضله) بدهید.

همان کار را با بلوک نمودار خط (عکس 8) مانند بالا با بلوک Gauge تکرار کنید.

اگر موارد بالا را انجام داده اید ، باید صفحه مشابهی با عکس قبلی داشته باشید.

مرحله 3: ورودی آردوینو

ورودی آردوینو
ورودی آردوینو
ورودی آردوینو
ورودی آردوینو
ورودی آردوینو
ورودی آردوینو
ورودی آردوینو
ورودی آردوینو

در مرحله 1 تنظیم سیم کشی سنسور MyoWare Muscle را به درستی انجام داده اید. در این مرحله به کد آردوینو که همراه با اتصال به مرحله 2 داشبورد Adafruit IO است می پردازیم. در پایان این مرحله ، مقادیر ورودی سنسور Myoware Muscle را در دو Block که تنظیم کرده اید مشاهده خواهید کرد.

راه اندازی آردوینو

مطمئن شوید که کتابخانه هایی را نصب کرده اید که در مقدمه در بالا ذکر شده است.

ما قصد داریم با یک طرح نمونه کار کنیم. بنابراین فایل> مثال> Adafruit IO Arduino> adafruitio_08_analog_in را باز کنید (عکس 1). چرا این طرح؟ زیرا ما ابتدا قسمت ورودی این دفترچه راهنما را تنظیم می کنیم. سنسور MyoWare Muscle از خروجی آنالوگ استفاده می کند. اگر می خواهید بیشتر به موضوع مربوط به آنالوگ بپردازید.

برای پیکربندی تنظیمات شبکه ، روی برگه config.h در طرح کلیک کنید. شما باید نام کاربری Adafruit IO خود را در تعریف IO_USERNAME و کلید IO Adafruit خود را در تعریف IO_KEY تنظیم کنید. می توانید نام کاربری و کلید خود را در سمت چپ بالای صفحه در Arduino IO خود بیابید (مثال در عکس 2)

#تعریف IO_USERNAME "نام کاربری شما"

#کلید_ایو را "کلید_خود" تعریف کنید

WiFi Config WiFi به طور پیش فرض در config.h فعال است بنابراین اگر از یکی از بردهای WiFi پشتیبانی شده استفاده می کنید ، فقط باید گزینه های WIFI_SSID و WIFI_PASS را در برگه config.h تغییر دهید.

#تعریف WIFI_SSID "your_ssid"#تعریف WIFI_PASS "گذر_ت"

اگر در تنظیمات بالا تغییراتی دارید ، می توانیم به کد اصلی ، adafruit_08_analog_in ، بیشتر برویم. پین خطا در این مثال statet در AO است. این پین مناسب است زیرا در مرحله 2 سنسور عضله خود را روی صفحه قرار داده اید.

در این مثال از سنسور فتوسل استفاده می شود ، زیرا ما از سنسور ماهیچه استفاده می کنیم و این نام را تغییر می دهیم. مهم نیست که این کار را انجام دهید ، فقط از نظر معنایی آن را مرتب تر می کند. PHOTOCELL_PIN را به MUSCLESENSOR_PIN تغییر دهید این کار را در دو قسمت طرح انجام دهید.

/************************ مثال در اینجا شروع می شود ********************* *********/

// پین آنالوگ 0 #تعریف PHOTOCELL_PIN A0

در آخرین کد ، تأخیری وجود دارد. این تاخیر 1 ثانیه است ، ما قرار است 2 ثانیه تا 2000 تنظیم کنیم. ما این کار را انجام می دهیم زیرا مجوز در Adafruit IO با محدودیت داده وجود دارد ، در کمتر از دو ثانیه این طرح از این حد داده فراتر می رود و یک هشدار دریچه گاز می دهد به این بدان معناست که هیچ مقداری وارد نمی شود. تنظیم این دو ثانیه از این امر جلوگیری می کند.

// یک ثانیه (1000 میلی ثانیه == 1 ثانیه) تاخیر (2000) صبر کنید.

این چیزی بود که باید در طرح تغییر می دادید تا کار کند. اگر می خواهید دقیقاً بدانید که کل کد چگونه کار می کند. می توانید آن را در Learn Adafruit ، با توضیح هر بلوک کد پیدا کنید.

بررسی کنید طرح را روی برد خود بارگذاری کرده و Arduino Serial Monitor را باز کنید. اکنون برد شما باید به Adofruit IO متصل شود.

اکنون می توانید بازوی خود را محکم کرده و مقادیر متغیری که به Adafruit IO ارسال می شود را مشاهده کنید (مانند عکس 3). اگر مقداری را در مانیتور سریال مشاهده نمی کنید ، بررسی کنید که آیا میزان Baud در مانیتور سریال را روی 115200 تنظیم کرده اید یا خیر.

داشبورد Adafruit IO داشبورد خود را در Adafruit IO بررسی کنید و باید اندازه و نمودار خطی را مشاهده کنید که به تغییرات مقادیر سنسور عضله MyoWare پاسخ می دهد.

مرحله 4: راه اندازی Adafruit IO Trigger

راه اندازی Adafruit IO Trigger
راه اندازی Adafruit IO Trigger
راه اندازی Adafruit IO Trigger
راه اندازی Adafruit IO Trigger

تا کنون ما قادر بوده ایم از سنسور MyoWare Muscle به Adafruit IO کار کنیم. اکنون ما قصد داریم خواندن این اطلاعات را آغاز کنیم. به طوری که پس از تشخیص 5 برابر مقادیری بالاتر از X سنسور ماهیچه ، یک عمل توسط نوار LED Neopixel انجام می شود.

این بخش برای من بود که باید بررسی کنم چگونه می توانم تاریخچه IO Adafruit را بخوانم. من قبلاً با فیدها و داشبوردها کار کرده بودم ، بنابراین فکر کردم که فید و داشبورد ایجاد شده می تواند این را بخواند و یک اقدام در اینجا در آردوینو ایجاد کند. تا به حال موفق نشده ام. پس از تحقیقات فراوان و IO Adafruit ، متوجه شدم که می توان با عملکرد Trigger در Adafruit IO یک عمل را آغاز کرد. درباره Triggers بیشتر بدانید.

قبل از اینکه بتوانیم Trigger بسازیم ، باید یک فید دیگر ایجاد کنیم تا بتوانیم آن را در Arduino نامگذاری کنیم تا خروجی te را دریافت کنیم. یک فید با نام AlertTriggered ایجاد کنید.

بعد از سرصفحه ها Feed and Dashboard Trigger است ، به اینجا بروید. یک ماشه جدید ایجاد کنید. از شما سال می شود که آیا می خواهید یک React Trigger یا Schedule Trigger ایجاد کنید ، React Trigger را انتخاب کرده و روی ایجاد کلیک کنید. این به این دلیل است که شما فقط می خواهید زمانی که چیزی اتفاق می افتد چیزی را تحریک کنید (عکس 1).

تعدادی از موارد باید تنظیم شوند (مراحل بعدی نیز در عکس 2 نشان داده شده است).- در اولین If ، فید آنالوگ را انتخاب کنید ، بنابراین ورودی از اینجا گرفته می شود.

-آیا شما بیشتر از این را انتخاب می کنید ، این به این دلیل است که می خواهید زمانی که مقدار از چنین عددی فراتر رود ، چیزی را فعال کنید.

مقدار مقایسه می توانید برای فعال کردن ماشه شماره مورد نظر خود را وارد کنید. من در این مورد 600 کار کردم.

-با آردوینو هنگامی که از 600 فراتر رفت ، باید بازخورد دریافت کنید: بنابراین در سپس انتشار پیام را انتخاب کنید:.

-بعد از آن می توانید فید دوم خود را ایجاد کنید AlertTriggered.

در آخر روی create کلیک کنید.

مرحله 5: خروجی نئوپیکسل

خروجی نئوپیکسل
خروجی نئوپیکسل

آخرین مرحله تولید خروجی است. در طرح آردوینو که ویرایش کرده اید ، با فراخوانی فید AlertTriggered (که در مرحله قبل ایجاد کرده اید) انجام می شود.

برای اینکه بتوانید خروجی تولید کنید ، ابتدا باید نوار led Neopixel را به NodeMCU وصل کنید.- سیم + 5 ولت (سمت چپ) نوار led شما در 3 ولت سیم NodeMCU- GND (راست) شما در G گره (G = GND)- مرکز سیم DIN LED در D5 (یا هر پورت D دیگر)

CodeI کل طرح را به صورت متناوب در این مرحله به عنوان یک فایل قرار داده ام (در انتهای این مرحله یافت می شود). این همان طرح است که در چند مرحله گذشته با آن کار کرده اید ، اما اکنون Sketch نهایی شامل مراحلی است که باید برای تولید خروجی انجام دهید. فایل adafruitio_musclesensor_neopixel. این با config.h که قبلاً با داده های خود تنظیم کرده اید کار می کند. بلوک های کد همراه با نظرات هستند تا بتوانید ببینید چه اتفاقی می افتد.

در این کد من یک ماشه ایجاد کرده ام ، هنگامی که AlertTriggered (آنچه در مرحله قبل با مقدار بیش از 600 اعلام کردیم) بیش از 5 بار فعال شود. این بدان معناست که هنگام فعال شدن ، نوار LED Neopixel از سفید به قرمز تنظیم می شود. این یک دقیقه اتفاق می افتد و بعد از آن حالت قرمز محو می شود و دوباره به حالت سفید حلقه می شود.

برای روشن تر شدن برنامه نویسی ، آخرین مجموعه کد مربوط به سریال مانیتور است. مقادیر چیست و چه زمانی سطح هشدار را فعال می کند. همراه با افزودن ثانیه در حالت روشن بودن هشدار ، تا بعد از 60 ثانیه دوباره به حالت هشدار خاموش می شود. بنابراین این قسمت اختیاری است.

// برای نمایش ثانیه های گذشته در Serial Monitor هنگامی که alartstate در Serial.println است ("ثانیه ها گذشت:") ؛ Serial.println (secondsPassed)؛ } else {secondsPassed = 0؛ }

اگر مراحل را انجام داده اید یا فایل adafruitio_musclesensor_neopixel را با پیکربندی خود دریافت کرده اید ، می توانید آن را در NodeMCU خود بارگذاری کنید. اگر این کار انجام شد ، باید چیزی مشابه زیر را در مانیتور سریال خود ببینید:

اتصال به Adafruit IO…

Adafruit IO متصل شد. ارسال -> 23 ارسال -> 78

عکس 1 وقتی در Alertmode قرار دارد ، Serial Monitor است.

کار نمی کند؟ موارد زیر را بررسی کنید- بررسی کنید که آیا config.h به درستی وارد شده است- آیا نام کاربری و کلید Adafruit IO را درست وارد کرده اید یا آیا SSID رمز عبور Wifi را درست وارد کرده اید- آیا سیم کشی MyoWare را قرار داده اید؟ سنسور عضله سمت راست و از نوار پیست Neopixel

یا مراحل قبلی را بررسی کنید.

مرحله 6: نتایج

هورا تمام شد! برای نشان دادن و مشاهده محصول نهایی در عمل ، من یک ویدیو را اضافه کرده ام.

توصیه شده: