क्या आप सीखना चाहते हैं कि अपना रोबोट कैसे बनाया जाए? बहुत सारे अलग-अलग प्रकार के रोबोट हैं जिन्हें आप स्वयं बना सकते हैं। अधिकांश लोग चाहते हैं कि कोई रोबोट बिंदु A से बिंदु B तक जाने के सरल कार्य करता है। आप पूरी तरह से एनालॉग घटकों से रोबोट बना सकते हैं या स्क्रैच से स्टार्टर किट खरीद सकते हैं! अपना खुद का रोबोट बनाना खुद को इलेक्ट्रॉनिक्स और कंप्यूटर प्रोग्रामिंग दोनों सिखाने का एक शानदार तरीका है।
कदम
६ का भाग १: रोबोट को असेंबल करना
चरण 1. अपने घटकों को इकट्ठा करो।
एक बुनियादी रोबोट बनाने के लिए, आपको कई सरल घटकों की आवश्यकता होगी। आप अपने स्थानीय इलेक्ट्रॉनिक्स शौक की दुकान, या कई ऑनलाइन खुदरा विक्रेताओं पर इन घटकों में से अधिकांश, यदि सभी नहीं पा सकते हैं। कुछ बुनियादी किट में ये सभी घटक भी शामिल हो सकते हैं। इस रोबोट को किसी सोल्डरिंग की आवश्यकता नहीं है:
- Arduino Uno (या अन्य माइक्रोकंट्रोलर)
- 2 निरंतर रोटेशन सर्वो
- सर्वो में फिट होने वाले 2 पहिए
- 1 ढलाईकार रोलर
- 1 छोटा सोल्डरलेस ब्रेडबोर्ड (एक ब्रेडबोर्ड की तलाश करें जिसमें प्रत्येक तरफ दो सकारात्मक और नकारात्मक रेखाएं हों)
- 1 दूरी सेंसर (चार-पिन कनेक्टर केबल के साथ)
- 1 मिनी पुश-बटन स्विच
- 1 10kΩ रोकनेवाला
- 1 यूएसबी ए से बी केबल
- ब्रेकअवे हेडर का 1 सेट
- 9वी डीसी पावर जैक के साथ 1 6 एक्स एए बैटरी धारक
- जम्पर तारों का 1 पैक या 22-गेज हुक-अप तार
- मजबूत दो तरफा टेप या गर्म गोंद
चरण 2. बैटरी पैक को पलटें ताकि फ्लैट बैक ऊपर की ओर हो।
आप आधार के रूप में बैटरी पैक का उपयोग करके रोबोट के शरीर का निर्माण करेंगे।
चरण 3. बैटरी पैक के अंत में दो सर्वो को संरेखित करें।
यह अंत होना चाहिए कि बैटरी पैक का तार सर्वो से बाहर आ रहा है, नीचे से छू रहा होना चाहिए, और प्रत्येक के घूर्णन तंत्र को बैटरी पैक के किनारों का सामना करना चाहिए। सर्वो को ठीक से संरेखित किया जाना चाहिए ताकि पहिए सीधे जाएं। सर्वो के लिए तार बैटरी पैक के पीछे से आने चाहिए।
चरण 4. सर्वो को अपने टेप या गोंद से चिपका दें।
सुनिश्चित करें कि वे बैटरी पैक से मजबूती से जुड़े हुए हैं। सर्वो के पिछले हिस्से को बैटरी पैक के पिछले हिस्से के साथ फ्लश संरेखित किया जाना चाहिए।
सर्वो को अब बैटरी पैक का पिछला आधा भाग लेना चाहिए।
चरण 5. ब्रेडबोर्ड को बैटरी पैक के खुले स्थान पर लंबवत रूप से चिपका दें।
इसे बैटरी पैक के सामने थोड़ा सा लटका देना चाहिए और प्रत्येक तरफ से आगे बढ़ना चाहिए। सुनिश्चित करें कि आगे बढ़ने से पहले इसे सुरक्षित रूप से बांधा गया है। "ए" पंक्ति सर्वो के सबसे करीब होनी चाहिए।
चरण 6. Arduino माइक्रोकंट्रोलर को सर्वो के शीर्ष पर संलग्न करें।
यदि आपने सर्वो को ठीक से जोड़ा है, तो उनके द्वारा स्पर्श करके बनाई गई एक सपाट जगह होनी चाहिए। इस समतल स्थान पर Arduino बोर्ड चिपका दें ताकि Arduino के USB और पावर कनेक्टर पीछे की ओर (ब्रेडबोर्ड से दूर) हो। Arduino के सामने ब्रेडबोर्ड को मुश्किल से ओवरलैप करना चाहिए।
चरण 7. पहियों को सर्वो पर रखें।
सर्वो के घूर्णन तंत्र पर पहियों को मजबूती से दबाएं। इसके लिए महत्वपूर्ण मात्रा में बल की आवश्यकता हो सकती है, क्योंकि पहियों को सर्वोत्तम कर्षण के लिए यथासंभव कसकर फिट करने के लिए डिज़ाइन किया गया है।
चरण 8. ढलाईकार को ब्रेडबोर्ड के नीचे संलग्न करें।
यदि आप चेसिस को पलटते हैं, तो आपको बैटरी पैक के पिछले हिस्से में थोड़ा सा ब्रेडबोर्ड दिखाई देना चाहिए। यदि आवश्यक हो तो राइजर का उपयोग करके, इस विस्तारित टुकड़े को ढलाईकार संलग्न करें। ढलाईकार फ्रंट व्हील के रूप में कार्य करता है, जिससे रोबोट आसानी से किसी भी दिशा में मुड़ सकता है।
यदि आपने एक किट खरीदी है, तो हो सकता है कि ढलाईकार कुछ राइजर के साथ आया हो, जिसका उपयोग आप यह सुनिश्चित करने के लिए कर सकते हैं कि ढलाईकार जमीन पर पहुंच जाए। मैं
6 का भाग 2: रोबोट को तार देना
चरण 1. दो 3-पिन हेडर तोड़ें।
आप इनका उपयोग सर्वो को ब्रेडबोर्ड से जोड़ने के लिए करेंगे। पिन को हेडर के माध्यम से नीचे दबाएं ताकि पिन दोनों तरफ से समान दूरी पर निकल सकें।
चरण 2. ब्रेडबोर्ड की पंक्ति E पर दो हेडर को पिन 1-3 और 6-8 में डालें।
सुनिश्चित करें कि वे मजबूती से डाले गए हैं।
चरण 3. सर्वो केबल को हेडर से कनेक्ट करें, बाईं ओर काली केबल (पिन 1 और 6) के साथ।
यह सर्वो को ब्रेडबोर्ड से जोड़ेगा। सुनिश्चित करें कि बायां सर्वो बाएं हेडर से जुड़ा है और दायां सर्वो दाएं हेडर से जुड़ा है।
चरण 4. लाल जम्पर तारों को पिन C2 और C7 से लाल (सकारात्मक) रेल पिन से कनेक्ट करें।
सुनिश्चित करें कि आप ब्रेडबोर्ड के पीछे (शेष चेसिस के करीब) लाल रेल का उपयोग करते हैं।
चरण 5. ब्लैक जम्पर तारों को पिन B1 और B6 से नीले (जमीन) रेल पिन से कनेक्ट करें।
सुनिश्चित करें कि आप ब्रेडबोर्ड के पीछे नीली रेल का उपयोग करते हैं। उन्हें लाल रेल पिन में प्लग न करें।
चरण 6. सफेद जम्पर तारों को पिन 12 और 13 से Arduino पर A3 और A8 से कनेक्ट करें।
यह Arduino को सर्वो को नियंत्रित करने और पहियों को चालू करने की अनुमति देगा।
चरण 7. सेंसर को ब्रेडबोर्ड के सामने संलग्न करें।
इसे ब्रेडबोर्ड पर बाहरी पावर रेल में प्लग नहीं किया जाता है, बल्कि इसके बजाय लेटरेड पिन (J) की पहली पंक्ति में प्लग किया जाता है। सुनिश्चित करें कि आपने इसे सटीक केंद्र में रखा है, प्रत्येक तरफ समान संख्या में पिन उपलब्ध हैं।
चरण 8. पिन I14 से एक ब्लैक जम्पर तार को सेंसर के बाईं ओर पहले उपलब्ध ब्लू रेल पिन से कनेक्ट करें।
यह सेंसर को ग्राउंड करेगा।
चरण 9. पिन I17 से एक लाल जम्पर तार को सेंसर के दाईं ओर पहले उपलब्ध लाल रेल पिन से कनेक्ट करें।
यह सेंसर को पावर देगा।
चरण 10। सफेद जम्पर तारों को पिन I15 से पिन 9 तक Arduino पर, और I16 से पिन 8 तक कनेक्ट करें।
यह सेंसर से माइक्रोकंट्रोलर को जानकारी फीड करेगा।
६ का भाग ३: बिजली को तार देना
चरण 1. रोबोट को उसकी तरफ पलटें ताकि आप बैटरी को पैक में देख सकें।
इसे ओरिएंट करें ताकि बैटरी पैक केबल नीचे बाईं ओर बाहर आ रही हो।
चरण 2. एक लाल तार को नीचे बाईं ओर से दूसरे स्प्रिंग से कनेक्ट करें।
सुनिश्चित करें कि बैटरी पैक सही ढंग से उन्मुख है।
चरण 3. एक काले तार को नीचे-दाईं ओर अंतिम स्प्रिंग से कनेक्ट करें।
ये दो केबल Arduino को सही वोल्टेज प्रदान करने में मदद करेंगे।
चरण 4। लाल और काले तारों को ब्रेडबोर्ड के पीछे सबसे दाहिने लाल और नीले पिन से कनेक्ट करें।
काली केबल को नीले रेल पिन में पिन 30 पर प्लग किया जाना चाहिए। लाल केबल को पिन 30 पर लाल रेल पिन में प्लग किया जाना चाहिए।
चरण 5. Arduino पर GND पिन से एक काले तार को पीछे की नीली रेल से कनेक्ट करें।
इसे ब्लू रेल पर पिन 28 पर कनेक्ट करें।
चरण 6. प्रत्येक के लिए पिन 29 पर पीछे की नीली रेल से सामने की नीली रेल से एक काले तार को कनेक्ट करें।
लाल रेल को कनेक्ट न करें, क्योंकि आप संभवतः Arduino को नुकसान पहुंचाएंगे।
चरण 7. सामने की लाल रेल से पिन 30 पर एक लाल तार को Arduino पर 5V पिन से कनेक्ट करें।
यह Arduino को शक्ति प्रदान करेगा।
चरण 8. 24-26 पिनों पर पंक्तियों के बीच के गैप में पुश बटन स्विच डालें।
यह स्विच आपको बिजली को अनप्लग किए बिना रोबोट को बंद करने की अनुमति देगा।
चरण 9. सेंसर के दाईं ओर अगले उपलब्ध पिन में H24 से लाल तार को लाल रेल से कनेक्ट करें।
यह बटन को पावर देगा।
चरण 10. H26 को नीली रेल से जोड़ने के लिए रोकनेवाला का उपयोग करें।
इसे सीधे उस काले तार के बगल में पिन से कनेक्ट करें जिसे आपने कुछ कदम पहले जोड़ा था।
चरण 11. Arduino पर G26 से पिन 2 के लिए एक सफेद तार कनेक्ट करें।
यह Arduino को पुश बटन को पंजीकृत करने की अनुमति देगा।
६ का भाग ४: Arduino सॉफ़्टवेयर स्थापित करना
चरण 1. Arduino IDE डाउनलोड करें और निकालें।
यह Arduino विकास का वातावरण है और आपको निर्देशों को प्रोग्राम करने की अनुमति देता है जिसे आप अपने Arduino माइक्रोकंट्रोलर पर अपलोड कर सकते हैं। आप इसे arduino.cc/en/main/software से मुफ्त में डाउनलोड कर सकते हैं। डाउनलोड की गई फ़ाइल को डबल-क्लिक करके अनज़िप करें और फ़ोल्डर को एक आसान पहुँच स्थान पर ले जाएँ। आप वास्तव में प्रोग्राम इंस्टॉल नहीं करेंगे। इसके बजाय, आप इसे केवल arduino.exe पर डबल-क्लिक करके निकाले गए फ़ोल्डर से चलाएंगे।
चरण 2. बैटरी पैक को Arduino से कनेक्ट करें।
बैटरी बैक जैक को पावर देने के लिए Arduino पर कनेक्टर में प्लग करें।
चरण 3. Arduino को USB के माध्यम से अपने कंप्यूटर में प्लग करें।
विंडोज़ संभवतः डिवाइस को नहीं पहचान पाएगा।
चरण 4. दबाएं।
जीत + आर और टाइप करें देवएमजीएमटी.एमएससी.
यह डिवाइस मैनेजर लॉन्च करेगा।
चरण 5. "अन्य डिवाइस" अनुभाग में "अज्ञात डिवाइस" पर राइट-क्लिक करें और "ड्राइवर सॉफ़्टवेयर अपडेट करें" चुनें।
" यदि आपको यह विकल्प दिखाई नहीं देता है, तो इसके बजाय "गुण" पर क्लिक करें, "ड्राइवर" टैब चुनें, और फिर "ड्राइवर अपडेट करें" पर क्लिक करें।
चरण 6. "ड्राइवर सॉफ़्टवेयर के लिए मेरा कंप्यूटर ब्राउज़ करें" चुनें।
" यह आपको उस ड्राइवर का चयन करने की अनुमति देगा जो Arduino IDE के साथ आया था।
चरण 7. "ब्राउज़ करें" पर क्लिक करें और फिर उस फ़ोल्डर में नेविगेट करें जिसे आपने पहले निकाला था।
आपको अंदर एक "ड्राइवर" फ़ोल्डर मिलेगा।
चरण 8. "ड्राइवर" फ़ोल्डर का चयन करें और "ओके" पर क्लिक करें।
" पुष्टि करें कि यदि आपको अज्ञात सॉफ़्टवेयर के बारे में चेतावनी दी जाती है, तो आप आगे बढ़ना चाहते हैं।
६ का भाग ५: रोबोट की प्रोग्रामिंग
चरण 1. Arduino IDE को IDE फ़ोल्डर में arduino.exe फ़ाइल पर डबल-क्लिक करके प्रारंभ करें।
आपको एक रिक्त परियोजना के साथ स्वागत किया जाएगा।
चरण 2. अपने रोबोट को सीधा करने के लिए निम्नलिखित कोड पेस्ट करें।
नीचे दिया गया कोड आपके Arduino को लगातार आगे बढ़ने के लिए प्रेरित करेगा।
#include // यह प्रोग्राम में "सर्वो" लाइब्रेरी जोड़ता है // निम्नलिखित दो सर्वो ऑब्जेक्ट बनाता है सर्वो लेफ्टमोटर; सर्वो राइटमोटर; शून्य सेटअप () {leftMotor.attach(12); // यदि आपने गलती से अपने सर्वोस के लिए पिन नंबर बदल दिए हैं, तो आप यहां नंबरों को स्वैप कर सकते हैं rightMotor.attach(13); } शून्य लूप () { leftMotor.write(180); // निरंतर रोटेशन के साथ, 180 सर्वो को "आगे" पूरी गति से आगे बढ़ने के लिए कहता है। सही मोटर। लिखना (0); // यदि ये दोनों 180 पर हैं, तो रोबोट एक सर्कल में जाएगा क्योंकि सर्वो फ़्लिप हो गए हैं। "0," इसे पूर्ण गति "पीछे" जाने के लिए कहता है। }
चरण 3. प्रोग्राम बनाएं और अपलोड करें।
कनेक्टेड Arduino पर प्रोग्राम बनाने और अपलोड करने के लिए ऊपरी-बाएँ कोने में दायाँ तीर बटन पर क्लिक करें।
आप रोबोट को सतह से ऊपर उठाना चाह सकते हैं, क्योंकि प्रोग्राम अपलोड होने के बाद यह आगे बढ़ना जारी रखेगा।
चरण 4. किल स्विच कार्यक्षमता जोड़ें।
"लिखें ()" फ़ंक्शन के ऊपर, किल स्विच को सक्षम करने के लिए अपने कोड के "शून्य लूप ()" अनुभाग में निम्न कोड जोड़ें।
if(digitalRead(2) == HIGH) // यह तब रजिस्टर होता है जब Arduino के पिन 2 पर बटन दबाया जाता है {जबकि (1) {leftMotor.write(90); // "90" सर्वो के लिए तटस्थ स्थिति है, जो उन्हें राइटमोटर.राइट (90) को मोड़ना बंद करने के लिए कहता है; } }
चरण 5. अपना कोड अपलोड करें और उसका परीक्षण करें।
किल स्विच कोड जोड़े जाने के साथ, आप रोबोट को अपलोड और परीक्षण कर सकते हैं। जब तक आप स्विच दबाते हैं, तब तक इसे आगे बढ़ना जारी रखना चाहिए, जिस बिंदु पर यह आगे बढ़ना बंद कर देगा। पूरा कोड इस तरह दिखना चाहिए:
#include // निम्नलिखित दो सर्वो ऑब्जेक्ट बनाता है सर्वो लेफ्टमोटर; सर्वो राइटमोटर; शून्य सेटअप () {leftMotor.attach(12); राइटमोटर.अटैच(13); } शून्य लूप () { अगर (डिजिटल रीड (2) == हाई) {जबकि (1) {बाएंमोटर। राइट (90); राइटमोटर.राइट (90); } } leftMotor.write(180); राइटमोटर.राइट (0); }
६ का भाग ६: उदाहरण
चरण 1. एक उदाहरण का पालन करें।
निम्नलिखित कोड रोबोट से जुड़े सेंसर का उपयोग करेगा ताकि जब भी उसे कोई बाधा आए तो वह बाईं ओर मुड़ जाए। प्रत्येक भाग क्या करता है, इसके विवरण के लिए कोड में टिप्पणियाँ देखें। नीचे दिया गया कोड संपूर्ण कार्यक्रम है।
#include सर्वो लेफ्टमोटर; सर्वो राइटमोटर; const int serialPeriod = २५०; // यह आउटपुट को कंसोल पर हर 1/4 सेकंड में एक बार अहस्ताक्षरित लंबे समय तक सीमित करता है SerialDelay = 0; कॉन्स्ट इंट लूपपीरियड = 20; // यह सेट करता है कि सेंसर कितनी बार 20ms तक रीडिंग लेता है, जो कि 50Hz अहस्ताक्षरित लंबे समय की आवृत्ति हैLoopDelay = 0; // यह Arduino पर पिन को TRIG और ECHO फ़ंक्शन असाइन करता है। यदि आप अलग-अलग कॉन्स इंट अल्ट्रासोनिक२ट्रिगपिन = ८; कॉन्स्ट इंट अल्ट्रासोनिक२इकोपिन = ९; इंट अल्ट्रासोनिक2डिस्टेंस; इंट अल्ट्रासोनिक 2 अवधि; // यह रोबोट के लिए दो संभावित स्थितियों को परिभाषित करता है: आगे बढ़ना या बाएं मुड़ना #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int State = DRIVE_FORWARD; // 0 = ड्राइव फॉरवर्ड (डिफॉल्ट), 1 = बाएं मुड़ें शून्य सेटअप () {Serial.begin (९६००); // ये सेंसर पिन कॉन्फ़िगरेशन पिनमोड (अल्ट्रासोनिक 2 ट्रिगपिन, आउटपुट); पिनमोड (अल्ट्रासोनिक 2 इकोपिन, इनपुट); // यह अरुडिनो पिनों को मोटर्स प्रदान करता है leftMotor.attach(12); राइटमोटर.अटैच(13); } शून्य लूप () {अगर (डिजिटल रीड (2) == हाई) // यह किल स्विच का पता लगाता है {जबकि (1) {बाएंमोटर। राइट (90); राइटमोटर.राइट (90); } } डिबगऑउटपुट (); // यह डिबगिंग संदेशों को सीरियल कंसोल पर प्रिंट करता है अगर (मिलिस () - टाइमलूपडेले> = लूपपीरियोड) {readUltrasonicSensors (); // यह सेंसर को मापी गई दूरी को पढ़ने और संग्रहीत करने का निर्देश देता है StateMachine (); टाइमलूपडेले = मिली (); } } void StateMachine() {if(state == DRIVE_FORWARD) // अगर कोई बाधा नहीं पाई गई {if(ultrasonic2Distance> 6 || अल्ट्रासोनिक2Distance < 0) // अगर रोबोट के सामने कुछ भी नहीं है। यदि कोई बाधा नहीं है तो कुछ अल्ट्रासोनिक्स के लिए अल्ट्रासोनिकडिस्टेंस नकारात्मक होगा {// आगे ड्राइव करें rightMotor.write(180); लेफ्टमोटर.राइट (0); } और // अगर हमारे सामने कोई वस्तु है { State = TURN_LEFT; } } और अगर (राज्य == TURN_LEFT) // यदि कोई बाधा पाई जाती है, तो बाएं मुड़ें { unsigned long timeToTurnLeft = 500; // 90 डिग्री मुड़ने में लगभग.5 सेकंड का समय लगता है। आपको इसे समायोजित करने की आवश्यकता हो सकती है यदि आपके पहिये अहस्ताक्षरित लंबे टर्नस्टार्टटाइम = मिली (); // उस समय को बचाएं जिसे हमने मोड़ना शुरू किया था ((मिलिस () - टर्नस्टार्टटाइम) <timeToTurnLeft) // इस लूप में तब तक बने रहें जब तक कि समय समाप्त नहीं हो जाता {// बाएं मुड़ें, याद रखें कि जब दोनों "180" पर सेट होते हैं तो यह मुड़ जाएगा. राइटमोटर.राइट (180); लेफ्टमोटर.राइट (180); } राज्य = DRIVE_FORWARD; } } शून्य readUltrasonicSensors() {// यह अल्ट्रासोनिक 2 के लिए है। यदि आप एक अलग सेंसर का उपयोग करते हैं तो आपको इन आदेशों को बदलने की आवश्यकता हो सकती है। digitalWrite (अल्ट्रासोनिक 2 ट्रिगपिन, हाई); देरीमाइक्रोसेकंड(10); // कम से कम 10 माइक्रोसेकंड के लिए ट्रिगर पिन को उच्च रखता है digitalWrite(ultrasonic2TrigPin, LOW); अल्ट्रासोनिक 2 अवधि = पल्सइन (अल्ट्रासोनिक 2 इकोपिन, हाई); अल्ट्रासोनिक2Distance = (अल्ट्रासोनिक2Duration/2)/29; } // निम्नलिखित कंसोल में डिबगिंग त्रुटियों के लिए है। शून्य डिबगऑटपुट () { अगर ((मिली () - टाइमसेरियलडेल)> सीरियलपीरियोड) {सीरियल.प्रिंट ("अल्ट्रासोनिक 2 डिस्टेंस:"); सीरियल.प्रिंट (अल्ट्रासोनिक2डिस्टेंस); सीरियल.प्रिंट ("सेमी"); सीरियल.प्रिंट्लन (); टाइमसेरियलडेल = मिली (); } }