- सामग्री की आवश्यकता:
- 3 डी प्रिंटिंग आवश्यक भागों:
- हार्डवेयर और स्कैमैटिक्स:
- रोबोट को असेंबल करना:
- Biped रोबोट के लिए Arduino प्रोग्रामिंग:
- प्रसंस्करण आधारित Android आवेदन:
- ब्लूटूथ नियंत्रित बिप्ड रोबोट का कार्य:
एक अन्य परियोजना में आपका स्वागत है जिसमें हम एक छोटा रोबोट बनाएंगे जो चल सकता है और नृत्य कर सकता है। परियोजना का लक्ष्य आपको यह सिखाना है कि कैसे Arduino का उपयोग करके छोटे शौक़ीन रोबोट बनायें और इस तरह के अनुप्रयोगों के लिए अपने सर्वो मोटर्स को कैसे प्रोग्राम करें। परियोजना के अंत में आप इस चलने और नृत्य करने वाले रोबोट को बनाने में सक्षम होंगे जो कुछ पूर्व-परिभाषित कार्यों को करने के लिए एंड्रॉइड मोबाइल फोन से कमांड लेता है। आप सीरियल मॉनीटर का उपयोग करके सर्वो मोटर्स की स्थिति को नियंत्रित करके अपने बहुत ही रोबोट के कार्यों को आसानी से हेरफेर करने के लिए प्रोग्राम (ट्यूटोरियल के अंत में दिए गए) का उपयोग कर सकते हैं। 3 डी प्रिंटर होने से यह प्रोजेक्ट अधिक दिलचस्प हो जाएगा और अच्छा लगेगा। लेकिन, यदि आपके पास एक नहीं है तो आप किसी भी ऑनलाइन सेवाओं का उपयोग कर सकते हैं या बस उसी के निर्माण के लिए कुछ कार्डबोर्ड का उपयोग कर सकते हैं।
सामग्री की आवश्यकता:
इस रोबोट के निर्माण के लिए आवश्यक सामग्री निम्नलिखित हैं:
- अरुडिनो नैनो
- सर्वो SG90 - 4Nos
- पुरुष बरगद का डंडा
- HC-05 / HC-06 ब्लूटूथ मॉड्यूल
- थ्री डी प्रिण्टर
जैसा कि आप देख सकते हैं कि इस 3 डी प्रिंटेड रोबोट को प्रोजेक्ट की लागत को यथासंभव कम रखने के लिए बहुत कम इलेक्ट्रॉनिक्स भागों की आवश्यकता है। यह परियोजना केवल वैचारिक और मजेदार उद्देश्य के लिए है और इसमें अभी तक कोई वास्तविक समय नहीं है।
3 डी प्रिंटिंग आवश्यक भागों:
3 डी प्रिंटिंग एक अद्भुत उपकरण है जो प्रोटोटाइप परियोजनाओं के निर्माण या नए यांत्रिक डिजाइनों के साथ प्रयोग करते समय बहुत योगदान कर सकता है। यदि आपने अभी तक 3 डी प्रिंटर के लाभों की खोज नहीं की है या यह कैसे काम करता है तो आप शुरुआती गाइड टू डी प्रिंटिंग को पढ़ सकते हैं।
इस प्रोजेक्ट में ऊपर दिखाया गया रोबोट का शरीर पूरी तरह से 3 डी प्रिंटेड है। आप यहां से एसटीएल फाइलें डाउनलोड कर सकते हैं। इन फाइलों को अपने 3 डी प्रिंटिंग सॉफ्टवेयर जैसे कि कॉरा पर लोड करें और सीधे उन्हें प्रिंट करें। मैंने सभी भागों को मुद्रित करने के लिए एक बहुत ही बुनियादी प्रिंटर का उपयोग किया है। प्रिंटर 3ding से FABX v1 है जो 10 घन सेमी की प्रिंट मात्रा के साथ एक सस्ती कीमत पर आता है। सस्ती कीमत कम प्रिंट रिज़ॉल्यूशन और बिना एसडी कार्ड या प्रिंट रिज्यूमिंग फ़ंक्शन के व्यापार के साथ आती है। मैं STL फ़ाइलों को प्रिंट करने के लिए Cura नामक सॉफ्टवेयर का उपयोग कर रहा हूं। सामग्री को प्रिंट करने के लिए मैंने जिन सेटिंग्स का उपयोग किया था, वे नीचे दी गई हैं आप उसी का उपयोग कर सकते हैं या उन्हें अपने प्रिंटर के आधार पर बदल सकते हैं।
एक बार जब आप सभी भागों को प्रिंट कर लेते हैं तो सपोर्ट (यदि कोई हो) को साफ करें और फिर सुनिश्चित करें कि पैर और पेट का हिस्सा एक स्क्रू को फिट करने के लिए पर्याप्त बड़ा हो। यदि नहीं, तो छेद को हल्का बड़ा बनाने के लिए एक सुई का उपयोग करें। आपके 3D प्रिंट किए गए भाग नीचे कुछ दिखाई देंगे।
हार्डवेयर और स्कैमैटिक्स:
इस मोबाइल फोन के लिए नियंत्रित बिप्ड Arduino रोबोट के लिए हार्डवेयर वास्तव में सरल है। पूरी योजनाबद्ध जानकारी नीचे की छवि में दिखाई गई है
मैंने उपरोक्त कनेक्शन बनाने के लिए एक परफेक्ट बोर्ड का उपयोग किया है। सुनिश्चित करें कि आपका सर्किट रोबोट के सिर के अंदर भी फिट होगा। एक बार आपका परफ़ेक्ट बोर्ड तैयार हो जाने के बाद यह नीचे जैसा दिखना चाहिए।
रोबोट को असेंबल करना:
एक बार हार्डवेयर और 3 डी प्रिंटेड पार्ट्स तैयार हो जाने के बाद हम रोबोट को इकट्ठा कर सकते हैं। मोटरों को ठीक करने से पहले, सुनिश्चित करें कि आप मोटर्स को नीचे के कोणों पर रखें ताकि प्रोग्राम त्रुटिपूर्ण रूप से काम करे।
मोटर नंबर |
मोटर जगह |
मोटर की स्थिति |
1 |
लेफ्ट हिप मोटर |
110 |
२ |
राइट हिप मोटर |
100 |
४ |
सही टखने की मोटर |
90 |
५ |
राइट हिप मोटर |
.० |
इन कोणों को ट्यूटोरियल के अंत में दिए गए प्रोग्राम का उपयोग करके सेट किया जा सकता है। उपरोक्त कनेक्शन बनाने के बाद बस अपने Arduino पर प्रोग्राम अपलोड करें और सीरियल मॉनीटर में निम्नलिखित टाइप करें (नोट: बॉड दर 57600 है)।
1, 100, 110
2,90,100
4,80,90 है
5,70,80 है
आपके सभी मोटरों को स्थिति में रखने के बाद आपके सीरियल मॉनिटर को कुछ इस तरह देखना चाहिए।
एक बार जब मोटरों को संगत कोणों में सेट किया जाता है, तो उन्हें ऊपर दिए गए चित्र में दिखाया गया है।
यदि आप इस ट्यूटोरियल के अंत में वीडियो को फॉलो करने के तरीके के बारे में उलझन में हैं । एक बार रोबोट इकट्ठे हो जाने के बाद हमारे डांसिंग रोबोट को प्रोग्राम करने का समय है
Biped रोबोट के लिए Arduino प्रोग्रामिंग:
बीबीबी रोबोट ( ब्लूटूथ बीपेड बॉब ) का प्रोग्रामिंग इस ट्यूटोरियल में सबसे दिलचस्प और मजेदार हिस्सा है। यदि आप Arduino के साथ सर्वो सर्वो प्रोग्रामिंग में बहुत अच्छे हैं तो मैं आपको अपना कार्यक्रम बनाने की सलाह दूंगा। बीटी, यदि आप सीखना चाहते हैं कि इस तरह से रोबोट अनुप्रयोगों के लिए सर्वो मोटर्स का उपयोग कैसे किया जाता है, तो यह कार्यक्रम इसके लिए बहुत उपयोगी होगा। आप हमारे arduino प्रोजेक्ट्स श्रेणी में arduino प्रोग्रामिंग के बारे में अधिक जान सकते हैं।
पूरा कार्यक्रम इस ट्यूटोरियल के अंत में दिया गया है, या आप यहाँ से पूरा कोड डाउनलोड कर सकते हैं। मैं नीचे दिए गए सेगमेंट को समझाऊंगा। कार्यक्रम धारावाहिक मॉनीटर या ब्लूटूथ के माध्यम से रोबोट क्रियाओं को नियंत्रित करने में सक्षम है। आप धारावाहिक मॉनिटर का उपयोग करके प्रत्येक व्यक्तिगत मोटर को नियंत्रित करके अपनी चाल भी बना सकते हैं।
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
कोड की उपरोक्त पंक्तियों का उपयोग यह उल्लेख करने के लिए करता है कि कौन सी सर्वो मोटर अरडिनो के किस पिन से जुड़ी है। यहां हमारे मामले में सर्वो 1,2,4 और 5 क्रमशः 3,5,9 और 10 पिन से जुड़े हैं।
Bot_BT.begin (9600); // 9600 बॉड्रेट सीरियल (57600) पर ब्लूटूथ संचार शुरू करें;
जैसा कि पहले कहा गया है कि हमारा चलने वाला रोबोट ब्लूटूथ कमांड पर काम कर सकता है और सीरियल मॉनिटर से कमांड से भी। इसलिए ब्लूटूथ सीरियल संचार 9600 की बॉड दर के साथ काम करता है और सीरियल संचार 57600 की बॉड दर के साथ काम करता है। हमारे ब्लूटूथ ऑब्जेक्ट का नाम यहाँ "Bot_BT" है।
स्विच (मोटर) {केस 1: // मोटर एक के लिए {Serial.println ("मोटर को निष्पादित करना"); अगर (संख्या १
ऊपर दिखाए गए स्विच केस का उपयोग सर्वो मोटर्स को व्यक्तिगत रूप से नियंत्रित करने के लिए किया जाता है। यह आपके रोबोट के साथ अपनी रचनात्मक चाल बनाने में मदद करेगा। कोड के इस सेगमेंट से आप किसी विशेष मोटर को वांछित स्थान पर ले जाने के लिए, कोण से और कोण से बस मोटर नंबर बता सकते हैं।
उदाहरण के लिए यदि हम मोटर संख्या 1 को स्थानांतरित करना चाहते हैं जो कि 110 डिग्री से 60 डिग्री के अपने डिफ़ॉल्ट स्थान से बाएं कूल्हे की मोटर है। हम बस Arduino के सीरियल मॉनिटर और हिट में "1,110,60" लिख सकते हैं। यह आपके रोबोट के साथ अपनी खुद की जटिल चाल बनाने के काम आएगा। एक बार जब आप परी और कोण से सभी के साथ प्रयोग करते हैं तो आप अपनी खुद की चाल बना सकते हैं और इसे एक फ़ंक्शन के रूप में बनाकर दोहरा सकते हैं।
if (Serial.available ()> 0) // पढ़ें सीरियल के माध्यम से आने वाले whats {gmotor = Serial.parseInt (); Serial.print ("चयनित संख्या->"); सिरियल.प्रिंट (गमोटर); सिरियल.प्रिंट (","); gnum1 = Serial.parseInt (); सिरियल.प्रिंट (gnum1); Serial.print ("डिग्री,"); gnum2 = Serial.parseInt (); सीरियल.प्रिंट (gnum2); सीरीयल.प्रिंट ("डिग्री"); झंडा = 1; }
यदि कोई सीरियल डेटा पहले "," को गमोटर माना जाता है और फिर दूसरे से पहले की संख्या "," को gnum1 के रूप में माना जाता है और दूसरे के बाद की संख्या "gnum2" के रूप में माना जाता है।
if (Bot_BT.available ()) // ब्लूटूथ के माध्यम से आने वाले whats को पढ़ें {BluetoothData = Bot_BT.read (); Serial.print ("बीटी से आने वाली:"); Serial.println (BluetoothData); }
यदि ब्लूटूथ कुछ जानकारी प्राप्त करता है, तो प्राप्त जानकारी चर "ब्लूटूथडेटा" में संग्रहीत होती है। यह चर तब किसी विशेष कार्रवाई को अंजाम देने के लिए पूर्व-निर्धारित मूल्यों की तुलना में है।
if (ध्वज == 1) कॉल (gmotor, gnum1, gnum2); // कार्रवाई के लिए संबंधित मोटर को कॉल करें // सीरियल मॉनीटर या ब्लूटूथ के माध्यम से प्राप्त कॉंड के अनुसार कार्यों को निष्पादित करें // अगर (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) Move_left_front (); if (gmotor == 13) Move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {परीक्षण (); परीक्षण (); परीक्षण ();};
यह वह जगह है जहाँ कार्यों को सीरियल मॉनीटर या ब्लूटूथ से प्राप्त मूल्यों के आधार पर कहा जाता है। जैसा कि चर के ऊपर दिखाया गया है gmotor में सीरियल मॉनीटर का मान होगा और BluetoothData में ब्लूटूथ डिवाइस से मूल्य होगा। 53,54 तक की संख्या 10,11,12 पूर्व-परिभाषित संख्याएँ हैं।
उदाहरण के लिए यदि आप सीरियल मॉनीटर में 49 नंबर दर्ज करते हैं। Say_hi () फ़ंक्शन को निष्पादित किया जाएगा जहां रोबोट आपको एक ही तरंग देगा।
सभी कार्य पृष्ठ "Bot_Functions" के अंदर परिभाषित किए गए हैं। आप इसे खोल सकते हैं और देख सकते हैं कि वास्तव में प्रत्येक फ़ंक्शन के अंदर क्या होता है। इन सभी कार्यों को ऊपर से बताए गए स्विच केस का उपयोग करके परी से प्रत्येक ई के लिए और प्रत्येक मोटर के दूत द्वारा किया गया था। यदि आपको कोई संदेह है तो आप उन्हें पोस्ट करने के लिए टिप्पणी अनुभाग का उपयोग कर सकते हैं और मुझे आपकी मदद करने में खुशी होगी।
प्रसंस्करण आधारित Android आवेदन:
रोबोट को नियंत्रित करने के लिए एंड्रॉइड एप्लिकेशन प्रोसेसिंग एंड्रॉइड मोड का उपयोग करके बनाया गया था। यदि आप अनुप्रयोग में कुछ बदलाव करना चाहते हैं तो आप यहाँ से पूरा प्रोसेसिंग प्रोग्राम डाउनलोड कर सकते हैं।
यदि आप बस उस एप्लिकेशन का उपयोग करना चाहते हैं जिसे आप एपीके फ़ाइल के रूप में यहां से डाउनलोड कर सकते हैं और सीधे अपने मोबाइल फोन पर इंस्टॉल कर सकते हैं।
नोट: आपके ब्लूटूथ मॉड्यूल का नाम HC-06 होना चाहिए अन्यथा एप्लिकेशन आपके ब्लूटूथ मॉड्यूल से कनेक्ट नहीं हो पाएगा।
एप्लिकेशन इंस्टॉल होने के बाद, आप अपने फोन के साथ ब्लूटूथ मॉड्यूल को जोड़ सकते हैं और फिर एप्लिकेशन को लॉन्च कर सकते हैं। यह नीचे कुछ इस तरह दिखना चाहिए।
यदि आप अपने ऐप को अधिक आकर्षक बनाना चाहते हैं या Hc-06 के अलावा किसी अन्य डिवाइस से कनेक्ट करना चाहते हैं। आप प्रोसेसिंग कोड का उपयोग कर सकते हैं और उसमें कुछ बदलाव कर सकते हैं और फिर कोड को सीधे अपने फोन पर अपलोड कर सकते हैं।
ब्लूटूथ नियंत्रित बिप्ड रोबोट का कार्य:
एक बार आपके हार्डवेयर, Android एप्लिकेशन और Arduino स्केच तैयार हो जाने के बाद हमारे रोबोट के साथ कुछ मज़ेदार होने का समय है। आप नीचे दिए गए चित्र में दिखाए गए अनुसार निम्न आदेशों का उपयोग करके एप्लिकेशन में बटन का उपयोग करके या सीधे सीरियल मॉनिटर से रोबोट को नियंत्रित कर सकते हैं।
प्रत्येक कमांड रोबोट को कुछ अजीबोगरीब कार्य करने देगा और आप अपनी रचनात्मकता के आधार पर अधिक कार्यों को भी जोड़ सकते हैं।
रोबोट को 12V एडॉप्टर द्वारा भी संचालित किया जा सकता है या 9 वी की बैटरी का उपयोग करके भी संचालित किया जा सकता है। इस बैटरी को परफेक्ट बोर्ड के नीचे आसानी से लगाया जा सकता है और इसे हेड ऑफ रोबोट के साथ कवर किया जा सकता है।
इस स्मार्ट फोन नियंत्रित रोबोट का पूरा कार्य नीचे दिए गए वीडियो में पाया जा सकता है।