विषयसूची:

Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट: 6 कदम
Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट: 6 कदम

वीडियो: Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट: 6 कदम

वीडियो: Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट: 6 कदम
वीडियो: Arduino Programming Series - Tutorial 01 | Program Structure [in Hindi] 2024, जुलाई
Anonim
Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट।
Arduino, पुनर्नवीनीकरण भागों और Dlib के साथ कैंडी-फेंकने वाला रोबोट।

कुछ पुनर्नवीनीकरण भागों, एक Arduino + मोटर शील्ड, और Dlib कंप्यूटर सॉफ़्टवेयर के साथ, आप एक कार्यशील फेस-डिटेक्टिंग कैंडी थ्रोअर बना सकते हैं।

सामग्री:

  • लकड़ी का फ्रेम
  • लैपटॉप/कंप्यूटर (रास्पबेरी पाई से बेहतर एक अधिक शक्तिशाली!)
  • Arduino (अधिमानतः Uno, या एक जो आपके मोटर शील्ड में फिट बैठता है।)
  • Arduino मोटर शील्ड (मैंने पुराने Adafruit शील्ड का इस्तेमाल किया, जैसा कि अभी भी यहाँ बेचा जाता है)
  • कोई भी मानक वेब कैमरा
  • छोटा वॉशर

पुनर्नवीनीकरण भागों:

  • आवरण (पुराना धातु बॉक्स अच्छी तरह से काम करता है।)
  • स्टेपर मोटर, डिसैम्बल्ड पुराने प्रिंटर से डीसी मोटर।
  • पुराना प्रिंटर बिजली की आपूर्ति
  • कैंडी डिस्पेंसर (बड़ा दही कंटेनर)।

तैयार उत्पाद के अंदरूनी हिस्से कुछ हद तक संलग्न अवलोकन की तरह दिखेंगे।

चेतावनी

सुनिश्चित करें कि आप वायरिंग/रीवायरिंग से पहले Arduino/मोटर सेटअप को पावर अनप्लग करें। बिजली को सही ध्रुवता में प्लग करना सुनिश्चित करें!

यह Arduino और सॉफ़्टवेयर का उपयोग करके एक मध्यवर्ती स्तर की परियोजना है जिसे आपको अपने कंप्यूटर पर स्थापित या संकलित करने की आवश्यकता है। निर्देश भिन्न हो सकते हैं और उबंटू पर काम करते हुए परीक्षण किए गए थे।

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

चरण 1: ड्रिल, कनेक्ट और माउंट मोटर

ड्रिल, कनेक्ट और माउंट मोटर
ड्रिल, कनेक्ट और माउंट मोटर
ड्रिल, कनेक्ट और माउंट मोटर
ड्रिल, कनेक्ट और माउंट मोटर

मामले में ड्रिल छेद, स्टेपर मोटर संलग्न करना ताकि वेबकैम शीर्ष पर घूम सके, और डिस्पेंसर नीचे घूम सके।

स्टेपर मोटर्स डीसी मोटर्स (2 तार) के विपरीत छोटे वेतन वृद्धि (4 तारों) में आगे बढ़ सकते हैं, जो पीछे/आगे चलते हैं, चरणों में नहीं।

डीसी मोटर में 2 तार होते हैं (किसी भी तरह से चलता है), वैकल्पिक स्टेपर मोटर में दो कॉइल में 4 होंगे (यह देखने के लिए मल्टीमीटर प्रतिरोध मीटर के साथ परीक्षण करें कि कॉइल कहाँ तारित हैं, जैसा कि यहां वर्णित है।)

यदि आप मेरे उदाहरण के अनुसार पुराने एडफ्रूट शील्ड का उपयोग कर रहे हैं, तो आपको डीसी कैंडी स्पिनर मोटर को मोटर #3 से और स्टेपर को पहले दो मोटर्स (#1, #2) से कनेक्ट करना चाहिए जैसा कि उनके दस्तावेज़ीकरण में वर्णित है।

एक बार कनेक्ट होने के बाद, मोटर्स को एक Arduino से जुड़े Arduino Motor Shield से तार दें। सर्वोत्तम परिणामों के लिए मोटर्स को दूसरी बिजली की आपूर्ति करने की सिफारिश की जाती है, जिसे आप सेकेंड हैंड स्टोर से $ 2 वॉल वार्ट पर डीसी आउटपुट तक तार कर सकते हैं।

चरण 2: कंटेनर संलग्न करना

कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना
कंटेनर संलग्न करना

एक दही कंटेनर या अन्य बड़े प्लास्टिक कंटेनर के केंद्र को मापें, और मोटर के अंत से थोड़ा बड़ा होल्ड ड्रिल करें।

एक छोटे वॉशर का उपयोग करके कंटेनर को बॉक्स में संलग्न करें - क्रेज़ी-ग्लू इसे कंटेनर के नीचे, और इलेक्ट्रिक मोटर स्पिंडल तक।

पूरी तरह से ठीक होने के लिए गोंद को एक या दो दिन के लिए सूखने दें - आप बॉक्स और कताई कंटेनर के बीच एक छोटा स्पेसर रखना चाह सकते हैं ताकि यह सुनिश्चित हो सके कि यह टेढ़ा नहीं है।

चरण 3: कैंडी थ्रोअर के लिए एक छोटा सा छेद बनाएं

कैंडी थ्रोअर के लिए एक छोटा सा छेद बनाएं
कैंडी थ्रोअर के लिए एक छोटा सा छेद बनाएं

एक बार जब स्पिनर ठीक से जुड़ा हो, तो एक तेज चाकू के अंत का उपयोग करके कैंडी को अंत से बाहर फेंकने के लिए एक छोटे से छेद की रूपरेखा तैयार करें - यह नीचे से ऊपर होना चाहिए, जहां होंठ है।

(सर्वोत्तम परिणामों के लिए, कैंडी के लगभग 30 टुकड़े डिस्पेंसर के ढक्कन के अंत में लोड किए जा सकते हैं, जो नीचे होगा।)

एक छोटे से छेद को छोड़कर, एक तेज चाकू से धीरे-धीरे आउटलाइन करते रहें, जब तक कि यह बाहर न निकल जाए (आप बाद में आवश्यकतानुसार छेद का विस्तार कर सकते हैं)।

चरण 4: Arduino सेटअप

यदि आपने पहले से Arduino सॉफ़्टवेयर स्थापित नहीं किया है, तो इसे यहाँ से प्राप्त करें

www.arduino.cc/en/Main/Software

किसी भी हालिया संस्करण को काम करना चाहिए।

अपने Arduino Shield के उदाहरण कोड में दिए गए उदाहरणों के साथ DC/Stepper मोटर का परीक्षण करें।

यदि आप इस ढाल का उपयोग कर रहे हैं (अभी भी कुछ पुनर्विक्रेताओं से उपलब्ध है) तो आप सीधे मेरे कोड का उपयोग कर सकते हैं:

github.com/programmin1/HowToTrainYourRobot…

एक बार जब आप परीक्षण कर लेते हैं और Arduino सीरियल विंडो में "d" दर्ज करके कैंडी निकाल सकते हैं, तो इसे Dlib के पहचानकर्ता से जोड़ने का समय आ गया है।

चरण 5: डीलिब सेटअप

Dlib (https://dlib.net/) छवि पहचान के लिए एक ओपन-सोर्स, उपयोग में आसान लाइब्रेरी प्रदान करता है। पायथन डीलिब मॉड्यूल का उपयोग करके स्थापित करें:

सुडो पाइप स्थापित करें Dlib

- या -

sudo easy_install Dlib

Dlib को स्थापित करने और संकलित करने के लिए प्रतीक्षा करें। (आपको अधिमानतः दो गीगा रैम वाले कंप्यूटर की आवश्यकता होगी, या आपको लंबे समय तक प्रतीक्षा करने और स्वैप स्थान का विस्तार करने की आवश्यकता होगी)। कोड वेबकैम मॉड्यूल के लिए OpenCV का भी उपयोग करता है, इसलिए चलाएँ:

sudo apt-पायथन-ओपनसीवी स्थापित करें;

यदि आप MacOS या अन्य ऑपरेटिंग सिस्टम का उपयोग करते हैं तो स्थापना चरण भिन्न हो सकते हैं।

अब से चेहरा पहचान लैंडमार्क डेटा प्राप्त करें

dlib.net/files/shape_predictor_68_face_land…

इसे अनज़िप करें (आर्काइव मैनेजर / 7zip के साथ) और इसे होम/डाउनलोड/shape_predictor_68_face_landmarks.dat में रखें।

चरण 6: फेस-रिकॉग्निज़र को अपने रोबोट से जोड़ना

फेस-रिकॉग्निज़र को अपने रोबोट से जोड़ना
फेस-रिकॉग्निज़र को अपने रोबोट से जोड़ना

Arduino- नियंत्रित करने वाले USB को कंप्यूटर में प्लग करें और सत्यापित करें कि "/ dev/ttyACM0" फ़ाइल मौजूद है (यह सीरियल कमांड भेजने के लिए उपकरण है)। यदि यह काम नहीं करता है और एक अलग समान नामित निर्देशिका जो /dev में दिखाई देती है जब आप इसे प्लग करते हैं, तो /dev/ttyACM0 को रेपो में faceDetectThreadCorrelationCV2FaceSmile.py फ़ाइल में बदलें।

वेबकैम में प्लग इन करें (यदि आपके द्वारा उपयोग किए जा रहे कंप्यूटर में कोई अंतर्निहित वेबकैम नहीं है), और उस.py फ़ाइल को कमांड लाइन में या Geany टेक्स्ट एडिटर में रन/F5 कमांड के साथ चलाएं। यदि आप लैपटॉप पर दूसरे/बाहरी वेबकैम का उपयोग करना चाहते हैं, तो आप दूसरे वेबकैम का उपयोग करने के लिए "वीडियो कैप्चर (0)" को "वीडियो कैप्चर (1)" में बदलना चाह सकते हैं, जिसे आप रोबोट के बॉक्स के ऊपर स्टेपर मोटर पर रख सकते हैं।.

यदि सब कुछ ठीक रहा तो वेबकैम के सामने चेहरा होने पर आपको एक मुस्कान की रूपरेखा दिखाई देगी।

चेहरे की लैंडमार्क कार्यक्षमता से Dlib द्वारा दिए गए बिंदुओं से मुस्कान की पहचान कैसे काम करती है, इसका गणित देखने के लिए.py फ़ाइल का अवलोकन और स्रोत कोड पढ़ें।:)

सिफारिश की: