विषयसूची:
- आपूर्ति
- चरण 1: 3डी प्रिंट: बॉडी, व्हील्स, मार्बल कॉस्टर, 6 मिमी बोल्ट/नट, और अल्ट्रासोनिक सेंसर माउंट
- चरण 2: Arduino को प्रोग्राम करें
- चरण 3: रोबोट को इकट्ठा करें
- चरण 4: सेंसर तार संलग्न करें
- चरण 5: समाप्त !!! 9V Arduino बिजली की आपूर्ति कनेक्ट करें, बैटरी पैक चालू करें, और OAREEE के साथ बाधाओं से बचना शुरू करें
वीडियो: OAREEE - 3D Printed - Arduino के साथ इंजीनियरिंग शिक्षा (OAREE) के लिए बाधा से बचने वाला रोबोट: 5 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
OAREEE (इंजीनियरिंग शिक्षा के लिए बाधा से बचने वाला रोबोट)
डिज़ाइन: इस निर्देश का लक्ष्य एक OAR (ऑब्स्टैकल अवॉइडिंग रोबोट) रोबोट को डिज़ाइन करना था जो सरल / कॉम्पैक्ट था, 3D प्रिंट करने योग्य, इकट्ठा करने में आसान, आंदोलन के लिए निरंतर रोटेशन सर्वो का उपयोग करता है, और जितना संभव हो उतने खरीदे गए हिस्से हैं। मेरा मानना है कि मैं इस भयानक रोबोट को बनाने में सफल रहा हूं और इसका नाम ओएआरईई (ऑब्स्टैकल अवॉइडिंग रोबोट फॉर इंजीनियरिंग एजुकेशन) रखा है। यह रोबोट बाधाओं को महसूस करेगा, रुकेगा, बाएँ और दाएँ देखेगा, फिर अबाधित दिशा में मुड़ेगा और आगे बढ़ता रहेगा।
पृष्ठभूमि: रोबोट से बचने के लिए इंटरनेट में कई बाधाएं हैं, लेकिन अधिकांश भारी, इकट्ठा करना कठिन और महंगी हैं। इनमें से कई रोबोटों में Arduino कोड की आपूर्ति की गई है, लेकिन एक सुविचारित, कार्यशील उदाहरण खोजना मुश्किल था। मैं पहियों (डीसी मोटर्स के बजाय) के लिए निरंतर रोटेशन सर्वो का उपयोग करना चाहता था, जो अभी तक नहीं किया गया था। इसलिए, मैंने दुनिया के साथ साझा करने के लिए एक कॉम्पैक्ट, आविष्कारशील ओएआर रोबोट विकसित करने के लिए एक मिशन शुरू किया।
आगे का विकास: बेहतर पिंगिंग सटीकता के लिए इस रोबोट को और विकसित किया जा सकता है, लाइन निम्नलिखित क्षमता के लिए आईआर सेंसर जोड़ना, बाधा दूरी प्रदर्शित करने के लिए एलसीडी स्क्रीन, और बहुत कुछ।
आपूर्ति
- 1x Arduino Uno -
- 1x V5 सेंसर शील्ड -
- ऑन/ऑफ स्विच के साथ 1x 4xAA बैटरी होल्डर -
- 1x SG90 सर्वो -
- 2x सतत रोटेशन सर्वो -
- Arduino के लिए 1x 9V बैटरी पावर केबल (वैकल्पिक) -
- 1x HC-SR04 अल्ट्रासोनिक सेंसर -
- 4x महिला-महिला जम्पर तार -
- 2x रबर बैंड
- 1x 9वी बैटरी (वैकल्पिक)
- 4x एए बैटरी
- 4x छोटे पेंच (4 x 1/2 या ऐसा ही कुछ)
- फिलिप्स पेचकश
- पहियों को रबर बैंड सुरक्षित करने के लिए गोंद
चरण 1: 3डी प्रिंट: बॉडी, व्हील्स, मार्बल कॉस्टर, 6 मिमी बोल्ट/नट, और अल्ट्रासोनिक सेंसर माउंट
3डी प्रिंट के 5 भाग होते हैं।
- शरीर
- पहियों
- संगमरमर ढलाईकार
- 6 मिमी बोल्ट/अखरोट (वैकल्पिक, एक धातु अखरोट/बोल्ट प्रतिस्थापित किया जा सकता है)
- अल्ट्रासोनिक सेंसर माउंट
इस निर्देशयोग्य के साथ-साथ स्केचअप फ़ाइलों में सभी आवश्यक. STL फ़ाइलें शामिल हैं। 40% infill की सिफारिश की।
चरण 2: Arduino को प्रोग्राम करें
Arduino UNO को कोड भेजें: Arduino IDE का उपयोग करके, अपने Arduino मॉड्यूल को कोड (संलग्न फ़ाइल में) भेजें। आपको इस स्केच के साथ सर्वो.एच और न्यूपिंग.एच पुस्तकालयों को डाउनलोड और शामिल करना होगा।
कोड पर पूरी तरह से टिप्पणी की गई है, ताकि आप देख सकें कि प्रत्येक आदेश क्या करता है। आप चाहें तो अल्ट्रासोनिक सेंसर की दूरी को बड़े या छोटे मान में आसानी से बदल सकते हैं। यह एक प्रारंभिक कोड है और इसका विस्तार और आगे परियोजना विकास के लिए उपयोग किया जाना है।
// रोबोट से बचने के लिए बाधा // जेफरसनड्रुम@gmail.com, [email protected], चट्टानूगा में TN विश्वविद्यालय, इलेक्ट्रिकल इंजीनियरिंग, FALL 2019 // आवश्यक सामग्री: // 1) Arduiino UNO, 2) सर्वो सेंसर शील्ड v5.0, 3) HCSR04 अल्ट्रासोनिक सेंसर, 4) FS90 सर्वो (अल्ट्रासोनिक सेंसर के लिए) // 5 और 6) पहियों के लिए 2x CONTINUOUS ROTATION SERVOS // 7) रियर कैस्टर पिवट के लिए 16 मिमी मार्बल, 8 और 9) पहियों के लिए 2 रबरबैंड // 10- 15) 1x (4xAA) बैटरी होल्डर ऑन/ऑफ स्विच के साथ, 16 और 17) 9V बैटरी पावर Arduino UNO // 3D PRINT: // 18) रोबोट बॉडी, 19 और 20) 2x व्हील्स, 21) मार्बल कॉस्टर, 22) अल्ट्रासोनिक सेंसर माउंट, और 6 मिमी स्क्रू (संलग्न फ़ाइलें देखें) //------------------------------------- -------------------------------------------------- ---------------------------------------- #शामिल करें // सर्वो लाइब्रेरी शामिल करें #शामिल करें // न्यूपिंग लाइब्रेरी शामिल करें //------------------------------------------ -------------------------------------------------- ---------------------------------------- #TRIGGER_PIN 1 परिभाषित करें 2 // Arduino पर 12 पिन करने के लिए US ट्रिगर #define ECHO_PIN 13 // US Echo to pin 13 Arduino पर #define MAX_DISTANCE 250 // पिंग से दूरी (अधिकतम 250 है) int दूरी = 100; //------------------------------------------------ -------------------------------------------------- ----------------------------- सर्वो US_Servo; // अल्ट्रासोनिक सेंसर सर्वो सर्वो लेफ्ट_सर्वो; // लेफ्ट व्हील सर्वो सर्वो राइट_सर्वो; // राइट व्हील सर्वो न्यूपिंग सोनार (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // पिन और अधिकतम दूरी का न्यूपिंग सेटअप। //------------------------------------------------ -------------------------------------------------- ----------------------------- शून्य सेटअप () // इनपुट / आउटपुट, जहां संलग्न करना है, प्रारंभिक स्थिति / आंदोलन सेट करें {पिनमोड (12, आउटपुट); // आउटपुट पिनमोड (13, INPUT) के रूप में ट्रिगर पिन सेट; // इको पिन इनपुट US_Servo.attach(11) के रूप में सेट; // यूएस सर्वो ने 11 US_Servo.write(90) को पिन करने के लिए सेट किया; // यूएस सर्वो आगे दिखता है
लेफ्ट_सर्वो.अटैच(9); // बायां पहिया सर्वो पिन करने के लिए 9
वाम_सर्वो.लिखें (९०); // बायां पहिया सर्वो स्टॉप पर सेट है
राइट_सर्वो.अटैच(10); // राइट व्हील सर्वो 10. पिन करने के लिए सेट
राइट_सर्वो.राइट (९०); // राइट व्हील सर्वो स्टॉप डिले (2000) पर सेट है; // 2 सेकंड के लिए प्रतीक्षा करें दूरी = रीडपिंग (); // सीधे आगे की स्थिति में देरी (100) पर पिंग दूरी प्राप्त करें; // 100 एमएस मूवफॉरवर्ड () के लिए प्रतीक्षा करें; // रोबोट आगे बढ़ता है } //------------------------------------------ -------------------------------------------------- ------------------------------------- शून्य लूप () {इंट डिस्टेंस राइट = 0; // यूएस डिस्टेंस टू राइट टू ० इंट डिस्टेंस लेफ्ट = ०; // यूएस दूरी को बाईं ओर 0 पर आरंभ करें //US_Servo.write(90); // केंद्र यूएस सर्वो // देरी (50); // US_Servo.write (70); // थोड़ा सही देखो // देरी (250); // US_Servo.write (110); // थोड़ा बाएं देखें // देरी (250); // US_Servo.write (९०); // लुक सेंटर
अगर (दूरी <= 20) // रोबोट आगे बढ़ रहा है {मूवस्टॉप (); // रोबोट दूरी पर रुकता है = दूरी लेफ्ट) // तय करें कि किस दिशा में मुड़ना है {टर्नराइट (); // दाईं ओर सबसे बड़ी दूरी है, रोबोट 0.3s देरी (500) के लिए दाएं मुड़ता है; // यह देरी टर्न लेंथ मूवस्टॉप () निर्धारित करती है; // रोबोट स्टॉप} और {टर्न लेफ्ट (); // बाईं ओर सबसे बड़ी दूरी, रोबोट 0.3s देरी (500) के लिए बाएं मुड़ता है; // यह देरी टर्न लेंथ मूवस्टॉप () निर्धारित करती है; // रोबोट बंद हो जाता है } } और { चाल आगे (); // रोबोट आगे बढ़ता है} दूरी = रीडपिंग (); // अमेरिका यात्रा की नई दिशा के लिए नई पिंग पढ़ता है } //------------------------------------- -------------------------------------------------- ------------------------------------------ इंट लुकराइट () // अल्ट्रासोनिक सेंसर लुक राइट फंक्शन {US_Servo.write(30); // यूएस सर्वो राइट टू एंगल डिले (500); इंट डिस्टेंस = रीडपिंग (); // सही देरी के लिए पिंग मान सेट करें (100); US_Servo.लिखें (९०); // यूएस सर्वो केंद्र वापसी दूरी की ओर जाता है; // दूरी निर्धारित है } //------------------------------------------ -------------------------------------------------- ------------------------------------- इंट लुकलेफ्ट () // अल्ट्रासोनिक सेंसर लुक लेफ्ट फंक्शन {US_Servo.लिखें (150); // यूएस सर्वो लेफ्ट टू एंगल डिले (500); इंट डिस्टेंस = रीडपिंग (); // बाएं विलंब (100) के लिए पिंग मान सेट करें; US_Servo.लिखें (९०); // यूएस सर्वो केंद्र वापसी दूरी की ओर जाता है; // दूरी निर्धारित है } //------------------------------------------ -------------------------------------------------- ------------------------------------- इंट रीडपिंग () // अल्ट्रासोनिक सेंसर के लिए पिंग फंक्शन पढ़ें। {देरी (100); // पिंग्स के बीच 100ms (न्यूनतम पिंग समय = 0.29ms) int cm = sonar.ping_cm(); // पिंग दूरी इकट्ठी की जाती है और सेमी में सेट की जाती है अगर (सेमी == 0) { सेमी = २५०; } वापसी सेमी; }//------------------------------------------- -------------------------------------------------- --------------------------------- शून्य चाल रोकें () // रोबोट रोकें {बाएं_सर्वो.लिखें (९०); // लेफ्टसर्वो 180 फॉरवर्ड, 0 रिवर्स राइट_सर्वो.राइट (90); // राइट सर्वो 0 फॉरवर्ड, 180 रिवर्स} //------------------------------------------ -------------------------------------------------- ---------------------------------------- शून्य चाल आगे () // रोबोट आगे {बाएं_सर्वो.लिखें (180); // लेफ्टसर्वो 180 फॉरवर्ड, 0 रिवर्स राइट_सर्वो.राइट (0); // राइट सर्वो 0 फॉरवर्ड, 180 रिवर्स} //------------------------------------------ -------------------------------------------------- ---------------------------------------- शून्य चाल पीछे की ओर () // रोबोट पीछे की ओर {बाएं_सर्वो.लिखें (0); // लेफ्टसर्वो १८० फॉरवर्ड, ० रिवर्स राइट_सर्वो.राइट (१८०); // राइटसर्वो 0 फॉरवर्ड, 180 रिवर्स} //------------------------------------------ -------------------------------------------------- ---------------------------------------- शून्य टर्नराइट () // रोबोट राइट {लेफ्ट_सर्वो.लिखें (180); // लेफ्टसर्वो १८० फॉरवर्ड, ० रिवर्स राइट_सर्वो.राइट (९०); // राइट सर्वो 0 फॉरवर्ड, 180 रिवर्स} //------------------------------------------ -------------------------------------------------- ---------------------------------------- शून्य टर्नलेफ्ट () // रोबोट बाएं {बाएं_सर्वो.लिखें (९०); // लेफ्टसर्वो 180 फॉरवर्ड, 0 रिवर्स राइट_सर्वो.राइट (0); // राइटसर्वो 0 फॉरवर्ड, 180 रिवर्स} //------------------------------------------ -------------------------------------------------- ----------------------------------------
चरण 3: रोबोट को इकट्ठा करें
अब अपने रोबोट को एक साथ रखने का समय आ गया है। चरण नीचे सूचीबद्ध हैं।
1) पहियों पर राउंड सर्वो डिस्क और रबर बैंड संलग्न करें: सभी सर्वो प्लास्टिक माउंटिंग हार्डवेयर और स्क्रू के साथ आते हैं। गोल डिस्क ढूंढें, और उन्हें पहियों के सपाट हिस्से पर दो छेदों में पेंच करें। रबर बैंड पकड़ प्रदान करने के लिए पहिया के चारों ओर फिट होते हैं। रबर बैंड को जगह पर रखने के लिए आप थोड़ा गोंद जोड़ना चाह सकते हैं।
2) मार्बल कॉस्टर अटैचमेंट: मार्बल कॉस्टर को पीछे के दो त्रिकोणों से जोड़ने के लिए दो छोटे स्क्रू का उपयोग करें। मार्बल कॉस्टर एक रियर व्हील के लिए एक साधारण प्रतिस्थापन है और एक रियर पिवट पॉइंट प्रदान करता है।
3) सर्वो को स्लॉट में डालें (कोई स्क्रू आवश्यक नहीं): FS90 सर्वो (अल्ट्रासोनिक सेंसर के लिए) को शरीर के सामने वाले स्लॉट में रखें। दो निरंतर रोटेशन सर्वो बाएं और दाएं स्लॉट में स्लाइड करते हैं। स्लॉट्स को कसकर फिट करने के लिए डिज़ाइन किया गया है, ताकि सर्वो को रखने के लिए किसी स्क्रू की आवश्यकता न हो। सुनिश्चित करें कि सर्वो तार स्लॉट्स में खांचे के माध्यम से चलते हैं ताकि वे शरीर के पीछे की ओर हो।
4) 9वी बैटरी प्लेसमेंट (वैकल्पिक): 9वी बैटरी + अरुडिनो पावर कनेक्टर को फ्रंट सर्वो के पीछे रखें।
5) अल्ट्रासोनिक सेंसर माउंट असेंबली: शामिल सफेद प्लास्टिक सर्वो संलग्नक में से एक को अल्ट्रासोनिक सेंसर माउंट प्लेट के नीचे संलग्न करने के लिए दो छोटे स्क्रू का उपयोग करें। इसके बाद, माउंट प्लेट में अल्ट्रासोनिक सेंसर केस संलग्न करने के लिए 3डी प्रिंटेड 6 मिमी बोल्ट/नट (या धातु बोल्ट/नट को प्रतिस्थापित करें) का उपयोग करें। अंत में, सेंसर को केस में ऊपर की ओर पिन करके रखें और केस के पिछले हिस्से में स्नैप करें।
6) 4x AA बैटरी केस: AA बैटरी केस को बड़े आयताकार क्षेत्र में रखें, जिसमें ऑन/ऑफ स्विच पीछे की ओर हो।
7) Arduino Uno + V5 Sensor Shield: Arduino को शील्ड संलग्न करें और बैटरी केस के ऊपर माउंट पर रखें। पावर कनेक्टर का सामना बाईं ओर होना चाहिए।
आपका रोबोट बनाया गया है! क्या बाकि है? Arduino और कनेक्टिंग जम्पर तारों की प्रोग्रामिंग: सर्वो, अल्ट्रासोनिक सेंसर, और बिजली की आपूर्ति।
चरण 4: सेंसर तार संलग्न करें
सर्वो तारों को V5 शील्ड से कनेक्ट करें:
- लेफ्ट कंटीन्यूअस रोटेशन सर्वो पिन 9. से जुड़ता है
- राइट कंटीन्यूअस रोटेशन सर्वो पिन 10. से जुड़ता है
- फ्रंट FS90 सर्वो पिन 11 से जुड़ता है
अल्ट्रासोनिक सेंसर पिन (4x महिला से महिला जम्पर तारों के माध्यम से) को V5 शील्ड से कनेक्ट करें:
- पिन के लिए ट्रिगर 12
- पिन से गूंजें 13
- 'V' से चिह्नित किसी भी पिन का VCC
- 'G' से चिह्नित किसी भी पिन को ग्राउंड करें
AA बैटरी केस को V5 शील्ड से कनेक्ट करें:
- वीसीसी कनेक्टर में सकारात्मक, लाल तार संलग्न करें
- ग्राउंड कनेक्ट में नेगेटिव, ब्लैक वायर अटैच करें
चरण 5: समाप्त !!! 9V Arduino बिजली की आपूर्ति कनेक्ट करें, बैटरी पैक चालू करें, और OAREEE के साथ बाधाओं से बचना शुरू करें
ख़त्म होना!
1) 9V Arduino बिजली की आपूर्ति (वैकल्पिक) कनेक्ट करें
2) बैटरी पैक चालू करें
3) OAREEE के साथ बाधाओं से बचना शुरू करें !!!
मुझे यकीन है कि आप अपने नए दोस्त, OAREEE के शौकीन हो जाएंगे, इसे एक बाधा महसूस करने, बैक अप लेने और दिशा बदलने के बाद। OAREEE बड़ी वस्तुओं के साथ सबसे अच्छा काम करता है जिसे अल्ट्रासोनिक सेंसर (दीवारों की तरह) बंद कर सकता है। उनके छोटे सतह क्षेत्र और कोनों के कारण कुर्सी के पैरों जैसी छोटी वस्तुओं को पिंग करने में कठिन समय होता है। कृपया साझा करें, आगे विकसित करें, और मुझे किसी भी आवश्यक समायोजन या त्रुटियों के बारे में बताएं। यह एक बहुत अच्छा सीखने का अनुभव रहा है और मुझे आशा है कि आपको इस परियोजना को बनाने में उतना ही मज़ा आया होगा जितना मैंने किया था!
रोबोटिक्स प्रतियोगिता में उपविजेता
सिफारिश की:
लेगो रोबोट से बचने में बाधा: 8 कदम (चित्रों के साथ)
लेगो रोबोट से बचने में बाधा: हम लेगो से प्यार करते हैं और हम क्रेजी सर्किट से भी प्यार करते हैं इसलिए हम दोनों को एक सरल और मजेदार रोबोट में जोड़ना चाहते थे जो दीवारों और अन्य वस्तुओं में दौड़ने से बच सके। हम आपको दिखाएंगे कि हमने अपना निर्माण कैसे किया, और आवश्यक बुनियादी बातों की रूपरेखा तैयार की ताकि आप अपना खुद का निर्माण कर सकें।
बाधा से बचने वाला रोबोट (Arduino): 8 कदम (चित्रों के साथ)
बाधा से बचने वाला रोबोट (Arduino): यहाँ मैं आपको Arduino पर आधारित एक बाधा से बचने वाला रोबोट बनाने के बारे में निर्देश देने जा रहा हूँ। मुझे उम्मीद है कि इस रोबोट को बहुत आसान तरीके से बनाने के लिए स्टेप बाय स्टेप गाइड करेंगे। रोबोट से बचने में एक बाधा पूरी तरह से स्वायत्त रोबोट है जो किसी भी तरह की बाधाओं से बचने में सक्षम हो सकता है
बाधा से बचने वाला रोबोट: 5 कदम
बाधा से बचने वाला रोबोट: रोबोटिक्स में, बाधा से बचाव गैर-चौराहे या गैर-टकराव स्थिति बाधाओं के अधीन कुछ नियंत्रण उद्देश्य को संतुष्ट करने का कार्य है। इसमें एक सोनार सेंसर है जो रोबोट के रास्ते में आने वाली बाधाओं को भांप लेता है।
एक प्रभावशाली लकड़ी के रोबोट आर्म को कैसे असेंबल करें (भाग 2: बाधा से बचने के लिए रोबोट) - माइक्रो पर आधारित: बिट: 3 चरण
एक प्रभावशाली लकड़ी के रोबोट आर्म को कैसे असेंबल करें (भाग 2: बाधा से बचने के लिए रोबोट) - माइक्रो पर आधारित: बिट: पहले हमने आर्मबिट को लाइन-ट्रैकिंग मोड में पेश किया था। अगला, हम परिचय देते हैं कि बाधा मोड से बचने के लिए आर्मबिट कैसे स्थापित करें
एक व्यक्तित्व के साथ बाधा से बचने वाला रोबोट !: 7 कदम (चित्रों के साथ)
एक व्यक्तित्व के साथ बाधा से बचने वाला रोबोट!: अधिकांश रोमिंग 'बॉट्स के विपरीत, यह वास्तव में इस तरह से घूमता है कि यह वास्तव में' सोच रहा है! एक बेसिक स्टाम्प माइक्रोकंट्रोलर (बेसिक एटम, लंबन बेसिक स्टैम्प, कोरिडियम स्टैम्प, आदि) के साथ, किसी प्रकार का चेसिस, कुछ सेंसर, और कुछ एस