विषयसूची:

मायोवेयर स्नायु सेंसर पर प्रतिक्रिया करने वाली नियोपिक्सल एलईडी पट्टी: 6 कदम
मायोवेयर स्नायु सेंसर पर प्रतिक्रिया करने वाली नियोपिक्सल एलईडी पट्टी: 6 कदम

वीडियो: मायोवेयर स्नायु सेंसर पर प्रतिक्रिया करने वाली नियोपिक्सल एलईडी पट्टी: 6 कदम

वीडियो: मायोवेयर स्नायु सेंसर पर प्रतिक्रिया करने वाली नियोपिक्सल एलईडी पट्टी: 6 कदम
वीडियो: Muscle Sensor - AGM Summer Break | DigiKey 2024, नवंबर
Anonim
Neopixel लेड स्ट्रिप मायोवेयर मसल सेंसर पर प्रतिक्रिया करता है
Neopixel लेड स्ट्रिप मायोवेयर मसल सेंसर पर प्रतिक्रिया करता है

लक्ष्य Arduino की मदद से एक मांसपेशी सेंसर स्थापित करना और Adafruit IO के साथ आने वाले डेटा को संसाधित करना और एक ट्रिगर के साथ आउटपुट प्राप्त करना है ताकि ते प्रकाश एक मिनट के लिए सफेद से लाल हो जाए।

स्नायु सेंसर क्या है स्नायु सेंसर एक मांसपेशी की विद्युत गतिविधि को मापता है और एक एनालॉग आउटपुट सिग्नल उत्पन्न करता है जिसे आसानी से एक माइक्रोकंट्रोलर द्वारा पढ़ा जा सकता है। इलेक्ट्रोमोग्राफी (ईएमजी) मांसपेशियों की तंत्रिका की उत्तेजना के जवाब में मांसपेशियों की प्रतिक्रिया या विद्युत गतिविधि को मापता है। परीक्षण का उपयोग न्यूरोमस्कुलर असामान्यताओं का पता लगाने में मदद के लिए किया जाता है। परीक्षण के दौरान, एक या एक से अधिक छोटी सुइयां (जिन्हें इलेक्ट्रोड भी कहा जाता है) त्वचा के माध्यम से पेशी में डाली जाती हैं।

इस परियोजना के लिए आपको चाहिए: -मायोवेयर मांसपेशी सेंसर -ईएमजी इलेक्ट्रोड -नोडएमसीयू (esp8266) -सिलिकॉन कवर वायर -यूएसबी माइक्रो केबल -नियोपिक्सल एलईडी पट्टी

आपको जिन पुस्तकालयों की आवश्यकता होगी: -Adafruit io Arduino (कम से कम संस्करण 2.3.0) - Adafruit Neopixel (संस्करण 1.2.5) - Adafruit MQTT लाइब्रेरी (1.0.3) -Arduino HttpClients (0.4.0) यदि आपके पास टी नहीं है अभी तक स्थापित पुस्तकालय। फिर स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें … टाइप करें: [लाइब्रेरी का नाम जिसे आप इंस्टॉल करना चाहते हैं] सर्च फील्ड में जाएं।

चरण 1: मायोवेयर मसल सेंसर को जोड़ना (विशेषकर उनके लिए जिन्होंने पहले कभी इसके साथ काम नहीं किया)

यदि आपने मायोवेयर मसल सेंसर के साथ कभी काम नहीं किया है, तो पहले यह समझना अच्छा है कि यह सेंसर Arduino में सीरियल मॉनिटर में कैसे जुड़ा और पठनीय है। यह ऑपरेशन एक मानक प्रक्रिया है जो पहले से ही वर्णित कई मैनुअल में है। एडफ्रूट प्लेटफॉर्म का स्पष्ट विवरण है कि यह कुछ चरणों में कैसे काम करता है:

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

जाँच करें यदि ये सभी चरण किए गए हैं, तो आप अपने सीरियल मॉनीटर में देखेंगे कि जब आप अपनी मांसपेशियों को कसते हैं तो मान बदल जाते हैं। जब आप अपनी मुट्ठी बनाते हैं और अपनी मांसपेशियों को कसते हैं तो मान ऊपर जाना चाहिए और जब आप अपनी मांसपेशियों को आराम देते हैं तो ये मान फिर से नीचे जाने चाहिए।

महत्वपूर्णयह चरण केवल सेंसर सेट करने के लिए है। आपके द्वारा उपयोग किया गया कोड शेष मैनुअल के लिए आवश्यक नहीं है। जिस तरह से आप सेंसर लगाते हैं, वह आने वाले चरणों के लिए समान रहता है।

चरण 2: एडफ्रूट आईओ सेटअप

एडफ्रूट आईओ सेटअप
एडफ्रूट आईओ सेटअप
एडफ्रूट आईओ सेटअप
एडफ्रूट आईओ सेटअप
एडफ्रूट आईओ सेटअप
एडफ्रूट आईओ सेटअप

पहला कदम Adafruit IO में लॉगिन करना या एक अकाउंट बनाना है, Adafruit IO को ब्राउज़ करना है। Adafruit IO एक क्लाउड प्लेटफॉर्म है, जिसे आप इंटरनेट से कनेक्ट कर सकते हैं। Adafruit IO डेटा कनेक्शन के साथ डेटा को उपयोगी बनाता है।

जब आप अपने खाते में हों:

एनालॉग फीडनेक्स्ट बनाएं, आपको एनालॉग नामक एक फीड बनाने की आवश्यकता होगी। यदि आपको Adafruit IO पर फ़ीड बनाने में सहायता की आवश्यकता है, तो Adafruit IO फ़ीड मूल बातें मार्गदर्शिका देखें (जैसा कि फ़ोटो 1 और 2 पर है)।

गेज ब्लॉक और लाइन चार्ट ब्लॉकनेक्स्ट को जोड़कर, एक नया डैशबोर्ड बनाएं और इसे नाम दें जैसा आप इसे नाम देना चाहते हैं (नया डैशबोर्ड बनाने के लिए फोटो 3, 4 और 5 में दिखाया गया है)। सुनिश्चित करें कि आपने एनालॉग फ़ीड को डेटा स्रोत के रूप में चुना है।

जब आप डैशबोर्ड में हों तो एक नया गेज ब्लॉक गर्त जोड़ें ऊपरी दाएं कोने में नीले प्लस पर क्लिक करें। आप जो चाहें उस ब्लॉक को नाम दें (फोटो 6 और 7 में दिखाया गया है), और इसे 1024 का अधिकतम मान और 0 का न्यूनतम मान (मांसपेशी सेंसर के मान) दें।

लाइन चार्ट ब्लॉक (फोटो 8) के साथ इसे गेज ब्लॉक के साथ दोहराएं।

चेक यदि आपने ऊपर सब कुछ किया है, तो आपके पास अंतिम फोटो की तरह एक समान स्क्रीन होनी चाहिए।

चरण 3: Arduino इनपुट

Arduino इनपुट
Arduino इनपुट
Arduino इनपुट
Arduino इनपुट
अरुडिनो इनपुट
अरुडिनो इनपुट
अरुडिनो इनपुट
अरुडिनो इनपुट

चरण 1 में आपने मायोवेयर मसल सेंसर की वायरिंग का सेटअप सही ढंग से किया है। इस चरण में हम Arduino कोड में गोता लगाएंगे जो चरण 2 Adafruit IO डैशबोर्ड से जुड़ने के साथ आता है। इस चरण के अंत में, आप अपने द्वारा स्थापित किए गए दो ब्लॉकों में मायोवेयर मसल सेंसर के इनपुट मान देखेंगे।

Arduino सेटअप

सुनिश्चित करें कि आपके पास सभी पुस्तकालय स्थापित हैं जो ऊपर परिचय में उल्लिखित हैं।

हम एक उदाहरण स्केच के साथ काम करने जा रहे हैं। तो फ़ाइल खोलें> उदाहरण> Adafruit IO Arduino> adafruitio_08_analog_in (फोटो 1)। यह स्केच क्यों? क्योंकि हम पहले इस मैनुअल के इनपुट भाग को सेट कर रहे हैं। मायोवेयर मसल सेंसर एनालॉग आउटपुट का उपयोग करता है। यदि आप एनालॉग के विषय में और अधिक जानकारी प्राप्त करना चाहते हैं।

Arduino Network Config नेटवर्क सेटिंग्स को कॉन्फ़िगर करने के लिए, स्केच में config.h टैब पर क्लिक करें। आपको IO_USERNAME परिभाषित में अपना Adafruit IO उपयोगकर्ता नाम और IO_KEY परिभाषित में अपनी Adafruit IO कुंजी सेट करने की आवश्यकता होगी। आप अपने Arduino IO में स्क्रीन के ऊपरी दाएं भाग में अपना उपयोगकर्ता नाम और कुंजी पा सकते हैं (उदाहरण फोटो 2 पर)

# परिभाषित करें IO_USERNAME "your_username"

# परिभाषित करें IO_KEY "your_key"

वाईफाई कॉन्फिग वाईफाई डिफ़ॉल्ट रूप से config.h में सक्षम है, इसलिए यदि आप समर्थित वाईफाई बोर्ड में से एक का उपयोग कर रहे हैं, तो आपको केवल कॉन्फिग.एच टैब में WIFI_SSID और WIFI_PASS विकल्पों को संशोधित करने की आवश्यकता होगी।

#WIFI_SSID "your_ssid" को परिभाषित करें#WIFI_PASS को "your_pass" परिभाषित करें

Arduino Codeयदि आपने उपरोक्त सेटिंग्स में बदलाव किया है, तो हम वास्तविक कोड, adafruit_08_analog_in पर आगे जा सकते हैं। इस उदाहरण में डिफ़ॉल्ट पिन एओ पर स्टेटेट है। यह सही पिन है क्योंकि आपने चरण 2 में अपने मांसपेशी सेंसर को बोर्ड पर रखा है।

यह उदाहरण एक फोटोकेल सेंसर का उपयोग करता है, क्योंकि हम एक मांसपेशी सेंसर का उपयोग करते हैं, हम इस नाम को बदल देंगे। इससे कोई फर्क नहीं पड़ता कि आप ऐसा करते हैं, यह केवल इसे शब्दार्थ की दृष्टि से आसान बना देगा। PHOTOCELL_PIN को MUSCLESENSOR_PIN में बदलें इसे स्केच के दो स्थानों पर करें।

/********** उदाहरण यहां से शुरू होता है ********* *********/

// एनालॉग पिन 0 # PHOTOCELL_PIN A0 परिभाषित करें

अंतिम कोडलाइन में देरी होती है। यह देरी 1 सेकंड है, हम 2 सेकंड के लिए 2000 सेट करने जा रहे हैं। हम ऐसा इसलिए करते हैं क्योंकि Adafruit IO पर डेटा सीमा के साथ एक लाइसेंस है, दो सेकंड के भीतर यह स्केच उस डेटा सीमा से अधिक है और यह एक थ्रॉटल चेतावनी देगा. इसका मतलब है कि इसमें कोई मान नहीं आ रहा है। इसे दो सेकंड पर सेट करने से यह रोकता है।

// एक सेकंड प्रतीक्षा करें (1000 मिलीसेकंड == 1 सेकंड) देरी (2000);

इसे काम करने के लिए आपको स्केच में यही बदलना था। यदि आप जानना चाहते हैं कि पूरा कोड कैसे काम करता है। आप इसे प्रत्येक कोड ब्लॉक की व्याख्या के साथ, एडफ्रूट सीखें पर पा सकते हैं।

स्केच को अपने बोर्ड पर अपलोड करें, और Arduino Serial Monitor खोलें। आपका बोर्ड अब Adafruit IO से जुड़ना चाहिए।

अब आप अपनी बांह कस सकते हैं, और आपको Adafruit IO को भेजे जा रहे बदलते मूल्यों को देखना चाहिए (जैसा कि फोटो 3 में है)। यदि आपको सीरियल मॉनिटर में कोई मान नहीं दिखाई देता है, तो जांचें कि आपने सीरियल मॉनिटर में बॉड दर को 115200 पर सेट किया है या नहीं।

एडफ्रूट आईओ डैशबोर्ड एडफ्रूट आईओ पर अपने डैशबोर्ड की जांच करें, और आपको गेज और लाइन चार्ट मायोवेयर मसल सेंसर के मूल्यों के परिवर्तनों का जवाब देना चाहिए।

चरण 4: एडफ्रूट आईओ ट्रिगर सेटअप

एडफ्रूट आईओ ट्रिगर सेटअप
एडफ्रूट आईओ ट्रिगर सेटअप
एडफ्रूट आईओ ट्रिगर सेटअप
एडफ्रूट आईओ ट्रिगर सेटअप

अब तक हम MyoWare स्नायु सेंसर से Adafruit IO के काम करने के लिए इनपुट करने में सक्षम हैं। अब हम इस जानकारी को पढ़ना शुरू करने जा रहे हैं। ताकि 5 गुना के बाद स्नायु सेंसर के X से ऊपर के मान का पता चले, Neopixel के नेतृत्व वाली पट्टी द्वारा एक क्रिया की जाती है।

यह खंड मेरे लिए था जहां मुझे जांच करनी थी कि मैं Adafruit IO इतिहास कैसे पढ़ सकता हूं। मैंने पहले फ़ीड और डैशबोर्ड के साथ काम किया था, इसलिए मैंने सोचा कि जो फ़ीड और डैशबोर्ड बनाया गया था वह इसे पढ़ सकता है और यहां Arduino में एक क्रिया बना सकता है। अब तक मैं सफल नहीं हुआ हूं। बहुत सारे शोध और Adafruit IO के बाद, मैंने पाया कि Adafruit IO में ट्रिगर फ़ंक्शन के साथ एक क्रिया को ट्रिगर किया जा सकता है। ट्रिगर्स के बारे में और जानें।

एक अतिरिक्त फ़ीड इससे पहले कि हम एक ट्रिगर बना सकें, हमें एक अन्य फ़ीड बनानी होगी ताकि हम ते आउटपुट प्राप्त करने के लिए इसे Arduino में नाम दे सकें। AlertTriggered नाम से एक फ़ीड बनाएं।

एक ट्रिगर बनाएं हेडर के आगे फ़ीड और डैशबोर्ड ट्रिगर है, यहां जाएं। एक नया ट्रिगर बनाएं। आपसे पूछा जाएगा कि क्या आप रिएक्टिव ट्रिगर या शेड्यूल ट्रिगर बनाना चाहते हैं, रिएक्टिव ट्रिगर चुनें और क्रिएट पर क्लिक करें। ऐसा इसलिए है क्योंकि जब कुछ होता है तो आप केवल कुछ ट्रिगर करना चाहते हैं (फोटो 1)।

कई चीजें सेट की जानी चाहिए (अगले चरण फोटो 2 में भी दिखाए गए हैं)। - पहले अगर में एनालॉग फीड का चयन करें, तो यहां से इनपुट लिया जाएगा।

-क्या आप इससे अधिक का चयन करते हैं, इसका कारण यह है कि जब मान ऐसी संख्या से अधिक हो जाता है तो आप कुछ ट्रिगर करना चाहते हैं।

-कंपरिज़न वैल्यू आप ट्रिगर को सक्रिय करने के लिए अपना वांछित नंबर दर्ज कर सकते हैं। मैंने इस मामले में 600 किया।

-आर्डिनो के साथ आपको 600 से अधिक होने पर एक प्रतिक्रिया प्राप्त करनी होगी: तो फिर एक संदेश प्रकाशित करें का चयन करें:।

- जिसके बाद आप अपना दूसरा फीड क्रिएट किया अलर्ट ट्रिगर सेलेक्ट कर सकते हैं।

आखिर में क्रिएट पर क्लिक करें।

चरण 5: नियोपिक्सल आउटपुट

नियोपिक्सल आउटपुट
नियोपिक्सल आउटपुट

अंतिम चरण आउटपुट उत्पन्न करना है। आपके द्वारा संपादित किए गए Arduino स्केच में, AlertTriggered फ़ीड को कॉल करके (जिसे आपने पिछले चरण में बनाया था)।

आउटपुट उत्पन्न करने में सक्षम होने के लिए आपको पहले Neopixel के नेतृत्व वाली पट्टी को NodeMCU से जोड़ना होगा।- + 5v (बाएं) तार आपके NodeMCU के 3v पर- GND (दाएं) तार नोड के G पर (G = GND))- D5 (या कोई अन्य D पोर्ट) पर LED का सेंटर वायर DIN

कोडआई ने इस चरण में एक फ़ाइल के रूप में विकल्पों के साथ पूरे स्केच को शामिल किया है (इस चरण के नीचे पाया जा सकता है)। यह वही स्केच है जिसके साथ आपने पिछले कुछ चरणों में काम किया है, लेकिन अब अंतिम स्केच को उन चरणों के साथ शामिल किया गया है जो आपको आउटपुट उत्पन्न करने के लिए करने होंगे। adafruitio_musclesensor_neopixel फ़ाइल। यह config.h के साथ काम करता है जिसे आपने पहले अपने डेटा के साथ सेट किया है। अल कोड ब्लॉक टिप्पणियों के साथ शामिल हैं ताकि आप देख सकें कि क्या हो रहा है।

क्या आउटपुट डेटा कोड किया गया है इस कोड में मैंने एक ट्रिगर बनाया है, जब अलर्ट ट्रिगर (जिसे हमने पिछले चरण में 600 से अधिक मूल्य पर घोषित किया था) 5 बार से अधिक ट्रिगर किया गया है। इसका मतलब है कि जब इसे ट्रिगर किया जाता है, तो Neopixel की अगुवाई वाली पट्टी सफेद से लाल रंग में सेट हो जाती है। यह एक मिनट के लिए होगा और लाल राज्य से फीका पड़ने वाला है और फिर से सफेद अवस्था में लूप किया जाता है।

सीरियल मॉनिटर एक प्रोग्रामर के रूप में आपके लिए इसे स्पष्ट करने के लिए, कोड का अंतिम सेट सीरियल मॉनिटर के लिए है। मान क्या हैं और जब आपने अलर्ट स्तर को ट्रिगर किया है। अलर्ट स्थिति चालू होने पर सेकंड जोड़ने के साथ, 60 सेकंड के बाद तक यह फिर से अलर्ट स्थिति में स्विच हो जाता है। इसलिए यह हिस्सा वैकल्पिक है।

// सीरियल मॉनिटर में गुजरने वाले सेकंड दिखाने के लिए जब अलर्टस्टेट सीरियल पर होता है। प्रिंट्लन ("सेकंड पास:"); Serial.println (सेकंडपास); } और {सेकंडपास = 0; }

यदि आपने चरण पूरे कर लिए हैं या अपने स्वयं के config.h के साथ स्केच adafruitio_musclesensor_neopixel फ़ाइल प्राप्त कर ली है, तो आप इसे अपने NodeMCU में अपलोड कर सकते हैं। यदि यह हो गया है तो आपको अपने सीरियल मॉनिटर में नीचे जैसा कुछ देखना होगा:

Adafruit IO से कनेक्ट हो रहा है…

एडफ्रूट आईओ जुड़ा हुआ है। भेजा जा रहा है -> 23 भेजा जा रहा है -> 78

फोटो 1 सीरियल मॉनिटर है जब यह अलर्टमोड में होता है।

यह काम नहीं करता? निम्नलिखित चीजों की जांच करें- जांचें कि क्या config.h सही तरीके से शामिल है- क्या आपने सही Adafruit IO उपयोगकर्ता नाम और कुंजी डाली है- क्या आपने सही SSID में एक वाईफ़ाई पासवर्ड डाला है- क्या आपने MyoWare की वायरिंग रखी है स्नायु सेंसर दाईं ओर और Neopixel लेड स्ट्रिप से

या पिछले चरणों की जाँच करें।

चरण 6: परिणाम

हुर्रे आपका काम हो गया! अंतिम उत्पाद को क्रिया में प्रदर्शित करने और देखने के लिए मैंने एक वीडियो शामिल किया है।

सिफारिश की: