- सामग्री की आवश्यकता:
- 3 डी प्रिंटिंग आवश्यक भागों (वैकल्पिक):
- योजनाबद्ध और हार्डवेयर:
- अपना Android एप्लिकेशन सेट करना:
- अपने Arduino प्रोग्रामिंग:
- काम कर रहे:
कभी Arduino का उपयोग करके फेस ट्रैकिंग रोबोटिक आर्म या रोबोट बनाना चाहते थे और OpenCV, विजुअल बेसिक्स # आदि जैसी कोई अन्य प्रोग्रामिंग नहीं? फिर साथ पढ़ें, इस परियोजना में हम Arduino और Android की शक्ति में सम्मिश्रण करके चेहरे का पता लगाने जा रहे हैं। इस परियोजना में, मोबाइल कैमरा आपके चेहरे के साथ-साथ सर्वो की मदद से आगे बढ़ेगा। यहां Android मोबाइल फोन का उपयोग करने का लाभ यह है कि आपको कैमरा मॉड्यूल पर निवेश करने की आवश्यकता नहीं है और पूरी छवि का पता लगाने का काम फोन में ही किया जा सकता है, आपको इस काम के लिए अपने Arduino को अपने कंप्यूटर से कनेक्ट करने की आवश्यकता नहीं है। यहाँ हमने Arduino के साथ ब्लूटूथ मॉड्यूल का उपयोग मोबाइल के साथ वायरलेस तरीके से संचार करने के लिए किया है।
इस प्रोजेक्ट में उपयोग किया गया एंड्रॉइड एप्लिकेशन प्रसंस्करण एंड्रॉइड का उपयोग करके बनाया गया था, आप सीधे एपीके फ़ाइल डाउनलोड करके एप्लिकेशन इंस्टॉल कर सकते हैं (लिंक के लिए आगे पढ़ें) या अपने प्रोग्रामिंग कैप पर डाल दें और दिए गए प्रोसेसिंग कोड का उपयोग करके अपने खुद के अधिक आकर्षक एंड्रॉइड एप्लिकेशन को बनाएं ट्यूटोरियल में आगे। हमारे पिछले प्रसंस्करण परियोजनाओं की जाँच करके प्रसंस्करण के बारे में अधिक जानें।
इस ट्यूटोरियल के अंत में आपके पास एक मिनी टिल्ट और स्पैन रोबोट आर्म होगा जो आपके चेहरे को ट्रैक कर सकता है और इसके साथ आगे बढ़ सकता है। आप अपने व्लॉग वीडियो को रिकॉर्ड करने के लिए (आगे की प्रगति के साथ) इसका उपयोग कर सकते हैं या अपने मोबाइल फोन के रियर कैमरे के साथ एक सेल्फी भी ले सकते हैं क्योंकि यह आपके चेहरे को आपके मोबाइल स्क्रीन के केंद्र में स्थित करता है। इसलिए!! दिलचस्प लगता है? यह काम करने के लिए इस ट्यूटोरियल के अंत में डेमो वीडियो देखें। आइए देखें कि हम कैसे निर्माण कर सकते हैं…
मैंने इस परियोजना को यथासंभव सरल बनाने के लिए अपनी पूरी कोशिश की है, हार्डवेयर या कोडिंग के बारे में न्यूनतम जानकारी रखने वाला कोई भी व्यक्ति इस दिशानिर्देश का उपयोग इस परियोजना को कुछ ही समय में करने के लिए कर सकता है। हालाँकि एक बार जब आप इसे बना लेते हैं तो मैं आपको सुझाव देता हूं कि आप कोड्स के पीछे पहुँच जाएँ ताकि आप वास्तव में जान सकें कि यह चीज़ क्या काम करती है और कैसे।
सामग्री की आवश्यकता:
- अरुडिनो नैनो
- सर्वो मोटर SG90 - 2Nos
- सभ्य कैमरे के साथ Android फोन
- HC-05 / HC-06 ब्लूटूथ मॉड्यूल
- प्रोग्रामिंग के लिए कंप्यूटर
- 3D प्रिंटर (वैकल्पिक)
- 9 वी बैटरी
3 डी प्रिंटिंग आवश्यक भागों (वैकल्पिक):
अपने मोबाइल फोन को पैन और झुकाव के लिए हमें कुछ यांत्रिक संरचनाओं जैसे मोबाइल धारक और कुछ सर्वो कोष्ठक की आवश्यकता होती है। आप एक कार्डबोर्ड का उपयोग एक बनाने के लिए कर सकते हैं, क्योंकि मेरे पास एक 3 डी प्रिंटर है मैंने इन भागों को 3 डी प्रिंट करने का फैसला किया है।
3 डी प्रिंटिंग एक अद्भुत उपकरण है जो प्रोटोटाइप परियोजनाओं के निर्माण या नए यांत्रिक डिजाइनों के साथ प्रयोग करते समय बहुत योगदान कर सकता है। यदि आपने अभी तक 3 डी प्रिंटर के लाभों की खोज नहीं की है या यह कैसे काम करता है तो आप शुरुआती गाइड टू डी प्रिंटिंग को पढ़ सकते हैं।
यदि आपके पास 3 डी प्रिंटर का मालिक है या आपके पास है तो आप एसटीएल फाइलों का उपयोग कर सकते हैं, जिन्हें यहां से सीधे डाउनलोड और उन्हें इकट्ठा करने के लिए डाउनलोड किया जा सकता है। हालाँकि मोबाइल फोन धारक जैसे कुछ हिस्सों को आपके फोन के आयामों के आधार पर कुछ संशोधनों की आवश्यकता हो सकती है। मैंने इसे अपने मोटो जी मोबाइल फोन के लिए डिजाइन किया है। मैंने सभी भागों को मुद्रित करने के लिए एक बहुत ही बुनियादी प्रिंटर का उपयोग किया है। प्रिंटर 3ding से FABX v1 है जो 10 घन सेमी की प्रिंट मात्रा के साथ एक सस्ती कीमत पर आता है। सस्ती कीमत कम प्रिंट रिज़ॉल्यूशन और बिना एसडी कार्ड या प्रिंट रिज्यूमिंग फ़ंक्शन के व्यापार के साथ आती है। मैं STL फ़ाइलों को प्रिंट करने के लिए Cura नामक सॉफ्टवेयर का उपयोग कर रहा हूं। सामग्री को प्रिंट करने के लिए मैंने जिन सेटिंग्स का उपयोग किया था, वे नीचे दी गई हैं आप उसी का उपयोग कर सकते हैं या उन्हें अपने प्रिंटर के आधार पर बदल सकते हैं।
एक बार जब आप सभी आवश्यक सामग्रियों को प्रिंट कर लेते हैं, तो आप शिकंजा और कुछ गर्म गोंद का उपयोग करके उन्हें स्थिति में सुरक्षित कर सकते हैं। असेंबली पूरी होने के बाद आपको नीचे कुछ इस तरह दिखना चाहिए।
योजनाबद्ध और हार्डवेयर:
स्मार्ट फोन परियोजना पर इस फेस ट्रैकिंग के लिए सर्किट नीचे दी गई छवि में दिखाया गया है:
सर्किट दो सर्वो मोटरों से मिलकर बनता है, जिसमें से एक का उपयोग मोबाइल फोन को बाएं / दाएं स्थानांतरित करने के लिए किया जाता है और दूसरे का उपयोग मोबाइल फोन को ऊपर / नीचे झुकाने के लिए किया जाता है। जिस दिशा में सर्वो को चलना है, उसे Arduino Nano द्वारा निर्देश दिया जाएगा जो स्वयं ब्लूटूथ (HC-05) मॉड्यूल से जानकारी प्राप्त करता है। पूरा सर्किट 9 वी की बैटरी से संचालित होता है।
यह सर्किट आपके ब्रेडबोर्ड पर आसानी से जुड़ा हो सकता है या आप इन्हें एक छोटे परफ़ॉर्म बोर्ड पर मिलाप भी कर सकते हैं जैसे मैंने यहाँ किया है।
अपना Android एप्लिकेशन सेट करना:
जैसा कि, मैंने पहले कहा था कि इस परियोजना के पीछे काम करने वाला मुख्य मस्तिष्क यह एंड्रॉइड एप्लिकेशन है। यह Android एप्लिकेशन प्रसंस्करण Android का उपयोग करके विकसित किया गया था। आप इस एप्लिकेशन को सीधे अपने मोबाइल फोन पर इंस्टॉल कर सकते हैं और नीचे दिए गए चरणों का पालन करके लॉन्च कर सकते हैं।
- एपीके फाइल यहां से डाउनलोड करें।
- ऊपर दिखाए गए सर्किट पर पावर।
- अपने फ़ोन सेटिंग्स में "HC-05" नामक ब्लूटूथ मॉड्यूल की खोज करें
- यदि आपने इसे "HC-05" के अलावा कुछ और नाम दिया है, तो इसे HC-05 में वापस बदल दें, तभी एप्लिकेशन काम करेगा।
- पासवर्ड "1234" या "0000" के साथ अपने ब्लूटूथ मॉड्यूल के साथ जोड़ी।
- अब, एप्लिकेशन को पोर्ट्रेट मोड में लॉन्च करें। आपको अपनी स्क्रीन के शीर्ष पर अपनी कैमरा स्क्रीन और "कनेक्टेड टू: एचसी -05" देखना चाहिए।
- अपने कैमरे को एक चेहरे पर ले जाने का प्रयास करें और उसके ऊपर एक हरे रंग का बॉक्स दिखाई दे और उसकी स्थिति आपकी स्क्रीन के ऊपरी बाएँ कोने पर भी दिखाई जाएगी जैसा कि नीचे दिखाया गया है।
आप इस Arduino फेस ट्रैकिंग प्रोजेक्ट को अगले स्तर तक ले जा सकते हैं, जिसमें बहुत सारी प्रगति ला सकते हैं जिसके लिए आपको अपने Android एप्लिकेशन को कोड करने की आवश्यकता नहीं होगी। एंड्रॉइड एप्लिकेशन बनाना मुश्किल लग सकता है, लेकिन प्रसंस्करण की मदद से मुझ पर विश्वास करें आप इसे कुछ ही समय में सीख सकते हैं। इस एप्लिकेशन को बनाने के लिए उपयोग किया जाने वाला पूरा प्रोसेसिंग कोड यहां डाउनलोड किया जा सकता है। आप अपनी रचनात्मकता के साथ कोई भी उन्नति करने के लिए स्वतंत्र हैं। प्रसंस्करण के बारे में अधिक जानने के लिए परियोजनाओं के नीचे देखें:
- Arduino और प्रसंस्करण का उपयोग करके आभासी वास्तविकता
- पिंग पोंग खेल Arduino का उपयोग कर
- प्रसंस्करण का उपयोग कर स्मार्ट फोन नियंत्रित एफएम रेडियो।
- प्रसंस्करण और अल्ट्रासोनिक सेंसर का उपयोग कर Arduino रडार सिस्टम
अपने Arduino प्रोग्रामिंग:
Android एप्लिकेशन स्क्रीन पर चेहरे और उसकी स्थिति का पता लगाएगा; यह तब तय करेगा कि चेहरे की स्थिति के आधार पर उसे किस दिशा में बढ़ना चाहिए ताकि चेहरा स्क्रीन के केंद्र में आ जाए। यह दिशा तब ब्लूटूथ मॉड्यूल के माध्यम से Arduino को भेजी जाती है।
इस परियोजना के लिए Arduino कार्यक्रम काफी सरल है, हमें बस ब्लूटूथ मॉड्यूल से प्राप्त मूल्यों के आधार पर दो सर्वो मोटर्स की दिशा को नियंत्रित करना है। पूरा कोड इस ट्यूटोरियल के अंत में पाया जा सकता है, मैं भी नीचे कुछ महत्वपूर्ण लाइनों समझा दिया है।
कोड के नीचे लाइन पिन D12 के साथ RX और D11 को TX के रूप में सीरियल कनेक्शन स्थापित करता है। इसलिए पिन D12 को BT मॉड्यूल के TX और पिन D11 को BT मॉड्यूल के RX से जोड़ा जाना चाहिए।
SoftwareSerial cam_BT (12, 11); // आरएक्स, TX
फिर हमने 9600 की बॉड दर पर ब्लूटूथ मॉड्यूल को इनिशियलाइज़ किया है। सुनिश्चित करें कि आप मॉड्यूल भी उसी बॉड रेट पर काम करते हैं। तदनुसार इसे बदल दें।
cam_BT.begin (9600); // 9600 बॉड्रेट कैम पर ब्लूटूथ संचार शुरू करें ।_BT.println ("कमांड लेने के लिए तैयार");
नीचे की पंक्ति पढ़ता है कि ब्लूटूथ मॉड्यूल के माध्यम से क्या आ रहा है। इसके अलावा डेटा "ब्लूटूथटाटा" चर में सहेजा गया है।
if (cam_BT.available ()) // पढ़ें ब्लूटूथ के माध्यम से आने वाले whats {BluetoothData = cam_BT.read (); Serial.print ("बीटी से आने वाली:"); Serial.println (BluetoothData); }
ब्लूटूथ से प्राप्त आंकड़ों के आधार पर मोटर्स की दिशा नियंत्रित होती है। मोटर को छोड़ने के लिए मोटर को उसके पिछले स्थान से 2 के मान से घटाया जाता है। यदि आपको हाथ को तेज गति से चलाने की आवश्यकता है, तो आप इस मान को 2 से 4 या 6 तक बढ़ा सकते हैं। लेकिन, यह कुछ झटके पैदा कर सकता है जिससे कैमरा अस्थिर हो सकता है।
if (BluetoothData == 49) // बाएँ मुड़ें {pos1 + = 2; servo1.write (pos1);} अगर (ब्लूटूथडॉट == 50) // राइट राईट {pos1- = 2; servo1.write (pos1);} अगर (ब्लूटूथडॉट == 51) // टर्न अप {pos2- = 2; servo2.write (pos2);} अगर (ब्लूटूथडॉट == 52) // नीचे जाएं {pos2 + = 2; servo2.write (pos2);}
काम कर रहे:
एक बार जब हम अपने हार्डवेयर, कोड और Android एप्लिकेशन के साथ कुछ कार्रवाई के लिए तैयार हो जाते हैं। बस अपने Arduino को शक्ति दें और Android एप्लिकेशन खोलें। एप्लिकेशन स्वचालित रूप से HC-05 से जुड़ जाएगा (ब्लूटूथ का नाम HC-05 होना चाहिए) और चेहरे का पता लगाने के लिए इंतजार करना होगा। बस फोन को हमारे मोबाइल धारक में रखें और उसके सामने बैठें। आपको अपने इमदादी मोटर्स को अपना फोन घुमाते हुए देखना चाहिए ताकि आपका चेहरा स्क्रीन के केंद्र में रखा जा सके। अब कैमरे की सीमा के भीतर घूमें और आपका मोबाइल फोन आपकी गतिविधियों का अनुसरण करेगा। आप इसे किसी भी चित्र को रखकर और आगे बढ़ाकर भी देख सकते हैं।
परियोजना का पूरा काम नीचे दिए गए वीडियो में दिखाया गया है । आप बहुत कुछ बना सकते हैं