- अवधारणा:
- सामग्री की आवश्यकता:
- स्कैमैटिक्स और हार्डवेयर:
- Arduino के लिए कार्यक्रम:
- प्रसंस्करण के लिए कार्यक्रम:
- काम कर रहे:
यह एक बहुत ही दिलचस्प परियोजना है जिसमें हम Arduino और प्रसंस्करण का उपयोग करके आभासी वास्तविकता को लागू करने का तरीका जानने जा रहे हैं। हम में से ज्यादातर लोगों के लिए, जॉन फेवरू की फिल्म आयरन मैन हमेशा नई चीजों का निर्माण करने के लिए एक प्रेरणा रही है जो हमारे जीवन को आसान और मजेदार बना देगी। मैंने व्यक्तिगत रूप से उन टेक की प्रशंसा की है जो फिल्म में दिखाए गए हैं और हमेशा से कुछ इसी तरह का निर्माण करना चाहते हैं। इसलिए, इस परियोजना में मैंने मूवी में होने वाले वर्चुअल रियलिटी सामान की नक़ल करने की कोशिश की है, जैसे हम बस कंप्यूटर के सामने अपना हाथ ला सकते हैं और पॉइंटर को वांछित स्थान पर ले जा सकते हैं और कुछ कार्य कर सकते हैं।
यहां मैं आपको दिखाऊंगा कि कैसे आप वेबकेम के सामने अपना हाथ हिला सकते हैं और अपने कंप्यूटर पर कुछ खींच सकते हैं । मैं आपको यह भी दिखाऊंगा कि कैसे आप वस्तुतः अपना हाथ हिलाकर और हवा में अपनी उंगलियों से क्लिक करके रोशनी को टॉगल कर सकते हैं।
अवधारणा:
ऐसा करने के लिए हमें संयुक्त Arduino और प्रसंस्करण की शक्ति का लाभ उठाना होगा । अधिकांश Arduino से परिचित होंगे, लेकिन प्रसंस्करण आपके लिए नया हो सकता है। प्रसंस्करण Arduino की तरह ही एक एप्लिकेशन है और यह ओपन सोर्स और डाउनलोड करने के लिए स्वतंत्र है। प्रसंस्करण का उपयोग करके आप सरल सिस्टम एप्लिकेशन, एंड्रॉइड एप्लिकेशन और बहुत कुछ बना सकते हैं। इसमें इमेज प्रोसेसिंग और वॉयस रिकॉग्निशन करने की भी क्षमता है। यह Arduino की तरह ही है और इसे सीखना बहुत आसान है, लेकिन चिंता न करें अगर आप पूरी तरह से प्रसंस्करण के लिए नए हैं, क्योंकि मैंने इस ट्यूटोरियल को काफी सरल लिखा है, ताकि कोई भी रुचि रखने वाला व्यक्ति इस काम को कुछ ही समय में कर सके।
इस ट्यूटोरियल में हम प्रोसेसिंग का उपयोग एक सरल सिस्टम एप्लिकेशन बनाने के लिए कर रहे हैं जो हमें एक यूआई प्रदान करता है और इमेज प्रोसेसिंग का उपयोग करके हमारे हाथ की स्थिति को ट्रैक करता है। अब, हमें अपनी उंगलियों का उपयोग करके बाएँ क्लिक और दाएँ क्लिक करना होगा। ऐसा करने के लिए मैंने दो हॉल सेंसर (एक मेरी तर्जनी पर और दूसरा मध्यमा अंगुली पर) का उपयोग किया है, जिसे Arduino Nano द्वारा पढ़ा जाएगा। Arduino ब्लूटूथ के माध्यम से कंप्यूटर को वायरलेस रूप से क्लिक की स्थिति भी प्रसारित करता है।
यह जटिल लग सकता है लेकिन, मुझ पर भरोसा करो; यह उतना कठिन नहीं है जितना लगता है। तो आइए हम इस परियोजना के लिए आवश्यक सामग्रियों पर एक नज़र डालते हैं जो चल रही हैं।
सामग्री की आवश्यकता:
- अरुडिनो नैनो
- हॉल सेंसर (A3144) - 2Nos
- चुम्बक का एक छोटा टुकड़ा
- ब्लूटूथ मॉड्यूल (HC-05 / HC-06)
- 9 वी बैटरी
- कनेक्टिंग तार डॉट बोर्ड।
- दस्ताने का एक जोड़ा
- Arduino IDE (सॉफ्टवेयर)
- प्रोसेसिंग आईडीई (सॉफ्टवेयर)
- वेबकैम और ब्लूटूथ के साथ एक कंप्यूटर (आप अपने कंप्यूटर के लिए बाहरी ब्लूटूथ या वेब कैमरा का उपयोग कर सकते हैं)
स्कैमैटिक्स और हार्डवेयर:
इस परियोजना का हार्डवेयर भाग बहुत ही सरल और निर्माण में आसान है। पूरा योजनाबद्ध नीचे दिखाया गया है।
Arduino, प्रतिरोधों और बर्ग स्टिक पिंस को नीचे दिखाए गए बिंदु के रूप में एक डॉट बोर्ड पर टांका लगाया जाता है।
हॉल सेंसर और ब्लूटूथ मॉड्यूल को नीचे दिखाए गए अनुसार कनेक्टर तार से मिलाया जाता है।
एक बार जब ये दो खंड तैयार हो जाते हैं तो इसे दस्ताने पर इकट्ठा किया जा सकता है ताकि इसका उपयोग करना आसान हो। मैंने डिस्पोजेबल प्लास्टिक के दस्ताने का उपयोग किया है जो आपके पास किसी भी मेडिकल शॉप से खरीदे जा सकते हैं। आपको यह सुनिश्चित करना चाहिए कि चुंबक आपकी अंगूठे की उंगली पर आता है और हॉल सेंसर 1 और हॉल सेंसर 2 क्रमशः आपके सूचकांक और मध्य उंगली से पहले मौजूद होना चाहिए। मैं जगह में घटकों को सुरक्षित करने के लिए बतख टेप का उपयोग किया है। एक बार घटक इकट्ठे हो जाने पर इसे कुछ इस तरह देखना चाहिए।
अब हम Arduino IDE खोलते हैं और प्रोग्रामिंग शुरू करते हैं।
Arduino के लिए कार्यक्रम:
इस Arduino कोड का उद्देश्य हॉल सेंसर की स्थिति को पढ़ना और ब्लूटूथ मॉड्यूल का उपयोग करके उन्हें प्रसारित करना है। इसे ब्लूटूथ से डेटा प्राप्त करना चाहिए और आने वाले मूल्य के आधार पर ऑनबोर्ड एलईडी को टॉगल करना चाहिए। पूरा कार्यक्रम इस ट्यूटोरियल के अंत में दिया गया है; मैंने नीचे कुछ पंक्तियाँ भी बताई हैं।
if (Phs1! = HallState_1 - Phs2! = HallState_2) // चेक करें कि क्या नई कुंजियों को दबाया जाता है {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); if (HallState_1 == High && HallState_2 == कम) Aisha.write (2); if (HallState_1 == कम && HallState_2 == उच्च) Aisha.write (3); if (HallState_1 == High && HallState_2 == High) Aisha.write (4); }
जैसा कि हॉल सेंसर की स्थिति के आधार पर उपरोक्त लाइनों में दिखाया गया है, ब्लूटूथ एक विशेष मूल्य लिखेगा। उदाहरण के लिए यदि हॉल सेंसर 1 अधिक है और हॉल सेंसर 2 कम है, तो हम ब्लूटूथ मॉड्यूल के माध्यम से "2" प्रसारण करेंगे। सुनिश्चित करें कि आप बीटी मॉड्यूल को मान लिखते हैं और उन्हें प्रिंट नहीं करते हैं। क्योंकि प्रसंस्करण पक्ष पर केवल पढ़ने के लिए आसान होगा यदि वे लिखे गए हैं। साथ ही मान केवल तभी भेजेगा जब वह पिछले मूल्य के समान न हो।
अगर (BluetoothData == 'y') digitalWrite (एलईडीपीएन, हाई); अगर (BluetoothData == 'n') डिजिटलवर्इट (ledpin, LOW);
बीटी मॉड्यूल द्वारा प्राप्त मूल्य के आधार पर इन लाइनों का उपयोग ऑनबोर्ड एलईडी को चालू करने के लिए किया जाता है जो पिन 13 से जुड़ा होता है। उदाहरण के लिए यदि मॉड्यूल को 'y' प्राप्त होता है तो एलईडी चालू होता है और यदि इसे 'n' प्राप्त होता है तो इसे बंद कर दिया जाता है।
प्रसंस्करण के लिए कार्यक्रम:
प्रोसेसिंग प्रोग्राम का उद्देश्य एक सिस्टम एप्लिकेशन बनाना है जो UI (उपयोगकर्ता इंटरफ़ेस) के रूप में कार्य कर सकता है और किसी विशेष ऑब्जेक्ट को ट्रैक करने के लिए इमेज प्रोसेसिंग भी कर सकता है। इस मामले में हम उस नीली वस्तु को ट्रैक करते हैं जिसे हम ऊपर अपने दस्ताने से चिपकाते हैं। कार्यक्रम में मूल रूप से चार स्क्रीन हैं।
- अंशांकन स्क्रीन
- मुख्य स्क्रीन
- पेंट स्क्रीन
- एलईडी टॉगल स्क्रीन
हम केवल अपने हाथों को लहराते हुए और स्क्रीन को हवा में खींचकर एक स्क्रीन से दूसरी स्क्रीन पर नेविगेट कर सकते हैं। हम एलईडी को टॉगल करने या स्क्रीन पर कुछ आकर्षित करने के लिए वांछित स्थानों पर भी क्लिक कर सकते हैं।
आप संपूर्ण प्रसंस्करण कार्यक्रम (अंत में दिए गए) को कॉपी कर सकते हैं और इसे अपनी रचनात्मकता के आधार पर संशोधित कर सकते हैं या यहां से EXE फ़ाइलों को सरल डाउनलोड कर सकते हैं, और एप्लिकेशन लॉन्च करने के लिए निम्न चरणों का पालन कर सकते हैं।
- अपने कंप्यूटर में JAVA स्थापित करें यदि आपने इसे पहले स्थापित नहीं किया है
- अपने कंप्यूटर पर You Cam सही स्थापित करें
- अपने Arduino को पावर करें और अपने कंप्यूटर को ब्लूटूथ मॉड्यूल के साथ पेयर करें
- एप्लिकेशन फ़ाइल लॉन्च करें
यदि सबकुछ ठीक हो जाता है तो आपको अपने ब्लूटूथ मॉड्यूल पर एलईडी को स्थिर और अपने वेब कैमरा की रोशनी पर ध्यान देना चाहिए। अगर आपको कोई समस्या है तो कमेंट सेक्शन के माध्यम से मुझे बताएं और मैं आपकी मदद करूंगा।
अपने एप्लिकेशन को कैलिब्रेट करने और इसका उपयोग करने का तरीका जानने के लिए वीडियो को अंत में देखें।
यदि आप कोड को संशोधित करना चाहते हैं और इसमें और अधिक सुविधाएँ निर्मित करना चाहते हैं तो आप प्रोग्राम की निम्नलिखित जानकारी का उपयोग कर सकते हैं
प्रोसेसिंग आईडीई को यहां से डाउनलोड किया जा सकता है। यदि आप प्रसंस्करण के बारे में अधिक जानना चाहते हैं और अधिक दिलचस्प परियोजनाएँ बनाना चाहते हैं तो आप यहाँ ट्यूटोरियल देख सकते हैं।
प्रसंस्करण में सीरियल डेटा को पढ़ने की क्षमता है, इस कार्यक्रम में सीरियल डेटा ब्लूटूथ COM पोर्ट से आता है। आपको इस लाइन का उपयोग करके अपने ब्लूटूथ को कनेक्ट करने के लिए कौन सा COM पोर्ट चुनना है
port = new Serial (यह, Serial.list (), 9600);
यहां मैंने अपने 1 सेंट COM पोर्ट को चुना है जो मेरे मामले में COM5 है (नीचे दी गई छवि देखें) और मैंने उल्लेख किया है कि ब्लूटूथ मॉड्यूल 9600 बॉड्रेट पर चलता है।
जैसा कि पहले कहा गया था कि प्रसंस्करण में छवि प्रसंस्करण करने की क्षमता भी है, इस ट्यूटोरियल में छवियों को एक वेबकेम का उपयोग करके स्केच के अंदर भेजा जाता है। प्रत्येक छवि में हम एक विशेष वस्तु के लिए ट्रैक करते हैं। इसके बारे में अधिक जानने के लिए आप इस ट्यूटोरियल पर जा सकते हैं।
मैंने टिप्पणी लाइनों के माध्यम से कार्यक्रम (अंत में दिए गए) को समझाने की पूरी कोशिश की है। आप यहां फाइलें डाउनलोड कर सकते हैं।
यदि आप स्केच के बारे में अधिक जानना चाहते हैं तो आप टिप्पणी अनुभाग के माध्यम से मुझ तक पहुँच सकते हैं और मैं आपकी सहायता करूँगा।
काम कर रहे:
हार्डवेयर और सॉफ्टवेयर तैयार होने के बाद, दस्ताने पहनें और कुछ कार्रवाई के लिए तैयार हो जाएं। अब, बस Arduino को पावर करें और फिर एप्लिकेशन लॉन्च करें। ब्लूटूथ मॉड्यूल पर एलईडी स्थिर होना चाहिए। अब इसका मतलब है कि आपके सिस्टम एप्लिकेशन ने आपके Arduino के साथ एक ब्लूटूथ लिंक स्थापित किया है।
आपको निम्न स्क्रीन मिलेगी जहां आपको ट्रैक की जाने वाली वस्तु का चयन करना होगा। यह अनुरेखण बस वस्तु पर क्लिक करके किया जा सकता है। इस मामले में ऑब्जेक्ट ब्लू डिस्क है। अब आप अपनी वस्तु को स्थानांतरित कर सकते हैं और ध्यान दे सकते हैं कि सूचक आपकी वस्तु का अनुसरण करता है। सर्वोत्तम परिणामों के लिए एक अद्वितीय रंग वस्तु और एक उज्ज्वल कमरे का उपयोग करें।
अब अपनी अंगूठे की उंगली को तर्जनी से स्पर्श करें और आपको संदेश "की 1 प्रेस" दिखाई दे और जब आप अपने अंगूठे को मध्यमा उंगली से दबाएं तो आपको "की 2 दबाया" देखना चाहिए यह दर्शाता है कि सब कुछ ठीक है और अंशांकन खत्म हो गया है। अब Done बटन पर क्लिक करें।
एक बार जब डोन बटन दबाया जाता है, तो आपको मुख्य स्क्रीन पर निर्देशित किया जाएगा जहां आप हवा में पेंट कर सकते हैं या Arduino Board पर एलईडी को टॉगल कर सकते हैं जैसा कि नीचे दिए गए वीडियो में दिखाया गया है।