विषयसूची:

वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD): 4 चरण
वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD): 4 चरण

वीडियो: वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD): 4 चरण

वीडियो: वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD): 4 चरण
वीडियो: Supporting Rhythm Activities of Deaf Children using Music-Sensory-Substitution Systems 2024, जुलाई
Anonim
वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD)
वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD)
वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD)
वाइब्रोटैक्टाइल सेंसरी सबस्टीट्यूशन एंड ऑग्मेंटेशन डिवाइस (SSAD)

इस परियोजना का उद्देश्य संवेदी प्रतिस्थापन और वृद्धि के क्षेत्र में अनुसंधान की सुविधा प्रदान करना है। मुझे अपने एमएससी शोध प्रबंध के भीतर वाइब्रोटैक्टाइल एसएसएडी प्रोटोटाइप बनाने के विभिन्न तरीकों का पता लगाने की संभावना थी। चूंकि संवेदी प्रतिस्थापन और वृद्धि एक ऐसा विषय है जो न केवल कंप्यूटर वैज्ञानिकों, बल्कि संज्ञानात्मक विज्ञान जैसे अन्य क्षेत्रों के शोधकर्ताओं से भी संबंधित है, एक चरण-दर-चरण निर्देश को इलेक्ट्रॉनिक्स और कंप्यूटर विज्ञान में गैर-विशेषज्ञों को इस प्रोटोटाइप को अपने लिए इकट्ठा करने में सक्षम बनाना चाहिए। अनुसंधान प्रयोजनों।

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

वर्तमान इंस्ट्रक्शनल में चरण-दर-चरण निर्देश हैं कि कैसे 4 मोटर्स और एनालॉग सेंसर के साथ एक बुनियादी SSAD प्रोटोटाइप बनाया जाए।

इस निर्देश के अतिरिक्त मैंने तीन एक्सटेंशन बनाए हैं: सबसे पहले, मैंने इस SSAD प्रोटोटाइप (https://www.instructables.com/id/Using-More-Than-4…) के साथ चार से अधिक मोटर्स का उपयोग करने के निर्देश प्रकाशित किए। दूसरे, मैंने इस प्रोटोटाइप को पहनने योग्य बनाने के लिए प्रदान और उदाहरण बनाया (https://www.instructables.com/id/Making-the-SSAD-W…) /www.instructables.com/id/Covering-Rotating…). इसके अलावा, प्रोटोटाइप में एनालॉग सेंसर (इस मामले में एक निकटता सेंसर) के अलावा अन्य को कैसे एकीकृत किया जाए, इसका एक उदाहरण भी प्रकाशित किया गया है (https://www.instructables.com/id/Including-a-Proxi…)।

"संवेदी प्रतिस्थापन और वृद्धि" क्या है?

संवेदी प्रतिस्थापन के साथ एक संवेदी तौर-तरीके (जैसे दृष्टि) द्वारा एकत्र की गई जानकारी को दूसरे अर्थ (जैसे ध्वनि) के माध्यम से माना जा सकता है। यह एक आशाजनक गैर-आक्रामक तकनीक है जो लोगों को संवेदी हानि या हानि से उबरने में मदद करती है।

यदि संवेदी उत्तेजना, जिसका अनुवाद किया गया है, सामान्य रूप से मानव (जैसे यूवी प्रकाश) द्वारा बोधगम्य नहीं है, तो इस दृष्टिकोण को संवेदी वृद्धि कहा जाता है।

इस प्रोटोटाइप को बनाने के लिए किन कौशलों की आवश्यकता है?

मूल रूप से, नीचे दिए गए निर्देशों का पालन करने के लिए किसी उन्नत प्रोग्रामिंग कौशल की आवश्यकता नहीं है। हालांकि, यदि आप सोल्डरिंग में शुरुआत कर रहे हैं, तो इस तकनीक को जानने के लिए कुछ अतिरिक्त समय की योजना बनाएं। यदि आपने पहले कभी प्रोग्राम नहीं किया है, तो प्रोग्रामिंग में अधिक अनुभवी किसी व्यक्ति से कुछ सहायता की आवश्यकता हो सकती है।

क्या ऐसी कोई मशीन या उपकरण आवश्यक हैं जो महँगे हों या आसानी से उपलब्ध न हों?

टांका लगाने वाले लोहे को छोड़कर, इस प्रोटोटाइप को बनाने के लिए किसी मशीन या उपकरण की आवश्यकता नहीं होती है जिसे आप आसानी से ऑनलाइन या अगले घरेलू स्टोर में नहीं खरीद सकते। यह SSAD रैपिड-प्रोटोटाइपिंग की अनुमति देने के लिए डिज़ाइन किया गया है, जिसका अर्थ है कि इसे जल्दी से प्रतिलिपि प्रस्तुत करने योग्य होना चाहिए और विचारों की एक सस्ती खोज की अनुमति देनी चाहिए।

आपूर्ति

मुख्य घटक (4 मोटर्स के लिए लगभग 65 पाउंड, सोल्डरिंग उपकरण को छोड़कर)

  • Arduino Uno (जैसे https://store.arduino.cc/arduino-uno-rev3, 20£)
  • Adafruit Motorshield v2.3 (उदा. https://www.adafruit.com/product/1438, 20£) और पुरुष स्टैकिंग हेडर (आमतौर पर मोटरशील्ड खरीदते समय शामिल)
  • बेलनाकार ERM मोटर्स (जैसे https://www.adafruit.com/product/1438, 5, 50£ / motor)
  • सोल्डरिंग आयरन और सोल्डरिंग वायर
  • तारों

वैकल्पिक (एक्सटेंशन देखें)

यदि खुला घूर्णन द्रव्यमान वाली ERM मोटर खरीदी जाती है:

  • विनाइल ट्यूब
  • पतला मुलायम बोर्ड
  • 3D प्रिंटर (Arduino केसिंग के लिए)

यदि आप 4 से अधिक मोटरों का उपयोग करना चाहते हैं (8 से अधिक एक ही समय के लिए):

  • एडफ्रूट मोटरशील्ड v2.3 और पुरुष स्टैकिंग हेडर
  • महिला स्टैकिंग हेडर (उदा.
  • 6 से अधिक मोटरों के लिए Arduino मेगा (जैसे

चरण 1: सोल्डरिंग

टांकने की क्रिया
टांकने की क्रिया

पिन को मोटरशील्ड से मिलाएं

एडफ्रूट एक मोटरशील्ड (https://learn.adafruit.com/adafruit-motor-shield-v…) में हेडर को मिलाप करने का एक बहुत व्यापक ट्यूटोरियल प्रदान करता है:

  1. सबसे पहले, स्टैकिंग हेडर को Arduino Uno पर पिन में डालें,
  2. फिर, ढाल को ऊपर रखें, ताकि पिनों का छोटा भाग बाहर निकल जाए।
  3. उसके बाद, सभी पिनों को शील्ड में मिला दें और सुनिश्चित करें कि सोल्डर पिन के चारों ओर बहता है और ज्वालामुखी-आकार बनाता है (ऊपर चित्र देखें, जिसे https://cdn.sparkfun.com/assets/c/d/ से अपनाया गया है। a/a/9/523b1189…).

यदि आप सोल्डरिंग में शुरुआत कर रहे हैं, तो https://learn.sparkfun.com/tutorials/how-to-solder… जैसे अधिक ट्यूटोरियल के साथ स्वयं की सहायता करें।

मोटर को मिलाप लंबे तार

चूंकि अधिकांश मोटर बिना या बहुत छोटे और पतले तारों के आते हैं, इसलिए उन्हें लंबे और अधिक मजबूत तारों में टांका लगाकर उनका विस्तार करना समझ में आता है। यहां बताया गया है कि आप ऐसा कैसे कर सकते हैं:

  1. तारों के अंत के चारों ओर प्लास्टिक निकालें और उन्हें स्थिति दें ताकि वे अपने उजागर तारों के साथ एक-दूसरे के संपर्क में रहें, जैसे कि चित्र में है।
  2. दोनों तारों के धागों को छूकर और उनके ऊपर सोल्डर को प्रवाहित करके उन्हें एक साथ मिलाएं।

चरण 2: वायरिंग

तारों
तारों
  1. Arduino के ऊपर मोटरशील्ड स्टैक करें।
  2. मोटरशील्ड में पेंच मोटर्स।
  3. Arduino के लिए वायर एनालॉग सेंसर (छवि में यह प्रकाश सेंसर के साथ किया जाता है, लेकिन समान सर्किट अन्य एनालॉग सेंसर के लिए समान दिखता है)।

चरण 3: कोडिंग

कोडन
कोडन
कोडन
कोडन
कोडन
कोडन
कोडन
कोडन

1. डाउनलोड करें

नीचे संलग्न ज़िप फ़ोल्डर (SSAD_analogueInputs.zip) डाउनलोड करें। इसे अनज़िप करें।

Arduino IDE (https://www.arduino.cc/en/main/software) डाउनलोड करें।

Arduino फ़ाइल (SSAD_analogueInputs.ino) खोलें जो Arduino IDE के साथ अनज़िप किए गए फ़ोल्डर के अंदर है।

2. पुस्तकालय स्थापित करें

प्रदान किए गए कोड को चलाने के लिए, आपको कुछ पुस्तकालयों को स्थापित करने की आवश्यकता है। इसलिए, यदि Arduino फ़ाइल, जो इस आलेख के अंत में संलग्न है, Arduino IDE के अंदर खुली है, तो निम्न कार्य करें:

  1. क्लिक करें: उपकरण → पुस्तकालय प्रबंधित करें…
  2. अपने खोज क्षेत्र को फ़िल्टर करें में "एडफ्रूट मोटर शील्ड V2 लाइब्रेरी" देखें
  3. इंस्टाल बटन पर क्लिक करके इसे इंस्टाल करें

उन पुस्तकालयों को डाउनलोड करने के बाद, अब दिए गए कोड में #include स्टेटमेंट काम करना चाहिए। जांचें कि "सत्यापित करें" बटन पर क्लिक करके (बाएं शीर्ष में टिक करें)। आप जानते हैं कि सभी पुस्तकालय काम करते हैं, यदि आपको कार्यक्रम के निचले भाग में "संकलन किया गया" संदेश मिलता है। अन्यथा एक लाल पट्टी दिखाई देती है और आपको एक संदेश मिलेगा कि क्या गलत हुआ।

3. कोड बदलें

नीचे दिए गए निर्देशों का पालन करके अपने उपयोग के मामले के अनुसार कोड बदलें:

मोटर्स और उनके संवेदी आउटपुट शुरू करना

सबसे पहले, घोषित करें कि मोटर्स किस पिन का उपयोग करती हैं, साथ ही साथ मोटर्स किस रेंज में काम करती हैं। उदाहरण के लिए, एक मोटर जो M4 से जुड़ी होती है और 25 और 175 की (गति) रेंज में काम करती है, उसे इस तरह घोषित किया जाता है (मुख्य टिप्पणी के नीचे):

मोटर मोटर1 = मोटर (4, 25, 175);

छोटे कंपन मोटर्स के साथ काम करते समय, जो 3V तक की सीमा में संचालित होते हैं, मोटरशील्ड का उपयोग सावधानी के साथ किया जाना चाहिए क्योंकि यह 4.5VDC से 13.5VDC पर मोटर चलाने के लिए बनाया गया है। 3V मोटर्स को नुकसान नहीं पहुंचाने के लिए, मैंने प्रोग्राम के रूप में शील्ड के वोल्ट आउटपुट को अधिकतम 3V (बिल्कुल 2.95V) तक सीमित कर दिया। मैंने वोल्ट में 255 की अधिकतम गति को मापकर और एक मल्टीमीटर से मापा कि यह 4.3V है। इसलिए, मैंने कभी भी 175 से अधिक गति की अनुमति नहीं दी, जो कि लगभग 3V है, मोटर्स को।

प्रत्येक मोटर को एक SensoryOutput से जोड़ा जाएगा।

एक संवेदी आउटपुट एक या कई संवेदी उत्तेजनाओं से बना होता है। उदाहरण के लिए, एक मोटर या तो एक एकल सेंसर के अनुसार कंपन कर सकता है, या कई अलग-अलग स्थिति वाले सेंसर के औसत के अनुसार।

इसलिए, प्रत्येक मोटर के लिए सबसे पहले, एक सेंसरी आउटपुट घोषित किया जाना है। कोष्ठक के अंदर की संख्या सेंसर (समूह) क्या अनुभव कर सकती है, इसका न्यूनतम और अधिकतम मूल्य है। एनालॉग सेंसर के लिए यह ज्यादातर 0 और 1023 है:

SensoryOutput output1 = sensoryOutput(0, 1023);

लूप () फ़ंक्शन में प्रत्येक मोटर को तब एक आउटपुट मान को सौंपा जाता है। यहां आप प्रत्येक मोटर के लिए निम्नलिखित कथन लिखते हैं और "output1" के बजाय, जो भी SensoryOutput मान इससे जुड़ा होना चाहिए। यदि आप इसके लिए किसी अन्य नाम का उपयोग करते हैं, तो इस पंक्ति में सभी "output1" नामों को भी बदलना न भूलें।

motor1.drive(output1.getValue(), output1.getMin(), output1.getMax());

यदि आप चाहें, तो आप एक से अधिक मोटर (जैसे motor1 और motor2) एक ही SensoryOutput (जैसे output1) दे सकते हैं।

इसके अलावा, आप एक मोटर को कई सेंसर के मान दे सकते हैं (अगला भाग देखें)।

सेंसर को परिभाषित करना

सेटअप () फ़ंक्शन में यह घोषित किया जाना है कि कौन से सेंसर किस मोटर कंपन (सेंसरीऑटपुट) का हिस्सा बनने जा रहे हैं। यहां एक उदाहरण दिया गया है कि आप कैसे परिभाषित करते हैं कि Arduino Pin A0 से जुड़ा सेंसर मोटर 1 के साथ कंपन में अनुवादित किया जाना चाहिए और परिणामस्वरूप आउटपुट 1 होना चाहिए:

output1.include (A0);

यदि कई संवेदी आउटपुट को एक मोटर कंपन के भीतर जोड़ा जाना चाहिए, तो आप आउटपुट 1 में एक और एनालॉग इनपुट पिन जोड़ सकते हैं:

आउटपुट 1. शामिल (ए 1);

अन्यथा, बस अगले आउटपुट के साथ जारी रखें:

आउटपुट 2. शामिल (ए 1);

एकाधिक सेंसर का संयोजन

जैसा कि ऊपर उल्लेख किया गया है, कई सेंसर इनपुट (जैसे A0, A1 और A2 से) को एक मोटर में ले जाया जा सकता है। मैं जो कोड प्रदान करता हूं, वह उन मानों के औसत की गणना कर रहा है जो सभी शामिल सेंसर द्वारा पढ़े जाते हैं। इसलिए, यदि यह आपके उपयोग के मामले के लिए पर्याप्त है और आप सीधे मैप करना चाहते हैं, उदाहरण के लिए, कम कंपन के लिए कम संवेदी इनपुट, तो आप कर चुके हैं और आपको निम्नलिखित के बारे में सोचने की ज़रूरत नहीं है:

यदि आपके पास अन्य विचार हैं कि आप एक या एक से अधिक कच्चे संवेदी आदानों के साथ क्या करना चाहते हैं, तो आप SensoryOutput वर्ग में फ़ंक्शन int getValue () में परिवर्तन के अनुसार कर सकते हैं:

इंट गेटवैल्यू () {

अंतिम आउटपुट = 0; // TODO जो कुछ भी आप संवेदी मूल्यों के साथ चाहते हैं // यहां औसत बनाया गया है, यदि कई मानों के लिए संयुक्त किया गया है (int i = 0; i <curArrayLength; i++) { finalOutput += analogRead (valueArray ); } अंतिम आउटपुट / curArrayLength लौटाएं; }

4. कोड को अपने Arduino प्रोटोटाइप पर अपलोड करें

अपने पीसी में Arduino प्रोटोटाइप (चरण 2 से) में प्लग करें।

टूल्स → पोर्ट → पोर्ट का चयन करें पर क्लिक करें, जहां ब्रैकेट में Arduino/Genuino Uno लिखा है

टूल्स → बोर्ड → Arduino/Genuino Uno. पर क्लिक करें

अब, मोटर्स को एनालॉग सेंसर के इनपुट के अनुसार चलना चाहिए। यदि आप चाहें, तो आप अपने पीसी से Arduino को डिस्कनेक्ट कर सकते हैं और इसे 9V बैटरी की तरह किसी अन्य पावर स्रोत में प्लग कर सकते हैं।

चरण 4: संभावित एक्सटेंशन

संभावित एक्सटेंशन
संभावित एक्सटेंशन
संभावित एक्सटेंशन
संभावित एक्सटेंशन
संभावित एक्सटेंशन
संभावित एक्सटेंशन

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

  • ईआरएम मोटर्स के घूर्णन द्रव्यमान को कवर करना:
  • SSAD को पहनने योग्य बनाना:
  • 4 से अधिक मोटर्स का उपयोग करना - कई मोटरशील्ड को स्टैक करना:
  • SSAD इनपुट के रूप में अल्ट्रासोनिक प्रॉक्सिमिटी सेंसर का उपयोग करना:

सिफारिश की: