جدول المحتويات:

شريط ليد من نيوبكسل يتفاعل مع مستشعر عضلات Myoware: 6 خطوات
شريط ليد من نيوبكسل يتفاعل مع مستشعر عضلات Myoware: 6 خطوات

فيديو: شريط ليد من نيوبكسل يتفاعل مع مستشعر عضلات Myoware: 6 خطوات

فيديو: شريط ليد من نيوبكسل يتفاعل مع مستشعر عضلات Myoware: 6 خطوات
فيديو: IOT: ESP 8266 Nodemcu Управление светодиодной лентой Neopixel ws2812 через Интернет с помощью приложения BLYNK 2024, يوليو
Anonim
شريط نيوبكسل ليد يتفاعل مع مستشعر عضلات Myoware
شريط نيوبكسل ليد يتفاعل مع مستشعر عضلات Myoware

الهدف هو تثبيت مستشعر عضلي بمساعدة Arduino ومعالجة البيانات الواردة باستخدام Adafruit IO واسترداد المخرجات باستخدام مشغل بحيث يتحول ضوء te من الأبيض إلى الأحمر لمدة دقيقة واحدة.

ما هو مستشعر العضلات يقيس مستشعر العضلات النشاط الكهربائي للعضلة وينتج إشارة خرج تناظرية يمكن قراءتها بسهولة بواسطة متحكم دقيق. يقيس تخطيط كهربية العضل (EMG) استجابة العضلات أو النشاط الكهربائي استجابةً لتحفيز العصب للعضلة. يستخدم الاختبار للمساعدة في الكشف عن التشوهات العصبية العضلية. أثناء الاختبار ، يتم إدخال إبر صغيرة واحدة أو أكثر (تسمى أيضًا الأقطاب الكهربائية) عبر الجلد إلى العضلات.

تحتاج لهذا المشروع: - مستشعر عضلات MyWare - أقطاب 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> include Library> Manage Libraries… اكتب: [اسم المكتبة الذي تريد تثبيته] في حقل البحث.

الخطوة 1: توصيل مستشعر عضلات Myoware (خاصة لأولئك الذين لم يعملوا به من قبل)

إذا لم تكن قد عملت مع Myoware Muscle Sensor مطلقًا ، فمن الجيد أن تفهم أولاً كيفية توصيل هذا المستشعر وقابليته للقراءة في الشاشة التسلسلية في 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 يجعل البيانات مفيدة مع اتصالات البيانات.

عندما تكون في حسابك:

قم بإنشاء FeedNext التناظري ، ستحتاج إلى إنشاء موجز يسمى Analog. إذا كنت بحاجة إلى مساعدة للبدء في إنشاء موجز ويب على Adafruit IO ، فراجع دليل أساسيات تغذية Adafruit IO (كما في الصورة 1 و 2).

إضافة كتلة القياس والمخطط الخطي BlockNext ، قم بإنشاء لوحة معلومات جديدة وقم بتسميتها كما تريدها (كما هو موضح في الصور 3 و 4 و 5 لإنشاء لوحة معلومات جديدة). تأكد من أنك حددت التغذية التناظرية كمصدر للبيانات.

عندما تكون في لوحة القيادة ، أضف كتلة قياس جديدة ، انقر فوق الزر الأزرق زائد في الزاوية اليمنى العليا. قم بتسمية الكتلة كما تريد (كما هو موضح في الصورتين 6 و 7) ، وأعطها قيمة قصوى تبلغ 1024 وقيمة دنيا تبلغ 0 (قيم مستشعر العضلات).

كرر الأمر نفسه مع كتلة المخطط الخطي (الصورة 8) كما هو مذكور أعلاه مع كتلة القياس.

إذا كنت قد فعلت ما سبق ، يجب أن يكون لديك شاشة مماثلة مثل الصورة الأخيرة.

الخطوة 3: إدخال اردوينو

إدخال اردوينو
إدخال اردوينو
إدخال اردوينو
إدخال اردوينو
إدخال اردوينو
إدخال اردوينو
إدخال اردوينو
إدخال اردوينو

في الخطوة 1 ، قمت بإعداد توصيل مستشعر MyoWare Muscle بشكل صحيح. في هذه الخطوة ، سنغوص في كود Arduino الذي يأتي مع الاتصال بالخطوة 2 في لوحة معلومات Adafruit IO. في نهاية هذه الخطوة ، سترى قيم الإدخال لمستشعر Myoware Muscle في الكتلتين اللتين قمت بإعدادهما.

إعداد اردوينو

تأكد من تثبيت جميع المكتبات المذكورة أعلاه في المقدمة.

سنعمل مع مثال رسم. لذا افتح ملف> مثال> Adafruit IO Arduino> adafruitio_08_analog_in (الصورة 1). لماذا هذا الرسم؟ لأننا نقوم أولاً بإعداد جزء الإدخال من هذا الدليل. يستخدم مستشعر MyoWare Muscle الإخراج التناظري. إذا كنت ترغب في التعمق أكثر في موضوع التناظرية.

تكوين شبكة Arduino لتكوين إعدادات الشبكة ، انقر فوق علامة التبويب config.h في الرسم التخطيطي. ستحتاج إلى تعيين اسم مستخدم Adafruit IO في تعريف IO_USERNAME ، ومفتاح Adafruit IO في تعريف IO_KEY. يمكنك العثور على اسم المستخدم والمفتاح الخاصين بك في الجزء العلوي الأيمن من الشاشة في Arduino IO (مثال في الصورة 2)

#define IO_USERNAME "your_username"

#define IO_KEY "your_key"

يتم تمكين WiFi Config WiFi افتراضيًا في config.h ، لذا إذا كنت تستخدم إحدى لوحات WiFi المدعومة ، فستحتاج فقط إلى تعديل خياري WIFI_SSID و WIFI_PASS في علامة التبويب config.h.

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

كود اردوينو إذا كان لديك تغييرات على الإعدادات أعلاه ، فيمكننا الانتقال إلى الكود الفعلي ، adafruit_08_analog_in. دبوس التقصير في هذا المثال هو statet على AO. هذا هو الدبوس الصحيح لأنك وضعت مستشعر عضلاتك على السبورة في الخطوة 2.

يستخدم هذا المثال مستشعر الخلية الضوئية ، لأننا نستخدم مستشعر عضلي سنغير هذا الاسم. لا يهم إذا قمت بذلك ، فستجعله أكثر ترتيباً لغوياً. قم بتغيير PHOTOCELL_PIN إلى MUSCLESENSOR_PIN ، قم بذلك في مكانين من الرسم التخطيطي.

/ ************************ مثال يبدأ هنا ********************** ********* /

// دبوس تناظري 0 # تعريف PHOTOCELL_PIN A0

في خط الترميز الأخير هناك تأخير. هذا التأخير هو ثانية واحدة ، سنقوم بتعيينه إلى ثانيتين حتى 2000. نقوم بذلك لأن هناك ترخيصًا على Adafruit IO بحد بيانات ، أقل من ثانيتين يتجاوز هذا الرسم حد البيانات هذا وسيعطي تحذيرًا من THROTTLE. ما يعني أنه لا توجد أي قيم في. ضبط هذا على ثانيتين يمنع ذلك.

// انتظر ثانية واحدة (1000 مللي ثانية == ثانية واحدة) تأخير (2000) ؛

كان هذا ما كان عليك تغييره في الرسم التخطيطي لجعله يعمل. إذا كنت تريد أن تعرف بالضبط كيف يعمل الكود بأكمله. يمكنك العثور عليه على تعلم Adafruit ، مع شرح لكل كتل التعليمات البرمجية.

قم بتحميل الرسم على لوحك ، وافتح Arduino Serial Monitor. يجب أن يتصل منتداك الآن بـ Adafruit IO.

يمكنك الآن شد ذراعك ، ويجب أن ترى القيم المتغيرة التي يتم إرسالها إلى Adafruit IO (كما في الصورة 3). إذا كنت لا ترى أي قيم في جهاز العرض التسلسلي ، فتحقق مما إذا كنت قد قمت بتعيين معدل البث بالباود في جهاز العرض التسلسلي على 115200.

Adafruit IO Dashboard تحقق من لوحة القيادة الخاصة بك على 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. الآن سنبدأ في قراءة هذه المعلومات. لذلك بعد اكتشاف قيمة أعلى 5 مرات من X لمستشعر العضلات ، يتم تنفيذ إجراء بواسطة شريط Neopixel LED.

كان هذا القسم بالنسبة لي حيث اضطررت إلى التحقيق في كيفية قراءة تاريخ Adafruit IO. لقد عملت مع الخلاصات ولوحات المعلومات من قبل ، لذلك اعتقدت أن الخلاصة ولوحة المعلومات التي تم إنشاؤها يمكنها قراءة هذا وإنشاء إجراء هنا في Arduino. حتى الآن لم أنجح. بعد الكثير من البحث و Adafruit IO ، اكتشفت أنه يمكن تشغيل إجراء باستخدام وظيفة Trigger في Adafruit IO. تعرف على المزيد حول المشغلات.

قبل أن نتمكن من إنشاء مشغل ، يجب علينا إنشاء موجز آخر حتى نتمكن من تسميته في Arduino للحصول على إخراج te. قم بإنشاء موجز باسم AlertTriggered.

إنشاء Trigger بجانب ترويسة Feed و Dashboard يوجد Trigger ، انتقل إلى هنا. قم بإنشاء مشغل جديد. سيتم سؤالك عما إذا كنت ترغب في إنشاء مشغل رد الفعل أو مشغل الجدول ، اختر مشغل رد الفعل وانقر فوق إنشاء. هذا لأنك تريد فقط تشغيل شيء ما عندما يحدث شيء ما (الصورة 1).

يجب تعيين عدد من الأشياء (تظهر الخطوات التالية أيضًا في الصورة 2). - حدد التغذية التناظرية في البداية إذا ، لذلك سيتم أخذ الإدخال من هنا.

-هل اخترت greather than ، هذا لأنك تريد تشغيل شيء ما عندما تتجاوز القيمة هذا الرقم.

قيمة -Comperison يمكنك إدخال الرقم الذي تريده لتنشيط الزناد. لقد فعلت 600 في هذه الحالة.

- مع اردوينو ، سيتعين عليك تلقي ملاحظات عندما تتجاوز 600: لذلك في ثم حدد نشر رسالة إلى:.

-بعد ذلك يمكنك تحديد AlertTriggered الأعلاف الثانية التي تم إنشاؤها.

أخيرًا ، انقر فوق إنشاء.

الخطوة 5: إخراج Neopixel

ناتج Neopixel
ناتج Neopixel

الخطوة الأخيرة هي إنشاء المخرجات. تم ذلك في مخطط Arduino الذي قمت بتحريره ، عن طريق استدعاء موجز AlertTriggered (الذي قمت بإنشائه في الخطوة السابقة).

لتكون قادرًا على إنتاج مخرجات ، يجب عليك أولاً توصيل شريط Neopixel LED بسلك NodeMCU. - + 5 فولت (يسار) سلك شريط LED الخاص بك على 3 فولت من سلك NodeMCU- GND (يمين) على G من العقدة (G = GND) - سلك مركزي DIN لمصباح LED على D5 (أو أي منفذ D آخر)

لقد قمت بتضمين المخطط بأكمله مع البدائل في هذه الخطوة كملف (يمكن العثور عليه في الجزء السفلي من هذه الخطوة). هذا هو نفس الرسم التخطيطي الذي عملت معه في الخطوات القليلة الماضية ولكن الآن تم تضمين الرسم النهائي مع الخطوات التي يجب عليك القيام بها من أجل إنشاء الإخراج. ملف adafruitio_musclesensor_neopixel. يعمل هذا مع ملف config.h الذي قمت بتعيينه مسبقًا مع بياناتك. يتم تضمين الكتل البرمجية مع التعليقات حتى تتمكن من رؤية ما يحدث.

ما هي بيانات الإخراج التي تم ترميزها في هذا الكود ، قمت بإنشاء مشغل ، عندما يتم تشغيل AlertTriggered (ما أعلناه في الخطوة السابقة على قيمة أكبر من 600) أكثر من 5 مرات. هذا يعني أنه عند تشغيله ، يتم ضبط شريط Neopixel LED من الأبيض إلى الأحمر. سيحدث هذا لمدة دقيقة وستتلاشى الحالة الحمراء وتتحول إلى الحالة البيضاء مرة أخرى.

لتوضيح الأمر بالنسبة لك كمبرمج ، فإن المجموعة الأخيرة من التعليمات البرمجية هي لجهاز Serial Monitor. ما هي القيم ومتى تقوم بتشغيل مستوى التنبيه. مع إضافة الثواني عندما تكون حالة التنبيه قيد التشغيل ، حتى بعد 60 ثانية تتحول إلى حالة التنبيه مرة أخرى. هذا الجزء اختياري.

// لإظهار الثواني المارة في Serial Monitor عندما تكون alartstate في Serial.println ("مرت الثواني:") ؛ Serial.println (secondsPassed) ؛ } آخر {secondsPassed = 0 ؛ }

تحقق إذا قمت بتنفيذ الخطوات أو حصلت على ملف adafruitio_musclesensor_neopixel التخطيطي باستخدام config.h الخاص بك ، يمكنك تحميله إلى NodeMCU الخاص بك. إذا تم ذلك ، يجب أن ترى شيئًا مشابهًا لأسفل في جهاز العرض التسلسلي الخاص بك:

جارٍ الاتصال بـ Adafruit IO …

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

الصورة 1 هي الشاشة التسلسلية عندما تكون في Alertmode.

لا يعمل؟ تحقق من الأشياء التالية - تحقق مما إذا كان config.h مضمّنًا بالطريقة الصحيحة - هل أدخلت اسم مستخدم Adafruit IO الصحيح والمفتاح - هل أدخلت SSID الصحيح كلمة مرور Wifi - هل قمت بوضع الأسلاك الخاصة بـ MyoWare مستشعر العضلات يمينًا ومن شريط Neopixel LED

أو تحقق من الخطوات السابقة.

الخطوة 6: النتائج

رائع ، لقد انتهيت! لتوضيح ورؤية المنتج النهائي قيد التنفيذ ، قمت بتضمين مقطع فيديو.

موصى به: