- सामग्री की आवश्यकता:
- लाइन फॉलोअर की अवधारणा
- रास्पबेरी पाई लाइन अनुयायी रोबोट सर्किट आरेख और स्पष्टीकरण:
- अपने रास्पबेरी PI प्रोग्रामिंग:
- कार्रवाई में रास्पबेरी पाई लाइन अनुयायी:
जैसा कि हम सभी जानते हैं कि रास्पबेरी पाई एआरएम माइक्रोप्रोसेसर पर आधारित एक अद्भुत विकासशील मंच है। अपनी उच्च कम्प्यूटेशनल शक्ति और विकास विकल्पों के साथ यह इलेक्ट्रॉनिक्स शौकीनों या छात्रों के हाथों में अद्भुत काम कर सकता है। रास्पबेरी पाई के बारे में अधिक जानने के लिए और यह कैसे काम करता है, आइए हम रास्पबेरी पाई का उपयोग करके एक लाइन अनुयायी रोबोट बनाने की कोशिश करें ।
यदि आप रोबोटिक्स में रुचि रखते हैं तो आपको " लाइन फॉलोवर रोबोट " नाम से बहुत परिचित होना चाहिए । यह रोबोट सिर्फ सेंसर और मोटर्स की जोड़ी का उपयोग करके एक पंक्ति का पालन करने में सक्षम है। यह एक साधारण रोबोट बनाने के लिए रास्पबेरी पाई जैसे शक्तिशाली माइक्रोप्रोसेसर का उपयोग करने के लिए कुशल नहीं लग सकता है। लेकिन, यह रोबोट आपको अनंत विकास के लिए जगह देता है और किवा (अमेज़ॅन वेयरहाउस रोबोट) जैसे रोबोट इसके लिए एक उदाहरण हैं। आप हमारे अन्य लाइन फॉलोअर रोबोट की भी जांच कर सकते हैं:
- 8051 माइक्रोकंट्रोलर का उपयोग कर लाइन फॉलोवर रोबोट
- Arduino का उपयोग कर लाइन अनुयायी रोबोट
सामग्री की आवश्यकता:
- रास्पबेरी पाई 3 (किसी भी मॉडल को काम करना चाहिए)
- आईआर सेंसर (2Nos)
- डीसी गियर मोटर (2Nos)
- L293D मोटर चालक
- चेज़ (आप कार्डबोर्ड का उपयोग करके भी अपना निर्माण कर सकते हैं)
- पावर बैंक (कोई भी उपलब्ध बिजली स्रोत)
लाइन फॉलोअर की अवधारणा
लाइन फॉलोअर रोबोट आईआर सेंसर की मदद से एक लाइन को ट्रैक करने में सक्षम है। इस सेंसर में IR ट्रांसमीटर और IR रिसीवर है। IR ट्रांसमीटर (IR LED) प्रकाश संचारित करता है और रिसीवर (Photodiode) संचारित प्रकाश के वापस लौटने का इंतजार करता है। एक IR प्रकाश वापस तभी लौटेगा जब वह किसी सतह से परावर्तित होगा। जबकि, सभी सतहें एक IR प्रकाश को प्रतिबिंबित नहीं करती हैं, केवल सफेद रंग की सतह पूरी तरह से उन्हें प्रतिबिंबित कर सकती है और काली रंग की सतह पूरी तरह से उन्हें दिखाएगी जैसा कि नीचे दिए गए चित्र में दिखाया गया है। आईआर सेंसर मॉड्यूल के बारे में अधिक जानें यहां।
अब हम दो IR सेंसर का उपयोग करेंगे ताकि यह जांचा जा सके कि अगर रोबोट ट्रैक से हट जाता है तो रोबोट को ठीक करने के लिए लाइन और दो मोटरों के साथ ट्रैक करता है या नहीं। इन मोटर्स को उच्च वर्तमान की आवश्यकता होती है और द्वि-दिशात्मक होना चाहिए; इसलिए हम L293D जैसे मोटर ड्राइवर मॉड्यूल का उपयोग करते हैं। हमें आईआर सेंसर से मूल्यों के आधार पर मोटर्स को निर्देश देने के लिए रास्पबेरी पाई जैसे कम्प्यूटेशनल उपकरण की भी आवश्यकता होगी । उसी का एक सरलीकृत ब्लॉक आरेख नीचे दिखाया गया है।
इन दोनों IR सेंसर को लाइन के दोनों ओर एक रखा जाएगा। यदि कोई भी सेंसर काली रेखा का पता नहीं लगा रहा है, तो वे पीआई को मोटर्स को नीचे दिखाए अनुसार आगे बढ़ने का निर्देश देते हैं
अगर लेफ्ट सेंसर ब्लैक लाइन पर आता है तो PI रोबोट को दाएं व्हील को अकेले घुमाकर बाएं मुड़ने का निर्देश देता है।
यदि राइट सेंसर ब्लैक लाइन पर आता है तो PI रोबोट को बाएं व्हील को अकेले घुमाकर दाईं ओर मुड़ने का निर्देश देता है।
यदि दोनों सेंसर काली रेखा पर आते हैं, तो रोबोट बंद हो जाता है।
इस तरह से रोबोट ट्रैक के बाहर जाने के बिना लाइन का पालन करने में सक्षम होगा। अब देखते हैं कि सर्किट और कोड कैसा दिखता है।
रास्पबेरी पाई लाइन अनुयायी रोबोट सर्किट आरेख और स्पष्टीकरण:
इस रास्पबेरी पाई लाइन फॉलोवर रोबोट के लिए पूरा सर्किट आरेख नीचे दिखाया गया है
जैसा कि आप देख सकते हैं कि सर्किट में दो आईआर सेंसर और रास्पबेरी पाई से जुड़े मोटर्स की एक जोड़ी शामिल है। पूरा सर्किट एक मोबाइल पावर बैंक (ऊपर सर्किट में AAA बैटरी द्वारा दर्शाया गया है) द्वारा संचालित है।
चूंकि रास्पबेरी पाई पर पिन विवरण का उल्लेख नहीं किया गया है, हमें नीचे की तस्वीर का उपयोग करके पिनों को सत्यापित करने की आवश्यकता है
जैसा कि चित्र में दिखाया गया है कि PI के शीर्ष बाएं कोने का पिन + 5V पिन है, हम इस + 5V पिन का उपयोग सर्किट सेंसर (लाल तार) में दिखाए गए IR सेंसर को शक्ति प्रदान करने के लिए करते हैं । फिर हम काले तार का उपयोग करके आईआर सेंसर और मोटर चालक मॉड्यूल के ग्राउंड पिन को जमीन से जोड़ते हैं। पीले तार क्रमशः सेंसर 1 और 2 GPIO पिन करने के लिए और 3 के उत्पादन में पिन कनेक्ट करने के लिए प्रयोग किया जाता है ।
मोटर्स को चलाने के लिए, हमें चार पिन (ए, बी, ए, बी) की आवश्यकता है। यह चार पिन क्रमशः GPIO14,4,17 और 18 से जुड़े हुए हैं। नारंगी और सफेद तार मिलकर एक मोटर के लिए कनेक्शन बनाते हैं। इसलिए हमारे पास दो मोटरों के लिए दो जोड़े हैं।
मोटर्स L293D मोटर चालक मॉड्यूल से जुड़े हुए हैं जैसा कि चित्र में दिखाया गया है और चालक मॉड्यूल एक पावर बैंक द्वारा संचालित है । सुनिश्चित करें कि पावर बैंक का ग्राउंड रास्पबेरी पाई के मैदान से जुड़ा हुआ है, तभी आपका कनेक्शन काम करेगा।
अपने रास्पबेरी PI प्रोग्रामिंग:
एक बार जब आप अपने असेंबली और कनेक्शन के साथ कर लेते हैं तो आपके रोबोट को कुछ इस तरह दिखना चाहिए।
अब, यह हमारे बॉट को प्रोग्राम करने और इसे चालू करने का समय है। इस बॉट के लिए पूरा कोड इस ट्यूटोरियल के निचले भाग में पाया जा सकता है। कार्यक्रम के बारे में अधिक जानें और रास्पबेरी पाई में कोड चलाएं। महत्वपूर्ण रेखाएँ नीचे बताई गई हैं
हम लाइब्रेरी से GPIO फ़ाइल आयात करने जा रहे हैं, नीचे फ़ंक्शन हमें PI के GPIO पिन को प्रोग्राम करने में सक्षम बनाता है। हम "GPIO" का नाम भी "IO" कर रहे हैं, इसलिए जब भी हम GPIO पिन को संदर्भित करना चाहते हैं, तो हम 'IO' शब्द का उपयोग करेंगे।
IO के रूप में RPi.GPIO आयात करें
कभी-कभी, जब GPIO पिन, जिसे हम उपयोग करने की कोशिश कर रहे हैं, हो सकता है कि वह कुछ अन्य कार्य कर रहा हो। उस स्थिति में, हम कार्यक्रम को निष्पादित करते समय चेतावनी प्राप्त करेंगे। नीचे कमांड पीआई को चेतावनी को अनदेखा करने और कार्यक्रम के साथ आगे बढ़ने के लिए कहता है।
IO.setwarnings (गलत)
हम पीआई के GPIO पिन का उल्लेख कर सकते हैं, या तो बोर्ड पर पिन नंबर या उनके फ़ंक्शन नंबर के द्वारा। बोर्ड पर 'PIN 29' की तरह 'GPIO5' है। इसलिए हम यहां बताते हैं कि या तो हम यहां '29' या '5' द्वारा पिन का प्रतिनिधित्व करने जा रहे हैं।
IO.setmode (IO.BCM)
हम 6 पिन को इनपुट / आउटपुट पिन के रूप में सेट कर रहे हैं। पहले दो पिन IR सेंसर पढ़ने के लिए इनपुट पिन हैं। अगले चार आउटपुट पिंस हैं जिनमें से पहले दो का उपयोग दाएं मोटर को नियंत्रित करने के लिए और अगले दो को बाईं मोटर के लिए किया जाता है।
IO.setup (2, IO.IN) #GPIO 2 -> बाया IR बाहर IO.setup (3, IO.IN) #GPIO 3 -> राइट IR बाहर IO.setup (4, IO.UT) #GPIO 4 - > मोटर 1 टर्मिनल ए IO.setup (14, IO.OUT) #GPIO 14 -> मोटर 1 टर्मिनल B IO.setup (17, IO.OUT) #GPIO 17 -> मोटर वाम टर्मिनल A IOsetup (18, IO).OUT) #GPIO 18 -> मोटर लेफ्ट टर्मिनल बी
आईआर सेंसर आउटपुट "ट्रू" करता है यदि यह एक सफेद सतह पर है। इसलिए जब तक दोनों सेंसर कहते हैं कि ट्रू हम आगे बढ़ सकते हैं ।
if (IO.input (2) == True और IO.input (3) == True): # सफेद सफेद आगे IO.output (4, True) # 1A + IO.output (14, गलत) 1B- IO.output (17, सच) # 2A + IO.output (18, गलत) # 2B-
अगर पहली IR सेंसर एक ब्लैक लाइन पर आता है तो हमें एक सही मोड़ देना होगा। यह उन्होंने IR सेंसर को पढ़कर किया है और अगर शर्त पूरी हो जाती है तो हम दाहिने मोटर को रोकते हैं और बाईं मोटर को अकेले घुमाते हैं जैसा कि नीचे दिए गए कोड में दिखाया गया है
elif (IO.input (2) == गलत और IO.input (3) == True): # सही सही IO.output (4, True) # 1A + IO.output (14, True) #B- IO.output (17, सच) # 2A + IO.output (18, गलत) # 2B-
अगर दूसरी IR सेंसर एक ब्लैक लाइन पर आता है तो हमें एक लेफ्ट टर्न बनाना होगा । यह उन्होंने IR सेंसर को पढ़कर किया है और अगर शर्त पूरी हो जाती है तो हम बाएं मोटर को रोकते हैं और दाएं मोटर को घुमाते हैं जैसा कि नीचे दिए गए कोड में दिखाया गया है
elif (IO.input (2) == True and IO.input (3) == गलत): # छोड़ दिया IO.output (4, True) # 1A + IO.output (14, False) 1B- IO.output (17, सच) # 2A + IO.output (18, सच) # 2B-
यदि दोनों सेंसर एक काली रेखा पर आते हैं, तो इसका मतलब है कि रोबोट को रोकना होगा । यह मोटर के दोनों टर्मिनलों को सच करने के लिए किया जा सकता है जैसा कि नीचे दिए गए कोड पर दिखाया गया है
और: #stay अभी भी IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True: # 2B-)
कार्रवाई में रास्पबेरी पाई लाइन अनुयायी:
अपने रास्पबेरी पाई के लिए लाइन अनुयायी के लिए अजगर कोड अपलोड करें और इसे चलाएं। हमें एक पोर्टेबल बिजली की आपूर्ति की आवश्यकता है, इस मामले में एक पावर बैंक काम करता है इसलिए मैंने उसी का उपयोग किया है। जो मैं उपयोग कर रहा हूं वह दो यूएसबी पोर्ट के साथ आता है इसलिए मैंने पीआई और अन्य को पावर मोटर चालक को पावर देने के लिए उपयोग किया है जैसा कि नीचे दिए गए चित्र में दिखाया गया है।
अब आपको बस इतना करना है कि आप अपना ब्लैक कलर ट्रैक सेट करें और उस पर अपना बॉट छोड़ दें। मैंने ट्रैक बनाने के लिए एक काले रंग के इंसुलेशन टेप का उपयोग किया है आप किसी भी काले रंग की सामग्री का उपयोग कर सकते हैं, लेकिन सुनिश्चित करें कि आपका जमीनी रंग गहरा नहीं है।
बॉट का पूरा काम नीचे दिए गए वीडियो में पाया जा सकता है । आशा है कि आप इस परियोजना को समझ गए हैं और निर्माण का आनंद लिया है यदि आपके कोई प्रश्न हैं, तो उन्हें नीचे टिप्पणी अनुभाग पर पोस्ट करें।