विषयसूची:

एक्सबॉक्स कंट्रोलर द्वारा फेशियल ट्रैकिंग और कंट्रोल के साथ रोबोट भीख माँगना - Arduino: 9 कदम (चित्रों के साथ)
एक्सबॉक्स कंट्रोलर द्वारा फेशियल ट्रैकिंग और कंट्रोल के साथ रोबोट भीख माँगना - Arduino: 9 कदम (चित्रों के साथ)

वीडियो: एक्सबॉक्स कंट्रोलर द्वारा फेशियल ट्रैकिंग और कंट्रोल के साथ रोबोट भीख माँगना - Arduino: 9 कदम (चित्रों के साथ)

वीडियो: एक्सबॉक्स कंट्रोलर द्वारा फेशियल ट्रैकिंग और कंट्रोल के साथ रोबोट भीख माँगना - Arduino: 9 कदम (चित्रों के साथ)
वीडियो: $1 IRONMAN to $1,000,000,000 in GTA 5 2024, जुलाई
Anonim
Image
Image
ओपनसीवी और सी ++ को स्थापित और कॉन्फ़िगर करना
ओपनसीवी और सी ++ को स्थापित और कॉन्फ़िगर करना

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

चरण 1: सामग्री

हार्डवेयर इलेक्ट्रॉनिक

  • अरुडिनो नैनो या यूएनओ
  • यूएसबी 2.0 कैमरा
  • जम्पर केबल (पुरुष और महिला)
  • 2 x सर्वो - सामान्य (उप-सूक्ष्म आकार)
  • 2 एक्स एलईडी - आरजीबी कैथोड 5 मिमी
  • 2 x 5mW लेज़र
  • 1 एक्स लाल एलईडी 5 मिमी
  • 1 एक्स ब्रेडबोर्ड
  • 4 x 220Ω रोकनेवाला
  • 1 एक्स 1 केΩ प्रतिरोधी
  • 1 एक्स प्रोटोबार्ड
  • 1 एक्स सोनार सेंसर 4 पिन
  • एक्सबॉक्स नियंत्रक

हार्डवेयर एनालॉग

  • लकड़ी का बक्सा (15 x 15 x 7 सेमी)
  • गोंद
  • विद्युत टेप

सॉफ्टवेयर

  • अरुडिनो आईडीई
  • विजुअल स्टूडियो 2017
  • 3डी मैक्स (या कोई अन्य 3डी मोडेलिंग सॉफ्टवेयर)
  • प्रीफॉर्म 2.14.0 या बाद में
  • ओपनसीवी 3.4.0 या बाद में

उपकरण

  • मिलाप उपकरण
  • देखा और ड्रिल
  • तार काटने वाला

चरण 2: OpenCV और C++ को स्थापित और कॉन्फ़िगर करना

ओपनसीवी और सी ++ को स्थापित और कॉन्फ़िगर करना
ओपनसीवी और सी ++ को स्थापित और कॉन्फ़िगर करना

चरण २.१: सॉफ्टवेयर प्राप्त करना

विजुअल स्टूडियो 2017: विजुअल स्टूडियो कम्युनिटी 2017 ओपनसीवी 3.4.0 विन पैक डाउनलोड करें: आधिकारिक डाउनलोड पेज पर जाएं

चरण २.२: OpenCV२.२.१ स्थापित करना: अपने Windows(:C) ड्राइव पर zipfile निकालें। २.२.२: अपनी उन्नत सिस्टम सेटिंग्स पर जाएँ। यह आपके win10 खोज फ़ंक्शन में पाया जा सकता है। 2.2.3: हमें नए पर्यावरण चर सेट करने की आवश्यकता है। "पथ" पर्यावरण का पता लगाएं और संपादन दबाएं। 2.2.4: अब हमें पथ पर्यावरण में एक नए चर के लिए "बिन मानचित्र" का स्थान जोड़ना होगा। यदि आपने सी ड्राइव पर ओपनसीवी स्थापित किया है, तो पथ इस तरह जा सकता है: सी: / ओपनसीवी / बिल्ड / x64 / वीसी 14 / बिन पथ पेस्ट करें और इस प्रक्रिया के दौरान आपके द्वारा खोले गए सभी विंडो पर "ओके" दबाएं।

चरण 2.3: विजुअल स्टूडियो सी++ 2.3.1 को कॉन्फ़िगर करना: एक नया विजुअल सी++ प्रोजेक्ट बनाएं। इसे एक खाली win32 कंसोल एप्लिकेशन प्रोजेक्ट बनाएं। 2.3.2: सोर्स फाइल टैब में, राइट क्लिक करें और एक नई C++ फाइल (.cpp) जोड़ें और इसे "main.cpp" नाम दें। 2.3.3: प्रोजेक्ट पर राइट क्लिक करें- समाधान एक्सप्लोरर में नाम और गुण चुनें। 2.3.4: हमें एक अतिरिक्त निर्देशिका शामिल करने की आवश्यकता है। यह सामान्य रूप से C/C++ टैब के अंतर्गत पाया जा सकता है। निम्न पथ को कॉपी करें: C:\opencv\build\include और इसे "AID" के पीछे पेस्ट करें और Apply पर क्लिक करें। 2.3.5: उसी विंडो में हमें करने की आवश्यकता है "लिंकर" टैब चुनें। सामान्य तौर पर हमें एक अन्य अतिरिक्त लिबरी निर्देशिका बनाने की आवश्यकता होती है। निम्नलिखित पथ को "AID" C:\opencv\build\x64\vc14\lib के पीछे चिपकाएँ और फिर से लागू करें दबाएँ। 2.3.6: उसी लिंकर टैब के अंतर्गत "इनपुट" टैब चुनें। और "अतिरिक्त निर्भरता> संपादित करें" दबाएं और निम्न फ़ाइल opencv_world320d.lib और xinput.lib (नियंत्रक के लिए) पेस्ट करें और फिर से लागू करें दबाएं। विंडो बंद करें। अब आपकी C++ फाइल काम करने के लिए तैयार है।

चरण 3: Arduino सेट करना

Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना
Arduino की स्थापना

सर्वो से मिलना: सर्वो ~ 160 ° घूमने में सक्षम हैं, उन्हें सामान्य रूप से संचालित करने के लिए 4, 8 और 6, 0 वोल्ट के बीच होना चाहिए। सर्वो में 3 पिन होते हैं: ग्राउंड, 4, 8 - 6, 0 वोल्ट पिन और एक डेटा पिन। हमारी परियोजना के लिए हम DigitalPin 9 और 10 पर सर्वो के लिए डेटा पिन सेट करने जा रहे हैं।

आरजीबी एलईडी से मिलना: आरजीबी एलईडी में 4 पिन होते हैं। लाल, हरा, नीला और ग्राउंड पिन। Arduino पर कुछ जगह बचाने के लिए, हम 2 RGB एलईडी को एक साथ जोड़ सकते हैं। इसलिए हम केवल 3 पिन का उपयोग करेंगे। हम आरजीबी एलईडी को एक प्रोटोबार्ड पर कनेक्ट और सोल्डर कर सकते हैं जैसे कि छवि में। रेड पिन => डिजिटलपिन 3 (पीडब्लूएम) ग्रीन पिन => डिजिटलपिन 4ब्लू पिन => डिजिटलपिन 7

पीजो बजर से मिलना: हमारा छोटा रोबोट कुछ शोर करने वाला है। ऐसा करने के लिए हमें उसे आवाज देने की जरूरत है! हम उसे वास्तव में जोर से बनाना चुन सकते हैं। या हम उसे थोड़ा कम अप्रिय बनाने के लिए पीजो बजर से पहले 220Ω रोकनेवाला डाल सकते हैं। हम पीजो बजर को ब्रेडबोर्ड पर छोड़ रहे हैं। इसलिए सोल्डरिंग की कोई आवश्यकता नहीं है। हम डेटा पिन (+) को DigitalPin 2 से और ग्राउंड पिन को ब्रेडबोर्ड पर जमीन से जोड़ते हैं।

सोनार से मिलना: रोबोट को 10 मीटर दूर व्यक्ति को निशाना बनाने की कोशिश करने से रोकने के लिए। हम रोबोट को एक ऐसी दूरी दे सकते हैं, जहां से वह लोगों को निशाना बना सके। हम इसे सोनार सेंसर के साथ करते हैं। वीसीसी => 5 वोल्टट्रिग => डिजिटलपिन 6इको => डिजिटलपिन 5जीएनडी => जमीन

कॉइन डिटेक्टर से मिलना: हम एक कॉइन डिटेक्टर बनाने जा रहे हैं। सर्किट बंद है या टूटा हुआ है या नहीं, इसका पता लगाकर सिक्का डिटेक्टर काम करेगा। यह लगभग एक स्विच की तरह काम करेगा। लेकिन हमें सावधान रहने की जरूरत है। अगर हम यह गलत करते हैं, तो यह हमारे लिए एक arduino खर्च करेगा। पहला: AnalogPin A0 को 5 वोल्ट केबल से कनेक्ट करें। लेकिन इसके बीच 1KΩ रेसिस्टर लगाना सुनिश्चित करें।दूसरा: एक तार को जमीन से कनेक्ट करें। हम आरजीबी एलईडी के समान प्रोटोबार्ड में तारों और रोकनेवाला को तुरंत मिलाप कर सकते हैं। अब अगर हम 2 तारों को स्पर्श करते हैं तो आर्डिनो एक बंद सर्किट का पता लगाएगा। इसका मतलब है कि एक सिक्का है!कयामत के लेज़रों से मिलना।रोबोट को आग लगाने के लिए अपने हथियारों की ज़रूरत है! कुछ जगह बचाने के लिए, मैंने 2 लेज़रों को एक साथ मिलाया। वे कैमरे के फ्रेम में पूरी तरह फिट होंगे। उन्हें DigitalPin 11 और ग्राउंड से कनेक्ट करें।छोटे आदमी को दूर भगाओ!

वैकल्पिक नौटंकी। हम सिक्के के नीचे एक लाल एलईडी लगा सकते हैं। अंधेरा होने पर यह एक मजेदार छोटी नौटंकी होगी। एक तार को DigitalPin 8 से कनेक्ट करें और इसे बहने से रोकने के लिए LED और तार के बीच 220Ω रेसिस्टर लगाएं। एलईडी के शॉर्ट पिन को जमीन से कनेक्ट करें।

चरण 4: सी ++ कोड

चरण ४.१: main.cpp कोड ४.१.१ सेट करना: "main.cpp" डाउनलोड करें और कोड को अपने खुद के main.cpp.४.१.२ में कॉपी करें: लाइन १४ पर "com" को कॉम में बदलें, जिसका उपयोग arduino करता है। "\.\COM(इसे बदलें)" 4.1.3: लाइन 21 और 22 पर "haarcascade_frontalface_alt.xml" और "haarcascade_eye_tree_eyeglasses.xml" फाइलों के लिए सही पथ सेट करें यदि C ड्राइव पर openCV स्थापित है, ये फ़ाइलें यहां स्थित हो सकती हैं: "C:\opencv\build\etc\haarcascades\" डबल बैकस्लैश रखें या एक जोड़ें जहां केवल एक है।

चरण ४.२: जोड़ें tserial.h और Tserial.cppये 2 फाइलें arduino और PC के बीच संचार का ध्यान रखेंगी। निर्देशिका। सॉल्यूशन एक्सप्लोरर में प्रोजेक्ट पर राइट-क्लिक करें और ऐड> मौजूदा आइटम चुनें। पॉपअप विंडो में जोड़ी जाने वाली दो फाइलों का चयन करें।

चरण ४.२: जोड़ें CXBOXController.h और CXBOXController.hये फ़ाइलें प्रोजेक्ट के नियंत्रक भाग पर ले जाएँगी। 4.2.1: समाधान एक्सप्लोरर में प्रोजेक्ट पर राइट-क्लिक करें और ऐड> मौजूदा आइटम का चयन करें। पॉपअप विंडो में जोड़ी जाने वाली दो फाइलों का चयन करें। C++ फाइलें सेटअप हैं।

चरण 5: Arduino कोड

चरण 5.1: न्यूपिंग लाइब्रेरी5.1.1: ArduinoCode.ino डाउनलोड करें और इसे arduino IDE.5.1.2 में खोलें: "स्केच> लिबरी शामिल करें> लिबरी प्रबंधित करें" पर जाएं। 5.1.3: फ़िल्टर बॉक्स में "न्यूपिंग" खोजें। और इस पुस्तकालय को स्थापित करें।

चरण ५.२: पिच पुस्तकालय ५.२.१: पिच्स.txt डाउनलोड करें और पिचों की सामग्री की प्रतिलिपि बनाएँ। नए टैब में पिचें.txt और इसे "pitches.h" के रूप में सहेजें। Arduino कोड सेट किया गया है।

चरण 6: 3डी प्रिंटिंग और प्रिंट को परिष्कृत करना

3डी प्रिंटिंग और प्रिंट को परिष्कृत करना
3डी प्रिंटिंग और प्रिंट को परिष्कृत करना
3डी प्रिंटिंग और प्रिंट को परिष्कृत करना
3डी प्रिंटिंग और प्रिंट को परिष्कृत करना

चरण ६.१: ३डी फ़ाइल प्रिंट करेंप्रिंटफ़ाइल.फ़ॉर्म खोलें और जांचें कि क्या सब कुछ ठीक है। अगर सब कुछ ठीक लगता है, तो प्रिंटर को प्रिंटजॉब भेजें। अगर कुछ लगता है या आप मॉडल बदलना चाहते हैं। मैंने आपके लिए संपादित करने के लिए 3Ds Max फ़ाइलें और OBJ फ़ाइलें शामिल की हैं।

चरण ६.२: मॉडल को परिष्कृत करें ६.२.१: छपाई पूरी होने के बाद किसी भी प्रिंट को हटाने के लिए 2 मॉडलों को कुछ ७०% अल्कोहल में भिगो दें। मॉडल को सख्त करें। या आप मॉडल को सख्त करने के लिए यूवी-लैंप का उपयोग कर सकते हैं। ऐसा करने की आवश्यकता है क्योंकि मॉडल चिपचिपा होगा।

6.2.3: समर्थन ढांचे को हटा दें। यह एक तार कटर के साथ किया जा सकता है। या कोई अन्य उपकरण जो प्लास्टिक को काट सकता है। 6.2.4: 3D प्रिंट के कुछ हिस्से अभी भी नरम हो सकते हैं। भले ही मॉडल बहुत अधिक यूवी-लाइट में रहा हो। जो हिस्से नरम हो सकते हैं, वे वे हिस्से हैं जहां समर्थन फ्रेम के करीब हैं। मॉडल को सख्त करने के लिए यूवी-प्रकाश के अधिक धूप में रखें। 6.2.5: "ड्रेमेल" के साथ आप ढांचे द्वारा बनाए गए सभी छोटे धक्कों को दूर कर सकते हैं। आप सर्वो को फ्रेम में फिट करने का प्रयास कर सकते हैं। यदि वे फिट नहीं होंगे तो आप डरमेल का उपयोग रेत सामग्री को दूर करने के लिए कर सकते हैं। इसे फिट बनाओ।

चरण 7: बॉक्स का निर्माण

बॉक्स का निर्माण
बॉक्स का निर्माण
बॉक्स का निर्माण
बॉक्स का निर्माण

चरण ७.१: छेद बनानामैंने प्रश्न में बॉक्स का एक खाका शामिल किया है। खाका बड़े पैमाने पर नहीं है, लेकिन सभी आकार सही हैं। 7.1.1: सभी छेदों को सही स्थानों पर चिह्नित करके प्रारंभ करें। 7.1.2: सभी छेदों को ड्रिल करें। Dremel के साथ बड़े छेदों को आकार में बनाया जा सकता है। 7.1.3: चौकोर छेद भी ड्रिल किए जा सकते हैं। लेकिन उन्हें चौकोर बनाने के लिए आप एक छोटी फ़ाइल के साथ ड्रेमेल को फिट कर सकते हैं और तेज कोनों को फाइल कर सकते हैं। 7.1.4: सभी घटकों को फिट करने का प्रयास करें। अगर वे फिट हैं, तो आप जाने के लिए अच्छे हैं! 7.1.5: लकड़ी के टुकड़ों से सावधान रहें। इनसे छुटकारा पाने के लिए सैंड पेपर का इस्तेमाल करें।

चरण 7.2: पेंटिंग 7.2.1: ढक्कन को रेतने से शुरू करें। हमें चिपकाने के लिए पेंट चाहिए। 7.2.2: बॉक्स को साफ करने के लिए एक कपड़ा लें और उस पर थोड़ा सा तारपीन डालें। 7.2.3: अब आप बॉक्स को अपनी इच्छानुसार पेंट कर सकते हैं।

चरण 8: समाप्त करना।

पूरी तरह खत्म करना।
पूरी तरह खत्म करना।
पूरी तरह खत्म करना।
पूरी तरह खत्म करना।
पूरी तरह खत्म करना।
पूरी तरह खत्म करना।

अब हमें सब कुछ ठीक करना है और इसे काम करने देना है। चरण 8.1: सिक्का डिटेक्टर8.1.1: सिक्का डिटेक्टर के लिए कुछ धातु ब्रेसिज़ को गोंद करें।8.1.2: कनेक्टर से प्रत्येक तार को ब्रेस में मिलाएं।8.1.3: एक सिक्के के साथ संबंध का परीक्षण करें। यदि कोई बंद सर्किट नहीं है, तो तारों को किनारे पर अधिक मिलाप करें। चरण 8.2: प्रोटोबार्ड और आरजीबी एलईडी8.2.1: प्रोटोबार्ड को ऊपरी दाएं कोने में रखें और इसे नीचे टेप करें! 8.2.2: आरजीबी एलईडी को तारों से कनेक्ट करें प्रोटोबार्ड से!8.2.3: प्रोटोबार्ड से सभी तारों को आर्डिनो से कनेक्ट करें। चरण 8.3: सोनार सेंसर8.3.1: सेंसर को हमारे द्वारा बनाए गए छेद में रखें। यदि आपके पास पुरुष से महिला जंपवायर हैं तो आप छोड़ सकते हैं ८.३.२८.३.२: कुछ नर और मादा तारों को आधा में काटें और एक ही केबल बनाने के लिए मादा और नर तारों को एक साथ मिलाएं। हम सेंसर को आर्डिनो से कनेक्ट करने के लिए उपयोग कर सकते हैं। ८.३.३: सेंसर को आर्डिनो से कनेक्ट करें

चरण 8.4: लेजर और कैमरा8.4.1: छोटे फ्रेम को कैमरे से चिपकाएं। सुनिश्चित करें कि यह सीधा है। ८.४.२: लेज़रों को फ्रेम में भी लगाएं। उन्हें नीचे चिपका दें ताकि दुश्मन उन्हें चोरी न करें!

चरण ८.५: सर्वो और ३डी प्रिंट८.५.१: ढक्कन के छेद में सर्वो को गोंद करें८.५.२: आर्डिनो फ़ाइल को आर्डिनो में अपलोड करें (इससे सर्वो सही स्थिति में खड़ा हो जाता है) ८.५.३: सर्वो के साथ एक आया छोटा गोल पठार। इसे ढक्कन में सर्वो पर रखें।८.५.४: सर्वो और पठार पर बड़ा ३डी प्रिंट लगाएं और उन्हें एक स्क्रू के साथ कसकर पेंच करें।८.५.५: दूसरे सर्वो को छोटे ३डी प्रिंट पर रखें और उन्हें एक साथ गोंद दें। 8.5.6: कैमरा लगाओ और सब कुछ जाने के लिए तैयार है!

चरण 9: कार्यक्रम शुरू करें

रोबोट शुरू करने के लिए विजुअल स्टूडियो में सी++ फाइल खोलें। सुनिश्चित करें कि आप "डीबग मोड" में हैं arduino फ़ाइल को arduino पर अपलोड करें। एक बार इसे अपलोड करने के बाद विजुअल स्टूडियो में प्रेस प्ले करें। और रोबोट आग लगा देगा और दुनिया के सभी सिक्के एकत्र कर लेगा !!!

सिफारिश की: