कैसे एक रोबोट का उपयोग कर अपने रसोई शेल्फ के आसपास व्यंजन स्थानांतरित करने के लिए?

यदि आप अपने किचन के आकर्षण और कार्यक्षमता को नाटकीय रूप से बढ़ाने के लिए कोई रास्ता खोज रहे हैं, तो वहां के मानव प्रयास को कम करने पर विचार करें। मानव प्रयास को घरेलू रोबोट बनाकर कम से कम किया जा सकता है जो कि रसोई में मौजूद होगा और यह गंदे बर्तन सिंक की ओर ले जाएगा और वहीं रुक जाएगा। जब व्यक्ति रोबोट से बर्तनों को उतारता है तो यह वापस आ जाएगा और उनमें से अधिक लाएगा। कभी-कभी बड़ी रसोई में, वाशिंग सिंक अलमारियाँ के इतने करीब नहीं होता है, इसलिए रोबोट शेल्फ के एक स्थान से दूसरे की ओर बर्तन ले जाएगा। ब्लैक टेप का उपयोग करके शेल्फ पर रोबोट के लिए एक रास्ता बनाया जाएगा। पथ का पता लगाने के लिए रोबोट दो अवरक्त निकटता सेंसर का उपयोग करेगा और सेंसर से प्राप्त इनपुट के आधार पर, Arduino मोटर चालक की मदद से मोटरों को स्थानांतरित करने का निर्देश देगा।



घरेलू रोबोट

घरेलू रोबोट बनाने में सभी आवश्यक परिधीयों को कैसे जोड़ा जाए?

अब, हमें आवश्यक घटकों को इकट्ठा करना होगा और रोबोट बनाना शुरू करना होगा।



चरण 1: प्रयुक्त घटक

  • अरुडिनो अनो
  • आईआर सेंसर (x5)
  • डीसी मोटर्स
  • कार का पहिया पीछा करता है
  • काला टेप
  • जम्पर तार
  • डीसी बैटरी
  • गोंद बंदूक
  • पेचकस संग्रह

चरण 2: घटकों का अध्ययन

जैसा कि हमने पहले ही घटकों की एक सूची बनाई है, आइए हम एक कदम आगे बढ़ें और प्रत्येक घटक के कामकाज का एक संक्षिप्त अध्ययन करें।



Arduino UNO एक माइक्रोकंट्रोलर बोर्ड है जिसमें एक माइक्रोचिप ATMega 328P शामिल है और इसे Arduino.cc द्वारा विकसित किया गया है। इस बोर्ड में डिजिटल और एनालॉग डेटा पिन का एक सेट है जिसे अन्य विस्तार बोर्डों या सर्किट के साथ हस्तक्षेप किया जा सकता है। इस बोर्ड में 14 डिजिटल पिन, 6 एनालॉग पिन, और Arduino IDE (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) के साथ टाइप B USB केबल के माध्यम से प्रोग्राम किया जा सकता है। इसे सत्ता में 5 वी की आवश्यकता है पर और एक C कोड संचालित करने के लिए।



Arduino UNO

L298N मोटर चालक का उपयोग DC मोटर्स को संचालित करने के लिए किया जाता है। L298N एक दोहरी एच-ब्रिज मोटर चालक है जो एक ही समय में दो डीसी मोटर्स की गति और दिशा नियंत्रण की अनुमति देता है। मॉड्यूल डीसी मोटर्स को ड्राइव कर सकता है जिसमें 5 और 35 वी के बीच वोल्टेज होता है, जिसमें 2 ए तक की चोटी होती है। यह वोल्टेज पर निर्भर करता है जो मोटर्स वीसीसी टर्मिनल पर उपयोग किया जाता है। हमारी परियोजना में, 5V पिन का उपयोग इनपुट के रूप में किया जाएगा क्योंकि हमें इसे ठीक से काम करने के लिए आईसी के लिए 5V बिजली की आपूर्ति से कनेक्ट करने की आवश्यकता है। डीसी मोटर्स के साथ L298N मोटर चालक का सर्किट आरेख जुड़ा हुआ है L298N मोटर चालक के तंत्र को समझने के लिए नीचे दिखाया गया है। प्रदर्शन के लिए, इनपुट से दिया गया है लॉजिक स्टेट आईआर सेंसर के बजाय।

सर्किट डायग्राम प्रोटीन 8 प्रोफेशनल पर बनाया गया



चरण 3: ब्लॉक आरेख और कार्य सिद्धांत को समझना

सबसे पहले, हम ब्लॉक आरेख के माध्यम से जाएंगे, कार्य सिद्धांत को समझेंगे और फिर हार्डवेयर घटकों को इकट्ठा करने की दिशा में आगे बढ़ेंगे।

खंड आरेख

सेंसर जो हम उपयोग करेंगे वे डिजिटल हैं और वे आउटपुट 0 या 1 दे सकते हैं। ये सेंसर जो हमने खरीदे हैं वे दे रहे हैं 1 सफेद सतहों पर और 0 काली सतहों पर। सेंसर जो हम खरीदते हैं, यादृच्छिक मान देते हैं, कभी-कभी वे देते हैं 0 सफेद सतहों पर और 1 काली सतहों पर। हम इस रोबोट में पांच सेंसर का उपयोग करेंगे। पांच सेंसर के लिए कोड में चार शर्तें हैं।

  1. लाइन पर आगे: जब मध्य सेंसर काली सतह पर होता है और बाकी सेंसर सफेद सतह पर होते हैं, तो आगे की स्थिति निष्पादित होगी और रोबोट सीधे आगे बढ़ेगा। अगर हम इससे शुरू करते हैं sensor1 और आगे बढ़ें Sensor5, वह मूल्य जो प्रत्येक सेंसर क्रमशः दे रहा होगा (१ १ ० १ १ १)
  2. तीव्र सही मोड़: जब संवेदक १ तथा संवेदक २ सफेद सतह पर हैं और बाकी सेंसर काली सतह पर हैं, तेज दाएं मुड़ने की स्थिति निष्पादित होगी और रोबोट तेज दाएं मुड़ जाएगा। अगर हम इससे शुरू करते हैं sensor1 और आगे बढ़ें Sensor5, वह मूल्य जो प्रत्येक सेंसर क्रमशः दे रहा होगा (१ १ ० ० ०)।
  3. तीव्र वाम मोड़: जब संवेदक ४ तथा संवेदक ५ सफेद सतह पर हैं और बाकी सेंसर काली सतह पर हैं, तेज बाएं टर्न की स्थिति निष्पादित होगी और रोबोट तेज बाएं मुड़ जाएगा। अगर हम इससे शुरू करते हैं sensor1 और आगे बढ़ें Sensor5, वह मूल्य जो प्रत्येक सेंसर क्रमशः दे रहा होगा (0 0 0 1 1)
  4. रुकें: जब सभी पांच सेंसर काली सतह पर होंगे तो रोबोट बंद हो जाएगा और मोटर्स चालू हो जाएंगे बंद। पांच काली सतहों वाला यह बिंदु सिंक के पास होगा ताकि डिशवॉशर धोने के लिए रोबोट से प्लेटों को उतार सके।

हम काले टेप का उपयोग करके रसोई के शेल्फ पर एक रास्ता बनाएंगे और यह पथ सिंक के पास समाप्त हो जाएगा, इसलिए रोबोट सिंक के पास बंद हो जाएगा और डिशवॉशर प्लेटों को उतार देगा और फिर रोबोट पथ की ओर बढ़ेगा और बर्तनों की खोज करेगा फिर।

रोबोट का ट्रैक

चरण 4: Arduino के साथ शुरुआत करना

यदि आप पहले Arduino IDE से परिचित नहीं हैं, तो चिंता न करें क्योंकि नीचे, आप Arduino IDE का उपयोग करके माइक्रोकंट्रोलर बोर्ड पर कोड जलने के स्पष्ट चरण देख सकते हैं। आप Arduino IDE के नवीनतम संस्करण को डाउनलोड कर सकते हैं यहाँ और नीचे दिए गए चरणों का पालन करें:

  1. जब Arduino बोर्ड आपके पीसी से जुड़ा होता है, तो 'कंट्रोल पैनल' खोलें और 'हार्डवेयर और साउंड' पर क्लिक करें। इसके बाद “डिवाइसेस एंड प्रिंटर्स” पर क्लिक करें। उस पोर्ट का नाम ढूंढें जिसमें आपका Arduino बोर्ड जुड़ा हुआ है। मेरे मामले में यह 'COM14' है, लेकिन यह आपके पीसी पर भिन्न हो सकता है।

    पोर्ट ढूँढना

  2. अब Arduino IDE खोलें। टूल्स से, Arduino बोर्ड को सेट करें Arduino / जेनुइनो UNO।

    बोर्ड की स्थापना

  3. उसी टूल मेनू से, पोर्ट नंबर सेट करें जिसे आपने कंट्रोल पैनल में देखा था।

    पोर्ट की स्थापना

  4. नीचे दिए गए कोड को डाउनलोड करें और इसे अपने आईडीई पर कॉपी करें। कोड अपलोड करने के लिए, अपलोड बटन पर क्लिक करें।

आप से कोड डाउनलोड कर सकते हैं यहाँ

चरण 5: कोड को समझना

कोड बहुत सरल है। इसे नीचे संक्षेप में समझाया गया है:

  1. कोड की शुरुआत में सेंसर पिंस को इनिशियलाइज़ किया जाता है और इसके साथ ही मोटर ड्राइवर L298N के लिए पिंस को भी इनिशियलाइज़ किया जाता है।
    int enable1pin = 10; // 1 मोटर के लिए एनालॉग इनपुट के लिए PWM पिन को आरम्भ करना; // मोटर 1 इंट मोटर 1 पिन 2 = 3 के लिए पॉजिटिव पिन; // मोटर के लिए प्रारंभिक पिन को प्रारंभ करना 1 int enable2pin = 11; // मोटर 2 इंट मोटर 2 पिन 1 = 4 के लिए एनालॉग इनपुट के लिए पीडब्लूएम पिन शुरू करना; // मोटर 2 इंट मोटर 2 डीपी 2 = 5 के लिए पॉजिटिव पिन; // मोटर 2 इंट एस 1 = 12 के लिए नकारात्मक पिन को प्रारंभ करना; // सेंसर के लिए प्रारंभिक 12 पिन 1 int S2 = 9; // सेंसर के लिए प्रारंभिक पिन 9 इंट एस 3 = 8; // सेंसर 3 इंट के लिए प्रारंभिक 8 पिन S4 = 7; // सेंसर 4 इंट एस 5 = 6 के लिए प्रारंभिक पिन 7; // सेंसर 5 के लिए शुरुआती 6 पिन
  2. व्यर्थ व्यवस्था() एक फ़ंक्शन है जो पिन को INPUT या OUTPUT के रूप में सेट करने के लिए उपयोग किया जाता है। यह Arduino की बॉड दर भी निर्धारित करता है। बॉड दर वह गति है जिस पर माइक्रोकंट्रोलर बोर्ड संलग्न अन्य घटकों के साथ संचार करता है।
    {पिनमोड (enable1pin, OUTPUT); // मोटर 1 पिनकोड (enable2pin, OUTPUT) के लिए PWM सक्षम करना; // मोटर 2 पिनकोड (motor1pin1, OUTPUT) के लिए PWM को सक्षम करना; // आउटपुट पिनोड (Motor1pin2, OUTPUT) के रूप में मोटर 1 पिन 1 की स्थापना; // आउटपुट पिनोड (motor2pin1, OUTPUT) के रूप में मोटर 1 पिन 2 की स्थापना; // आउटपुट पिनकोड (motor2pin2, OUTPUT) के रूप में मोटर 2 पिन 1 की स्थापना; // आउटपुट पिनोड (S1, INPUT) के रूप में motor2 pin2 की स्थापना; // सेंसर को इनपुट पिनमोड (S2, INPUT) के रूप में सेट करना; // इनपुट pinMode (S3, INPUT) के रूप में सेंसर 2 सेट करना; // सेंसर को इनपुट पिनमोड (S4, INPUT) के रूप में सेट करना; // इनपुट pinMode (S5, INPUT) के रूप में सेंसर 4 की स्थापना; // सेंसर 5 इनपुट के रूप में सेट करना Serial.begin (9600); // बॉड दर निर्धारित करना}
  3. शून्य लूप () एक ऐसा कार्य है जो एक चक्र में बार-बार चलता है। इस लूप में, हम Arduino UNO को निर्देश देते हैं कि किस ऑपरेशन को अंजाम देना है। मोटर्स की पूर्ण गति 255 है और दोनों मोटर्स की अलग-अलग गति है। इसलिए, अगर हम रोबोट को आगे बढ़ाना चाहते हैं, तो दाएं मुड़ें आदि हमें मोटर्स की गति को समायोजित करने की आवश्यकता है। हमने कोड में एनालॉग पिन का उपयोग किया है क्योंकि हम विभिन्न परिस्थितियों में दो मोटर्स की गति को अलग-अलग करना चाहते हैं। आप अपने दम पर अपने मोटर्स की गति को समायोजित कर सकते हैं।
    void लूप () {if ((digitalRead (S1)) &&! (digitalRead (S2)) && (digitalRead (S3)) &&! (digitalRead (S4)) && (digitalRead (S5)) // आगे! लाइन {analogWrite (enable1pin, 61); // मोटर 1 स्पीड एनालॉगवर्इट (सक्षम 2 जीबी, 63); // मोटर 2 स्पीड डिजिटलवाइट (motor1pin1, HIGH); // मोटर 1 पिन 1 सेट टू हाई डिजिटल वाइट (motor1pin2, LOW); // मोटर 1 पिन 2 सेट टू कम डिजिटलवाइट (motor2pin1, HIGH); // मोटर 2 पिन 1 सेट टू हाई डिजिटल वाइट (motor2pin2, LOW); // मोटर 2 पिन 2 सेट कम पर अगर (((digitalRead (S1)) &&! (DigitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) और&& (digitalRead (S5)) / / / शार्प राईट टर्न {एनालॉगवर्इट (इनेबल १, ६०); // मोटर 1 स्पीड एनालॉग वाइट (सक्षम 2 जीबी, 80); // मोटर 2 स्पीड डिजिटलवाइट (motor1pin1, HIGH); // मोटर 1 पिन 1 सेट टू हाई डिजिटल वाइट (motor1pin2, LOW); // मोटर 1 पिन 2 सेट टू कम डिजिटल वाइट (motor2pin1, LOW); // मोटर 2 पिन 1 सेट टू कम डिजिटलवाइट (motor2pin2, LOW); // मोटर 2 पिन 2 सेट कम पर अगर ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) &&! (DigitalRead (S4)) && (digitalRead (S5)) / /! / शार्प लेफ्ट टर्न {एनालॉगवर्इट (सक्षम 1 जीबी, 80); // मोटर 1 स्पीड एनालॉगवर्इट (सक्षम 2 जीबी, 65); // मोटर 2 स्पीड डिजिटलवाइट (motor1pin1, LOW); // मोटर 1 पिन 1 सेट टू कम डिजिटल वाइट (motor1pin2, LOW); // मोटर 1 पिन 2 सेट टू कम डिजिटलवाइट (motor2pin1, HIGH); // मोटर 2 पिन 1 सेट टू हाई डिजिटल वाइट (motor2pin2, LOW); // मोटर 2 पिन 2 सेट कम पर अगर ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) && (digitalRead (S5)) // stop {एनालॉगवर्इट (सक्षम 1 जीबी, 0); // मोटर 1 गति एनालॉगाइट (सक्षम 2 जीबी, 0); // मोटर 2 स्पीड डिजिटलवाइट (motor1pin1, LOW); // मोटर 1 पिन 1 सेट टू कम डिजिटल वाइट (motor1pin2, LOW); // मोटर 1 पिन 2 सेट टू कम डिजिटल वाइट (motor2pin1, LOW); // मोटर 2 पिन 1 सेट टू कम डिजिटलवाइट (motor2pin2, LOW); // मोटर 2 पिन 2 सेट कम}}

अनुप्रयोग

  1. औद्योगिक अनुप्रयोग : इन रोबोटों को पारंपरिक कन्वेयर बेल्ट की जगह उद्योगों में स्वचालित उपकरण वाहक के रूप में इस्तेमाल किया जा सकता है।
  2. घरेलू अनुप्रयोगों : इनका उपयोग घरों में फर्श की सफाई, रसोई के काम आदि जैसे घरेलू कामों के लिए भी किया जा सकता है।
  3. मार्गदर्शन अनुप्रयोगों : इन रोबोट का उपयोग सार्वजनिक स्थानों जैसे शॉपिंग मॉल, फूड कोर्ट, म्यूजियम आदि में किया जा सकता है