विषयसूची:

जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2: 11 चरण
जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2: 11 चरण

वीडियो: जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2: 11 चरण

वीडियो: जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2: 11 चरण
वीडियो: Vir vs Dangerous Seven Part 02 - Vir 2024, जुलाई
Anonim
जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2
जिओ मॉड्यूल के साथ रोबोटिक आर्म भाग 2

आज के ट्यूटोरियल में, हम रोबोटिक आर्म को नियंत्रित करने के लिए सभी 4 सर्वो और एक PS2 वायरलेस कंट्रोलर का उपयोग करेंगे।

यह ब्लॉग पोस्ट जिओ रोबोटिक्स सीरीज का हिस्सा है।

परिचय

अपने पिछले ब्लॉग में, हमने ज़िओ मॉड्यूल का उपयोग करके रोबोटिक आर्म को नियंत्रित करने के तरीके पर भाग 1 ट्यूटोरियल पोस्ट किया था। भाग 1 ज्यादातर आपके रोबोटिक आर्म के पंजे को खोलने और बंद करने के लिए स्वचालित रूप से नियंत्रित करने पर केंद्रित है।

आज के ट्यूटोरियल में, हम रोबोटिक आर्म को नियंत्रित करने के लिए PS2 वायरलेस कंट्रोलर को शामिल करके इसे थोड़ा ऊपर उठाएंगे। इस परियोजना के लिए, हम 4 सर्वो का उपयोग करेंगे।

चरण 1: परियोजना अवलोकन

कठिनाई स्तर:

जिओ पदावन

सहायक संसाधन:

आपको जिओ डेवलपमेंट बोर्ड कैसे स्थापित करें, इसकी बुनियादी समझ होनी चाहिए। इस ट्यूटोरियल में, हम मानते हैं कि आपका विकास बोर्ड पहले से ही कॉन्फ़िगर किया गया है और सेट होने के लिए तैयार है। यदि आपने अभी तक अपना बोर्ड कॉन्फ़िगर नहीं किया है, तो आरंभ करने के लिए नीचे हमारा Zio Qwiic Start Guide ट्यूटोरियल देखें:

जिओ ज़ुइनो एम यूएनओ क्विक स्टार्ट गाइड

चरण 2: स्कीमैटिक्स

schematics
schematics

यहां रोबोटिक आर्म पार्ट 2 प्रोजेक्ट के वायरिंग स्कैमैटिक्स के साथ-साथ आपके कोडिंग भाग को समझने के लिए PS2 कंट्रोलर आरेख की आवश्यकता है।

चरण 3: PS2 नियंत्रक आरेख

PS2 नियंत्रक आरेख
PS2 नियंत्रक आरेख

चरण 4: जिओ मॉड्यूल कनेक्शन सेट अप

रोबोटिक आर्म के साथ स्थापित किए जाने वाले हमारे जिओ मॉड्यूल का कनेक्शन नीचे दिया गया है। सभी मॉड्यूल को एक साथ जोड़ना बहुत आसान है और इसे सेट होने में 10 मिनट से अधिक समय नहीं लगेगा।

चरण 5: रोबोटिक आर्म सर्वो को जिओ 16 सर्वो कंट्रोलर से कनेक्ट करें

रोबोटिक आर्म सर्वो को जिओ 16 सर्वो कंट्रोलर से कनेक्ट करें
रोबोटिक आर्म सर्वो को जिओ 16 सर्वो कंट्रोलर से कनेक्ट करें

चरण 6: अपने 16 सर्वो को DC/DC बूस्टर से कनेक्ट करें और इसे 6.0V पर सेट करें।

अपने 16 सर्वो को DC/DC बूस्टर से कनेक्ट करें और इसे 6.0V पर सेट करें।
अपने 16 सर्वो को DC/DC बूस्टर से कनेक्ट करें और इसे 6.0V पर सेट करें।

हम बैटरी आपूर्ति वोल्टेज को 6.0 तक बढ़ाने और समायोजित करने के लिए डीसी/डीसी बूस्टर का उपयोग करते हैं।

जब तक आप 6.0 प्राप्त नहीं कर लेते तब तक वोल्टेज को समायोजित करने के लिए डीसी बूस्टर पर पोटेंशियोमीटर का उपयोग करें। इन/आउट बटन को तब तक पुश करें जब तक डिस्प्ले 6.0 न दिखाए। वोल्टेज को समायोजित करने के लिए आपको पहले अपने डीसी/डीसी बूस्टर को बिजली (3.7 वी बैटरी) की आपूर्ति करने की आवश्यकता है।

चरण 7: Zuino M Uno को Zio 16 सर्वो कंट्रोलर से कनेक्ट करें

Zuino M Uno को Zio 16 सर्वो कंट्रोलर से कनेक्ट करें
Zuino M Uno को Zio 16 सर्वो कंट्रोलर से कनेक्ट करें

Qwiic, Zuino M Uno को qwiic केबल के साथ Zio सर्वो कंट्रोलर से कनेक्ट करें।

चरण 8: Uno को PS2 रिसीवर से जोड़ना

Uno को PS2 रिसीवर से कनेक्ट करना
Uno को PS2 रिसीवर से कनेक्ट करना

यहाँ कनेक्शन का एक पिन आरेख है। इस भाग के लिए आपको 5 पुरुष से महिला जम्पर तारों की आवश्यकता है।

चरण 9: रोबोटिक आर्म के लिए कोड

हम अपने रोबोटिक आर्म के साथ काम करने के लिए अपने PS2 वायरलेस कंट्रोलर को कोड करने के लिए PS2 Arduino लाइब्रेरी का उपयोग करेंगे। आप हमारे जीथब पेज पर इस रोबोटिक आर्म पार्ट 2 प्रोजेक्ट के लिए सोर्स कोड ढूंढ और डाउनलोड कर सकते हैं।

निम्नलिखित पुस्तकालयों को डाउनलोड और स्थापित करें और इसे अपने स्थानीय Arduino IDE पुस्तकालय फ़ोल्डर में सहेजें:

  • एडफ्रूट पीडब्लूएम सर्वो ड्राइवर लाइब्रेरी
  • PS2 Arduino लाइब्रेरी

पुस्तकालयों को स्थापित करने के लिए अपना Arduino IDE खोलें, स्केच टैब पर जाएं, लाइब्रेरी शामिल करें -> Add. Zip लाइब्रेरी चुनें। अपने आईडीई में शामिल करने के लिए उपरोक्त पुस्तकालयों का चयन करें।

Arduino के पास आपके Arduino IDE में पुस्तकालयों को स्थापित करने के तरीके के बारे में एक आसान मार्गदर्शिका है। उन्हें यहाँ देखें!

चरण 10: अपना कोड चलाएँ

अपना कोड चलाएं
अपना कोड चलाएं

Arduino IDE खोलें। फ़ाइलें > उदाहरण > PS2_Arduino_Library के अंतर्गत, PS2X_Servo चुनें

नोट: इससे पहले कि आप PS2 नियंत्रक के साथ अपने रोबोटिक हाथ को नियंत्रित कर सकें, निम्न चरणों की जाँच करें: अपने PS2 नियंत्रक को चालू करें। जांचें कि मोड एलईडी रोशनी करता है। यदि ऐसा नहीं होता है, तो अपने नियंत्रक पर मोड बटन दबाएं। उपरोक्त करने के बाद, आपको अपने नियंत्रक सेटिंग्स को पढ़ने के लिए अपने Zuino M Uno पर रीसेट बटन को दबाने की आवश्यकता है। अपनी रोबोटिक भुजा को हिलाने के लिए आपको L1 और जॉयस्टिक को दबाना होगा।

  • बायां जॉयस्टिक हाथ के ऊपर या नीचे झुकने को नियंत्रित करता है
  • दायां जॉयस्टिक पंजे को या तो खोलने या बंद करने और पंजे को बाईं या दाईं ओर घुमाने के लिए नियंत्रित करता है।

चरण 11: कोड स्पष्टीकरण

PS2X Arduino लाइब्रेरी का उपयोग सरल है, इसके लिए केवल एक इनिशियलाइज़ेशन, एक सेटअप और फिर एक रीड कमांड की आवश्यकता होती है।

अपने PS2 नियंत्रक के लिए अपने Uno के साथ कनेक्शन सेट करने के लिए, नीचे वे पिन हैं जिन्हें आपको अपने कोड में परिभाषित करने की आवश्यकता है:

/********************************* **************** PS2 नियंत्रक से जुड़े पिन सेट करें: * - 1e कॉलम: मूल * - 2e colmun: Stef? * पिन नंबरों को आपके द्वारा उपयोग किए जाने वाले से बदलें************** *********/# PS2_DAT 13 को परिभाषित करें //14 #PS2_CMD 11 को परिभाषित करें //15#PS2_SEL 10 को परिभाषित करें //16#PS2_CLK 12 को परिभाषित करें // 17

हमने उन पिनों को बदल दिया है जिनका उपयोग हम अपने Uno से कनेक्ट करने के लिए करते हैं जैसा कि ऊपर दिए गए पिन आरेख में बताया गया है।

/********************************* **************** PS2 नियंत्रक के मोड का चयन करें: * - दबाव = पुश-बटनों का एनालॉग रीडिंग * - गड़गड़ाहट = मोटर रंबलिंग * प्रत्येक मोड चयन के लिए लाइनों की 1 असम्बद्धता ** *************************************************** ************/ //#दबावों को सही परिभाषित करें#दबावों को गलत परिभाषित करें //#रंबल को सही परिभाषित करें#रंबल को गलत परिभाषित करें

यहां हमने दबाव और गड़गड़ाहट के लिए PS2 मोड को गलत के रूप में परिभाषित किया है। हमने उन पर टिप्पणी की जिनका हम उपयोग नहीं करते हैं।

हम अपने रोबोटिक आर्म की गति को नियंत्रित करने के लिए केवल कंट्रोलर के जॉयस्टिक कमांड और L1 का उपयोग करेंगे।

शून्य लूप () {/* नए मान प्राप्त करने और कंपन मान सेट करने के लिए आपको गेमपैड पढ़ना चाहिए ps2x.read_gamepad(छोटी मोटर चालू/बंद, 0-255 से बड़ी मोटर शक्ति) यदि आप गड़गड़ाहट को सक्षम नहीं करते हैं, तो ps2x.read_gamepad का उपयोग करें (); बिना किसी मूल्य के आपको इसे कम से कम एक बार एक सेकंड में कॉल करना चाहिए */अगर (त्रुटि == 1) // यदि कोई नियंत्रक वापस नहीं मिला तो लूप छोड़ें; और {// डुअलशॉक कंट्रोलर ps2x.read_gamepad (झूठा, कंपन); // कंट्रोलर पढ़ें और बड़ी मोटर को 'वाइब्रेट' स्पीड पर स्पिन करने के लिए सेट करें अगर(ps2x. Button(PSB_START))//जब तक बटन दबाया जाता है तब तक TRUE रहेगा Serial.println ("स्टार्ट हो रहा है"); if(ps2x. Button(PSB_SELECT)) Serial.println ("चयन किया जा रहा है"); कंपन = ps2x.एनालॉग (PSAB_CROSS); // यह बड़ी मोटर कंपन गति को इस आधार पर सेट करेगा कि आप नीले (X) बटन को कितनी मेहनत से दबाते हैं if(ps2x. Button(PSB_L1) || ps2x. Button(PSB_R1)) {// स्टिक मान प्रिंट करें यदि या तो TRUE RY_Value है =ps2x.एनालॉग (PSS_RY); RX_Value = ps2x.एनालॉग (PSS_RX); LY_Value=ps2x.एनालॉग (PSS_LY); LX_Value=ps2x. Analog(PSS_LX);Serial.print("स्टिक मान:"); सीरियल.प्रिंट (RX_Value); सीरियल.प्रिंट (""); सीरियल.प्रिंट (RY_Value); सीरियल.प्रिंट (""); सीरियल.प्रिंट (LY_Value); सीरियल.प्रिंट (""); Serial.println (LX_Value);

नीचे दिया गया कोड वह है जहां हम अपने सर्वो को कोड करते हैं जो हमारे रोबोटिक आर्म को नियंत्रित करते हैं जिसे हम ps2x.button(PSB_L1)|| के तहत फ़ंक्शन कॉल में शामिल करते हैं। ps2x.बटन (PSB_R1)।

अपने रोबोटिक आर्म को नियंत्रित करने के लिए आपको जॉयस्टिक के साथ L1 या R1 बटन को एक साथ दबाना होगा।

आर्म पार्ट के लिए लेफ्ट जॉयस्टिक कंट्रोल सर्वो 2 और 3 - क्रमशः आर्म के ऊपर और नीचे झुकने को नियंत्रित करता है, जबकि राइट जॉयस्टिक रोबोटिक आर्म के क्लॉ के 0 और 1 को खोलने या बंद करने और बाएं या दाएं घुमाने के लिए नियंत्रित करता है।

सर्वो 0, 1 - क्लॉ सर्वो 2, 3 - आर्म

आप अपने रोबोटिक आर्म एंगल की डिग्री को नियंत्रित करने के लिए इस सेक्शन में मानों में बदलाव कर सकते हैं:

pulselen0=map(RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1=map(RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2=map(LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); Pullen3=map(LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

सिफारिश की: