- सामग्री की आवश्यकता:
- लाइन फॉलोअर की अवधारणा
- सर्किट आरेख और स्पष्टीकरण:
- प्रोग्रामिंग पीआईसी माइक्रोकंट्रोलर:
- कार्रवाई में PIC लाइन अनुयायी:
एक लाइन फॉलोअर रोबोट अधिकांश छात्रों / शौकियों के निर्माण के लिए एक सरल लेकिन आकर्षक रोबोट है। इस ट्यूटोरियल में हम सीखेंगे कि एक लाइन फॉलोअर रोबोट कैसे काम करता है और हम PIC माइक्रोकंट्रोलर PIC16F877A का उपयोग करके कैसे निर्माण कर सकते हैं । PIC16F877A माइक्रोचिप से 40-पिन वाला बहुउद्देशीय MCU है, हमने अपनी पूरी PIC ट्यूटोरियल श्रृंखला में इस IC का उपयोग किया है। यदि आप नए हैं, तो यहां आप इस आईसी के मूल और माइक्रोकंट्रोलर पर प्रोग्राम अपलोड करने के तरीके जानने के लिए इन पीआईसी ट्यूटोरियल पर एक नज़र डालना चाहते हैं। चूंकि हमने इस जानकारी को अपने ट्यूटोरियल में पहले ही शामिल कर लिया है इसलिए हम उन्हें नीचे दिए गए स्पष्टीकरण में छोड़ देंगे।
यदि आप रोबोटिक्स में रुचि रखते हैं तो आपको " लाइन फॉलोवर रोबोट " नाम से बहुत परिचित होना चाहिए । यह रोबोट सिर्फ सेंसर और मोटर्स की जोड़ी का उपयोग करके एक पंक्ति का पालन करने में सक्षम है। यह रोबोट आपको अनंत विकास के लिए जगह देता है और किवा (अमेज़ॅन वेयरहाउस रोबोट) जैसे रोबोट इसके लिए एक उदाहरण हैं। आप हमारे अन्य लाइन फॉलोअर रोबोट की भी जांच कर सकते हैं:
- 8051 माइक्रोकंट्रोलर का उपयोग कर लाइन फॉलोवर रोबोट
- Arduino का उपयोग कर लाइन अनुयायी रोबोट
- रास्पबेरी पाई का उपयोग कर लाइन अनुयायी रोबोट
सामग्री की आवश्यकता:
- PIC16F877A
- आईआर सेंसर (2Nos)
- डीसी गियर मोटर (2Nos)
- L293D मोटर चालक
- चेज़ (आप कार्डबोर्ड का उपयोग करके भी अपना निर्माण कर सकते हैं)
- पावर बैंक (कोई भी उपलब्ध बिजली स्रोत)
लाइन फॉलोअर की अवधारणा
लाइन फॉलोअर रोबोट आईआर सेंसर की मदद से एक लाइन को ट्रैक करने में सक्षम है। इस सेंसर में IR ट्रांसमीटर और IR रिसीवर है। IR ट्रांसमीटर (IR LED) प्रकाश संचारित करता है और रिसीवर (Photodiode) संचारित प्रकाश के वापस लौटने का इंतजार करता है। एक IR प्रकाश वापस तभी लौटेगा जब वह किसी सतह से परावर्तित होगा। जबकि, सभी सतहें एक IR प्रकाश को प्रतिबिंबित नहीं करती हैं, केवल सफेद रंग की सतह पूरी तरह से उन्हें प्रतिबिंबित कर सकती है और काली रंग की सतह पूरी तरह से उन्हें दिखाएगी जैसा कि नीचे दिए गए चित्र में दिखाया गया है। आईआर सेंसर मॉड्यूल के बारे में अधिक जानें यहां।
अब हम दो IR सेंसर का उपयोग करेंगे ताकि यह जांचा जा सके कि अगर रोबोट ट्रैक से हट जाता है तो रोबोट को ठीक करने के लिए लाइन और दो मोटरों के साथ ट्रैक करता है या नहीं। इन मोटर्स को उच्च वर्तमान की आवश्यकता होती है और द्वि-दिशात्मक होना चाहिए; इसलिए हम L293D जैसे मोटर ड्राइवर मॉड्यूल का उपयोग करते हैं। आईआर सेंसर से मूल्यों के आधार पर मोटर्स को निर्देश देने के लिए हमें PIC जैसे एक माइक्रोकंट्रोलर की भी आवश्यकता होगी । उसी का एक सरलीकृत ब्लॉक आरेख नीचे दिखाया गया है।
इन दोनों IR सेंसर को लाइन के दोनों ओर एक रखा जाएगा। यदि कोई भी सेंसर काली रेखा का पता नहीं लगा रहा है, तो वे PIC माइक्रोकंट्रोलर को नीचे दिखाए अनुसार मोटरों को आगे बढ़ने का निर्देश देते हैं
अगर लेफ्ट सेंसर ब्लैक लाइन पर आता है तो माइक्रोकंट्रोलर रोबोट को निर्देश देता है कि वह दाएं पहिए को घुमाकर बाएं मुड़ जाए।
अगर राइट सेंसर ब्लैक लाइन पर आता है तो माइक्रोकंट्रोलर रोबोट को बाएं व्हील को अकेले घुमाकर दाएं मुड़ने का निर्देश देता है।
यदि दोनों सेंसर काली रेखा पर आते हैं, तो रोबोट बंद हो जाता है।
इस तरह से रोबोट ट्रैक के बाहर जाने के बिना लाइन का पालन करने में सक्षम होगा। अब देखते हैं कि सर्किट और कोड कैसा दिखता है।
सर्किट आरेख और स्पष्टीकरण:
इस PIC आधारित लाइन फॉलोअर रोबोट के लिए पूरा सर्किट आरेख नीचे दिखाया गया है
सर्किट दो आईआर सेंसर और डीसी गियर मोटर्स की एक जोड़ी के साथ-साथ एक मोटर चालक मॉड्यूल को भी दिखाता है जैसा कि ऊपर दिखाया गया है। इस परियोजना में उपयोग किया जाने वाला मोटर चालक मॉड्यूल L293D है, हमें मोटर चालक की आवश्यकता होगी क्योंकि पीआईसी माइक्रोकंट्रोलर का आउटपुट पिन मोटरों को चलाने के लिए पर्याप्त चालू नहीं कर सकता है। इस मॉड्यूल को सीधे पावर स्रोत (5V) से संचालित किया जाएगा जैसा कि सर्किट में दिखाया गया है। मॉड्यूल में चार पिन (प्रत्येक मोटर के लिए दो) होते हैं जो मोटर्स की दिशा को नियंत्रित करने के लिए PIC से जुड़े होते हैं। हमारे पास दो IR सेंसर भी हैं जो PIC माइक्रोकंट्रोलर के इनपुट के रूप में कार्य करते हैं। ये सेंसर्स उच्च (1) जाएंगे यदि वे एक सफेद सतह पर हैं और एक काली सतह पर कम (0) जाएंगे। पूरा पिन कनेक्शन नीचे तालिका में चित्रित किया गया है।
एस.एन.ओ. |
से जुड़ा हुआ |
से जुड़ा |
1 |
आईआर सेंसर पिन बाहर छोड़ दिया |
RD2 (पिन 21) |
२ |
IR सेंसर पिन को राइट आउट करें |
RD3 (पिन 22) |
४ |
मोटर 1 चैनल एक पिन |
RC4 (पिन 23) |
५ |
मोटर 1 चैनल बी पिन |
RC5 (पिन 25) |
६ |
मोटर 2 चैनल एक पिन |
RC6 (पिन 26) |
। |
मोटर 2 चैनल बी पिन |
RC7 (पिन 27) |
वास्तविक हार्डवेयर में मैंने एक पॉवर बैंक का उपयोग किया है जो सीधे अपने USB पोर्ट के माध्यम से + 5V का आउटपुट देगा; इसलिए मैंने 7805 वोल्टेज नियामक को दरकिनार कर दिया है और उसी का उपयोग करके PIC, सेंसर और मोटर्स को संचालित किया है। आप एक नियामक के साथ एक 12V बैटरी का उपयोग कर सकते हैं जैसा कि सर्किट में दिखाया गया है।
प्रोग्रामिंग पीआईसी माइक्रोकंट्रोलर:
एक बार जब आप अपने हार्डवेयर के साथ तैयार हो जाते हैं तो प्रोग्रामिंग शुरू करने का समय आ जाता है। इस पीआईसी रेखा अनुयायी रोबोट परियोजना के पूरा कार्यक्रम इस पृष्ठ के अंत में दिया जाता है। हालांकि महत्वपूर्ण विखंडू नीचे दिए गए हैं।
निम्नलिखित पंक्तियों द्वारा I / O पिंस को प्रारंभ करें। 2 IR सेंसर पिन इनपुट के रूप में कार्य करते हैं और चार मोटर पिन आउटपुट पिन के रूप में कार्य करते हैं।
TRISD2 = 1; TRISD3 = 1; // बाथ आईआर सेंसर पिन को इनपुट TRISC4 = 0 के रूप में घोषित किया गया है; TRISC5 = 0; // मोटर 1 पिन आउटपुट TRISC6 = 0 के रूप में घोषित किया गया; TRISC7 = 0; // मोटर 2 पिन आउटपुट के रूप में घोषित किया गया
अब, हमें दोनों आईआर सेंसर की स्थिति को पढ़ना होगा और तदनुसार मोटर को नियंत्रित करना होगा। उदाहरण के लिए यदि दोनों सेंसर उच्च हैं (काली रेखा के नीचे नहीं आते हैं) तो हम दोनों मोटर्स को आगे बढ़ाते हैं जैसा कि नीचे दिए गए कार्यक्रम में दिखाया गया है।
if (RD2 == 1 && RD3 == 1) // दोनों सेंसर बाल्क लाइन से अधिक नहीं {RC4 = 0; RC5 = 1; // मोटर 1 आगे RC6 = 1; आरसी 7 = 0; // मोटर 2 आगे}
यदि बायीं संवेदक काली रेखा के ऊपर आता है तो हम मोटर 1 को पकड़कर और आगे की दिशा में मोटर 2 को घुमाकर दाएं मुड़ते हैं । इस प्रकार के मोड़ को विभेदक मोड़ कहा जाता है ।
अगर (RD2 == 0 && RD3 == 1) // लेफ्ट सेंसर ब्लैक लाइन के ऊपर है {RC4 = 1; RC5 = 1; // मोटर 1 स्टॉप RC6 = 1; आरसी 7 = 0; // मोटर 2 आगे}
इसी प्रकार, यदि दायां सेंसर काली रेखा के ऊपर आता है, तो बॉट को दूसरी मोटर को पकड़े हुए बाईं ओर मोड़ने के लिए बनाया गया है और पहली मोटर को आगे की दिशा में अकेले घुमाते हुए जैसा कि नीचे दिखाया गया है।
अगर (RD2 == 1 && RD3 == 0) // राइट सेंसर ब्लैक लाइन के ऊपर है {RC4 = 0; RC5 = 1; // मोटर 1 आगे RC6 = 1; आरसी 7 = 1; // मोटर 2 स्टॉप}
अंत में यदि दोनों सेंसर एक काली रेखा के नीचे आते हैं तो बॉट को रोकने का समय है । यह दोनों मोटरों के सभी पिनों को ऊँचा बनाकर किया जा सकता है। ऐसा करने का कोड नीचे दिखाया गया है
और // काली रेखा पर दोनों सेंसर {RC4 = 1; RC5 = 1; // मोटर 1 स्टॉप RC6 = 1; आरसी 7 = 1; // मोटर 2 स्टॉप}
यह कार्यक्रम तैयार है और PicKit जैसे किसी भी प्रोग्रामर का उपयोग करके PIC पर अपलोड किया जा सकता है।
कार्रवाई में PIC लाइन अनुयायी:
एक बार हार्डवेयर और कोड तैयार होने के बाद, कुछ कार्रवाई के लिए इसका समय। जैसा कि पहले मैंने बॉट को पावर करने के लिए एक पावर बैंक का उपयोग किया है, इसलिए मुझे बस इतना करना है कि पावर बैंक को बॉट से कनेक्ट करें जिसमें हार्डवेयर सेट और कोड पहले से अपलोड है।
PIC परफेक्ट बोर्ड हमारी PIC ट्यूटोरियल श्रृंखला के लिए बनाया गया था, जिसमें हमने PIC माइक्रोकंट्रोलर का उपयोग करना सीखा। आप MPLABX और XC8 का उपयोग करके उन PIC माइक्रोकंट्रोलर ट्यूटोरियल पर वापस जाना चाह सकते हैं यदि आप नहीं जानते कि पिकेट 3 का उपयोग करके किसी प्रोग्राम को कैसे जलाया जाए, क्योंकि मैं उन सभी बुनियादी जानकारी को छोड़ दूंगा।
अब, बस बॉट को एक ब्लैक लाइन पर लॉन्च करें और आपको लाइन का अनुसरण करते हुए इसे देखना चाहिए।
आगे पढ़े गए मामले में आपको शुरुआत में कुछ कठिनाइयों का सामना करना पड़ सकता है। यदि पहिए उलटे घूमते हैं, तो मोटर की ध्रुवता को इंटरचेंज करता है, जिसका पहिया विपरीत दिशा में घूम रहा है। यदि बॉट लाइन से भटकती है, तो आईआर सेंसर को इंटरचेंज करें और सभी अच्छे होने चाहिए।
बॉट का पूरा काम नीचे दिए गए वीडियो में पाया जा सकता है । आशा है कि आप इस परियोजना को पसंद करेंगे और कुछ इसी तरह के निर्माण का आनंद लेंगे। यदि आपको इसे काम करने में समस्या है तो आप इसे हल करने के लिए नीचे टिप्पणी अनुभाग में पोस्ट कर सकते हैं या तकनीकी सामग्री पर चर्चा करने के लिए हमारे मंचों का उपयोग कर सकते हैं।