विषयसूची:

बहुमुखी नियरबॉट: 11 कदम (चित्रों के साथ)
बहुमुखी नियरबॉट: 11 कदम (चित्रों के साथ)

वीडियो: बहुमुखी नियरबॉट: 11 कदम (चित्रों के साथ)

वीडियो: बहुमुखी नियरबॉट: 11 कदम (चित्रों के साथ)
वीडियो: Bahumukhi ko english mein kya kahate hain |बहुमुखी में को इंग्लिश में क्या कहते है|Versatile meaning 2024, जुलाई
Anonim
Image
Image

यह निर्देशयोग्य आपको दिखाएगा कि कैसे एक बहुमुखी रोबोट ट्रिगर का निर्माण किया जाए जो कि बटन, स्विच या विभिन्न उपकरणों पर डायल कर सकता है जब आप (आपके फोन या आपकी जेब में एक बीकन के साथ) पास होते हैं। इसका मतलब यह है कि यह स्वचालित रूप से एक दरवाजे की कुंडी को अनलॉक और फिर से लॉक कर सकता है क्योंकि *केवल आप* पास से गुजरते हैं, एक स्प्रिंकलर वाल्व को बंद कर देते हैं ताकि आप एक प्रकार के उपनगरीय मूसा की तरह बिना पानी के गुजर सकें, जब आप गैरेज में हों तो स्पीकर की मात्रा कम हो। बैंड रूम, नाटकीय एंट्री ट्यून बजाते हुए आइपॉड को ट्रिगर करें या जब आप कमरे में हों तो एक चुटकुला सुनाएं (जेडन स्मिथ ट्वीट?)

इस परियोजना को सोल्डरिंग या विशेष उपकरण की आवश्यकता नहीं है

यदि आप इस निर्देश का पर्याप्त आनंद लेते हैं, तो कृपया रोबोटिक्स 2017 प्रतियोगिता में इस निर्देश के लिए मतदान करने पर विचार करें!

चरण 1: हार्डवेयर पार्ट्स प्राप्त करें।

आपको चाहिये होगा:

  • NodeMCU v2 या V3
  • माइक्रो 9G सर्वो मोटर eBay या Aliexpress पर लगभग $1.40 USD की निःशुल्क शिपिंग
  • Arduino जम्पर तार महिला से पुरुष।
  • नियरबॉट के लिए एक आवरण - मैंने पाया एक स्क्रैप प्लास्टिक बॉक्स का उपयोग किया।
  • माइक्रो यूएसबी डाटा केबल (स्क्रैप फोन पार्ट्स)
  • यूएसबी पावर स्रोत (स्क्रैप फोन चार्जर)

यदि आपके पास मोबाइल हॉटस्पॉट सुविधा वाला स्मार्टफ़ोन नहीं है, तो आपको निम्न की भी आवश्यकता होगी:

  • डीलएक्सट्रीम, गियरबेस्ट, ईबे या एलीएक्सप्रेस पर ईएसपी-01 मॉड्यूल लगभग $ 2.50 यूएसडी मुफ्त शिपिंग।
  • 1 जोड़ी एएए बैटरी
  • स्विच के साथ दोहरी एएए बैटरी धारक

चरण 2: त्वरित प्रारंभ

यदि आप उस तरह की चीज़ को पसंद करते हैं तो इस चरण में एक त्वरित प्रारंभ मार्गदर्शिका शामिल है। इस निर्देश के बाकी चरण कदम दर कदम आगे बढ़ते हैं और अधिक गहन जानकारी जोड़ते हैं।

// खरीदारी की सूची: //NodeMCU V3 (लोलिन) ESP8266 माइक्रोकंट्रोलर

//SG90 9G सर्वो मोटर

// यूएसबी पावर बैंक या यूएसबी वॉल एडॉप्टर।

// माइक्रो यूएसबी डेटा / चार्ज केबल

// Arduino पुरुष से महिला प्रकार के जम्पर तार

//इससे पहले कि आप शुरू करें:

//1. यदि आपने पहले से Arduino IDE डाउनलोड नहीं किया है, तो इसे मुफ्त (दान वैकल्पिक) पर प्राप्त करें:

//। Arduino IDE खोलें (यदि आप इसे Arduino IDE में पहले से नहीं पढ़ रहे हैं!)…

// ३. फाइलों पर जाएं और Arduino IDE में वरीयता पर क्लिक करें…

//4. अतिरिक्त बोर्ड प्रबंधक में नीचे दिए गए कोड को कॉपी करें: //https://arduino.esp8266.com/stable/package_esp8266com_index.json

//5. वरीयता टैब बंद करने के लिए ठीक क्लिक करें…

//6. टूल्स और बोर्ड पर जाएं, और फिर बोर्ड मैनेजर चुनें…

//7. Esp8266 समुदाय द्वारा esp8266 पर नेविगेट करें और Arduino के लिए सॉफ़्टवेयर स्थापित करें…

//8. यदि आप अपने Arduino IDE के साथ NodeMCU बात करने में असमर्थ हैं, तो आपको CH340 ड्राइवर को डाउनलोड और इंस्टॉल करने की आवश्यकता हो सकती है:

// एक बार उपरोक्त सभी प्रक्रिया पूरी हो जाने के बाद हमें Arduino IDE के साथ हमारे esp8266 NodeMCU माइक्रोकंट्रोलर को प्रोग्राम करने के लिए पढ़ा जाता है।

//9. बोर्ड मेनू से NodeMCU V1.0 ESP12E चुनें /

/10. आप जिस COM पोर्ट का उपयोग कर रहे हैं उसे चुनें।

//1 1। कोड चुनें (www.makersa.ga से डाउनलोड करें) और अपलोड पर क्लिक करें। /

/12. जम्पर तारों का उपयोग करके सर्वो को NodeMCU में प्लग करें। सिग्नल के लिए D0, ग्राउंड टू ग्राउंड, +VCC से VO या 3V। /

/13. एक पेचकश का उपयोग करके सर्वो हॉर्न को समायोजित करें।

//14. कोड का उपयोग करके आंदोलन की अधिकतम और न्यूनतम डिग्री समायोजित करें।

// 15. कोड अपडेट होने पर NodeMCU पर फिर से अपलोड करें।

// आपको यह पता लगाना महत्वपूर्ण हो सकता है कि आपके पास कौन सा NodeMCU संस्करण है। यहाँ एक तुलना गाइड है:

frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v1 पिनआउट डायग्राम: https://frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v2 पिनआउट डायग्राम: https://frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v3 पिनआउट डायग्राम:

// रिसाव की व्याख्या:

// NodeMCU ESP8266 माइक्रोकंट्रोलर, बैटरी या USB बिजली की आपूर्ति और SG90 सर्वो से निर्मित

// आप स्मार्टफोन का उपयोग करने के बजाय एक दूसरे अनमॉडिफाइड esp8266 मॉड्यूल को बीकन हॉटस्पॉट एपी के रूप में उपयोग कर सकते हैं, कोई प्रोग्रामिंग आवश्यक नहीं है।

चरण 3: सॉफ्टवेयर पार्ट्स प्राप्त करें

आपको सबसे पहले मुफ्त Arduino IDE डाउनलोड करना होगा

जिस समय मैं इसे लिख रहा हूं, Arduino Web Editor NodeMCU के साथ काम नहीं करता है, इसलिए आपको इसके बजाय अपने कंप्यूटर पर IDE इंस्टॉल करना होगा।

आपको www. MakerSa.ga से नियरबॉट फाइलें भी लेनी होंगी - इस परियोजना के लिए फाइल डाउनलोड लिंक उस साइट पर सूचीबद्ध है।

चरण 4: ड्राइवर और बोर्ड प्रोफाइल स्थापित करें

कुछ उपयोगी जानकारी
कुछ उपयोगी जानकारी

आपके द्वारा डाउनलोड और अनज़िप किए गए नियरबॉट ज़िप के अंदर NodeMCU मॉड्यूल के लिए ड्राइवर होंगे। उन्हें अपने कंप्यूटर पर स्थापित करें।

यदि वे आपके लिए काम नहीं करते हैं, तो आप wemos.cc/downloads पर CH340G ड्राइवर ढूंढ सकते हैं

आपका NodeMCU CH340G चिप का उपयोग नहीं कर सकता है, इसलिए आपको उस ड्राइवर के साथ टिप्पणी करने की आवश्यकता हो सकती है जिसे आप ढूंढ रहे हैं, और मैं उस ड्राइवर के लिए डाउनलोड लिंक के साथ उत्तर दूंगा।

  1. इसके बाद, Arduino IDE खोलें और Arduino IDE में File PreferencesAdditional Boards Manager पर जाएं।
  2. निम्नलिखित कोड वहां पेस्ट करें:
  3. वरीयता टैब बंद करने के लिए ठीक क्लिक करें।
  4. टूल्स एंड बोर्ड पर जाएं और फिर बोर्ड मैनेजर चुनें।
  5. "esp8266 by esp8266 कम्युनिटी" पर नेविगेट करें और Arduino के लिए सॉफ़्टवेयर इंस्टॉल करें।

एक बार उपरोक्त सभी प्रक्रिया पूरी हो जाने के बाद हम Arduino IDE के साथ अपने esp8266 NodeMCU माइक्रोकंट्रोलर को प्रोग्राम करने के लिए तैयार हैं!

चरण 5: कुछ उपयोगी जानकारी

कुछ उपयोगी जानकारी
कुछ उपयोगी जानकारी
कुछ उपयोगी जानकारी
कुछ उपयोगी जानकारी

आपके लिए यह पता लगाना आसान हो सकता है कि आपके पास कौन सा NodeMCU संस्करण है। यहाँ एक तुलना गाइड है:

frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/

प्रत्येक संस्करण में अलग पिन व्यवस्था है। मैंने v3 (लोलिन) संस्करण खरीदा क्योंकि इसमें सर्वो मोटर को पावर देने के लिए 5V आउटपुट पिन हैं। मैंने अंततः इसके बजाय सुरक्षा के लिए 3 वोल्ट पावर पिन का उपयोग किया (NodeMCU I/O पिन 5V सहनशील नहीं हैं), लेकिन आप 5V पिन का उपयोग करना चाह सकते हैं क्योंकि तकनीकी रूप से इस प्रकार के सर्वो मोटर्स 4.5 से 5 वोल्ट पावर के लिए निर्दिष्ट हैं।

चरण 6: कोड को NodeMCU पर लोड करें

कोड को NodeMCU पर लोड करें
कोड को NodeMCU पर लोड करें
कोड को NodeMCU पर लोड करें
कोड को NodeMCU पर लोड करें
  1. किसी भी माइक्रो USB केबल का उपयोग करके NodeMCU को अपने कंप्यूटर में प्लग करें।
  2. Arduino IDE खोलें, और "बोर्ड्स" के अंतर्गत, "ESP12E", और NodeMCU के लिए COM पोर्ट चुनें।
  3. IDE में, FileOpen पर जाएं और "ProximityActuator013017DonovanMagryta.ino" नामक Arduino स्केच खोलने के लिए पहले निर्माताओंसा.गा से डाउनलोड किए गए ज़िप फ़ोल्डर को ब्राउज़ करें।
  4. फिर, अपने वाईफाई बीकन का नाम और पासवर्ड जोड़ने के लिए कोड की लाइन को संपादित करें। उस पर और नीचे! उदाहरण के लिए:

कॉन्स्ट चार * एसएसआईडी = "माईवाईफाई"; // अपना हॉटस्पॉट नाम कोट्स के अंदर डालें

const char* पासवर्ड = "mywifipassword"; // अपना हॉटस्पॉट पासवर्ड कोट्स के अंदर डालें

फिर कोड को NodeMCU बोर्ड पर फ्लैश करने के लिए "अपलोड" पर क्लिक करें।

नियरबॉट आपकी पहचान करने और दूरी का अनुमान लगाने के लिए पॉकेटेबल वाईफाई बीकन का उपयोग करता है। निकटता कुंजियों की तरह ही कुछ नई कारों में आपके पास आते ही कार का दरवाजा खुल जाता है।

आप अपने स्मार्टफोन मोबाइल हॉटस्पॉट को बीकन के रूप में उपयोग कर सकते हैं, या वैकल्पिक रूप से एएए बैटरी या एक छोटी लिथियम 3.7 वी बैटरी की एक जोड़ी द्वारा संचालित सस्ते ईएसपी -01 वाईफाई मॉड्यूल का उपयोग कर सकते हैं। ESP-01 को प्रोग्राम करने की कोई आवश्यकता नहीं है, यह चालू होने पर हॉटस्पॉट मोड स्टॉक में डिफॉल्ट हो जाता है। उसके लिए सर्किट आरेख इस चरण पर दिखाया गया है।

चरण 7: सर्वो को NodeMCU में संलग्न करें

सर्वो को NodeMCU V3 में प्लग करने के लिए आपको कुछ जम्पर तारों की आवश्यकता होगी।

सर्किट आरेख सरल है।

लीड में सिग्नल के लिए D0 पिन करें (सर्वो पर सबसे हल्का रंग का तार। आमतौर पर पीला या सफेद।)

पिन 3V या पिन VO को 5V इनपुट लीड (सर्वो पर दूसरा सबसे हल्का रंग का तार, आमतौर पर लाल या नारंगी।)

GND को ग्राउंड लेड पर पिन करें (सर्वो पर सबसे गहरे रंग का तार, आमतौर पर भूरा या काला।)

चरण 8: नियरबॉट को ठीक करें

कोड सिग्नल की शक्ति को दूरी के अनुमान में परिवर्तित करता है। यह 2 मीटर या 6.5 फीट से कम की प्रतिक्रिया दूरी के लिए मज़बूती से काम करता है। क्योंकि यह एक सीधा रूपांतरण है, यह 3 मीटर से अधिक दूर की दूरी के लिए उतना आसान नहीं है जितना कि संभावित रूप से बेहतर गणना पद्धति के साथ हो सकता है। उस पर और बाद में।

आप यह समायोजित करना चाह सकते हैं कि सर्वो हॉर्न (चलने वाली छोटी सफेद भुजा) कहाँ स्थित है। यह केवल एक स्क्रूड्राइवर के साथ सर्वो आर्म को हटाकर और इसे फिर से पोजिशन करके किया जाता है।

अगला भाग कोड का उपयोग करके अधिकतम और न्यूनतम गति को समायोजित करना है।

यह इस तरह दिखने वाली पंक्तियों में निहित संख्याओं को बदलकर किया जा सकता है:

myservo.write(10); // सर्वो आर्म को 10 डिग्री रोटेशन पर ले जाता है

आप इस तरह दिखने वाली लाइनों में नकारात्मक संख्याओं को बदलकर सिग्नल शक्ति संवेदनशीलता को भी समायोजित कर सकते हैं:

अगर (rssi> -30 && rssi <-5) {// यदि सिग्नल की ताकत -30 से अधिक मजबूत है, और -5 से कमजोर है। फिर निम्न कार्य करें…

चरण 9: यह कैसे काम करता है

  1. जैसे ही उपयोगकर्ता आते हैं, नियरबॉट पहले हॉटस्पॉट से जुड़ जाता है।
  2. यह RSSI (प्राप्त सिग्नल की शक्ति) को स्कैन करता है और इसे अनुमानित दूरी में परिवर्तित करता है।
  3. जबकि दूरी निर्दिष्ट सीमा के भीतर है, यह सर्वो मोटर आर्म को स्थिति 1 पर ले जाती है।
  4. अन्यथा, सर्वो मोटर को स्थिति 2 में ले जाया जाता है।

जब मैंने इसका परीक्षण किया, तो यह RSSI ट्यूनिंग (-50) सर्वो को स्थिति 1 पर ले जाती है जबकि मेरी जेब में ESP-01 बीकन या फोन हॉटस्पॉट के साथ दूरी 0 से 1.5 मीटर है।

RSSI आमतौर पर -90 से -20 की सीमा के भीतर आता है, जिसमें -20 सबसे मजबूत सिग्नल शक्ति है।

यदि आप Arduino IDE सीरियल मॉनिटर खोलते हैं, जबकि नियरबॉट को कंप्यूटर में प्लग किया गया है, तो यह वास्तविक समय में सिग्नल की ताकत और ट्रिगर पॉइंट प्रदर्शित करेगा ताकि आपके पास आसान फीडबैक हो सके।

यहाँ पूरा कोड है:

//इससे पहले कि आप शुरू करें:

//1. यदि आपने पहले से Arduino IDE डाउनलोड नहीं किया है, तो इसे मुफ्त (दान वैकल्पिक) पर प्राप्त करें: https://www.arduino.cc/en/Main/Software//2। Arduino IDE खोलें (यदि आप इसे Arduino IDE में पहले से नहीं पढ़ रहे हैं!)… //। फाइलों पर जाएं और Arduino IDE में वरीयता पर क्लिक करें… //4। अतिरिक्त बोर्ड प्रबंधक में नीचे दिए गए लिंक को कॉपी करें: //https://arduino.esp8266.com/stable/package_esp8266com_index.json//5। वरीयता टैब बंद करने के लिए ठीक क्लिक करें… ///6। टूल्स और बोर्ड पर जाएं, और फिर बोर्ड मैनेजर का चयन करें… //7। Esp8266 समुदाय द्वारा esp8266 पर नेविगेट करें और Arduino… //8 के लिए सॉफ़्टवेयर स्थापित करें। यदि आप NodeMCU को अपने Arduino IDE के साथ बात करने में असमर्थ हैं, तो आपको CH340 ड्राइवर को डाउनलोड और इंस्टॉल करने की आवश्यकता हो सकती है: https://www.arduino.cc/en/Main/Software // एक बार उपरोक्त सभी प्रक्रिया पूरी हो जाने के बाद हम हैं Arduino IDE के साथ हमारे esp8266 NodeMCU माइक्रोकंट्रोलर को प्रोग्राम करने के लिए पढ़ें। आप यह पता लगाना चाह सकते हैं कि आपके पास कौन सा NodeMCU संस्करण है। यहाँ एक तुलना गाइड है: https://www.arduino.cc/en/Main/Software // NodeMCU ESP8266 माइक्रोकंट्रोलर, बैटरी या USB बिजली की आपूर्ति, और SG90 सर्वो से निर्मित // आप एक बीकन के रूप में एक दूसरे अनमॉडिफाइड esp8266 मॉड्यूल का उपयोग कर सकते हैं स्मार्टफोन का उपयोग करने के बजाय हॉटस्पॉट एपी। // नियरबॉट सर्किट: // D0 पिन से सर्वो सिग्नल वायर (सबसे हल्का रंग का तार) // / 3V पिन से सर्वो 5v तार (मध्य तार) (USB केबल के समानांतर या NodeMCU पर VO पिन यदि आपके पास V3 है। / NodeMCU पर /USB पावर से USB प्लग // सीरियल प्रिंटिंग के लिए आवश्यक हो सकता है। #include //Servo लाइब्रेरी #define D0 16 // पिन को परिभाषित करता है ताकि पिन को असाइन करना आसान हो। #define D1 5 // I2C Bus SCL (घड़ी) #define D2 4 // I2C Bus SDA (डेटा) #D3 0 परिभाषित करें बस MOSI #define D8 15 // SPI बस SS (CS) #define D9 3 // RX0 (सीरियल कंसोल) #define D10 1 // TX0 (सीरियल कंसोल) सर्वो myservo; // myservo नामक एक सर्वो ऑब्जेक्ट बनाएं // फोन या अतिरिक्त ESP8266 मॉड्यूल हॉटस्पॉट AP मोड पर सेट है: const ch एआर * एसएसआईडी = ""; // अपना हॉटस्पॉट नाम कोट्स के अंदर डालें const char* पासवर्ड = ""; // अपना हॉटस्पॉट पासवर्ड कोट्स के अंदर डालें void setup(){ Serial.begin(115200); // सीरियल बॉड दर सेट करता है ताकि माइक्रोकंट्रोलर Arduino IDE में सीरियल प्रिंट इंटरफ़ेस से बात कर सके - आपको इसके बजाय इसे 9600 में बदलने की आवश्यकता हो सकती है! myservo.attach(D0); // सर्वो को पिन D0 उर्फ GPIO16 पर सर्वो ऑब्जेक्ट से जोड़ता है - अधिक देखें: https://www.esp8266.com/viewtopic.php?f=32&t=8862#… myservo.write(10); // सर्वो आर्म को 10 डिग्री रोटेशन Serial.println ("लॉक्ड"); // आउटपुट सीरियल मॉनिटर शब्द "लॉक्ड" वाईफाई.मोड (WIFI_STA); // वाईफाई को स्टेशन मोड WiFi.begin (ssid, पासवर्ड) पर सेट करता है; // हॉटस्पॉट बीकन से जुड़ता है } शून्य लूप () {// लूप बार-बार तेजी से चलता है अगर (वाईफाई.स्टेटस ()! = WL_CONNECTED) {// यदि वाईफाई कनेक्ट नहीं है, तो निम्न कार्य करें… Serial.println("वाईफ़ाई कनेक्शन नहीं मिल सका"); myservo.write(10); // सर्वो आर्म को 10 डिग्री Serial.println ("लॉक्ड") पर ले जाता है; } और {// अगर वाईफाई कनेक्ट है, तो निम्न कार्य करें… long rssi = WiFi. RSSI (); // rssi नाम का एक वैरिएबल बनाता है और इसे उस फंक्शन को असाइन करता है जो हॉटस्पॉट बीकन सीरियल.प्रिंट (rssi) की सिग्नल स्ट्रेंथ रीडिंग देता है; // सीरियल मॉनिटर पर rssi रीडिंग को आउटपुट करता है अगर (rssi> -50 && rssi <-5) {// यदि सिग्नल की ताकत -50 से अधिक मजबूत है, और -5 से कमजोर है। फिर निम्न कार्य करें… myservo.write(170); // सर्वो आर्म को 170 डिग्री Serial.println ("अनलॉक"); } और {// यदि उपरोक्त शर्तें पूरी नहीं होती हैं तो निम्न कार्य करें… myservo.write(10); // सर्वो आर्म को वापस 10 डिग्री पर घुमाता है। Serial.println ("लॉक्ड"); } } }

चरण 10: आपको पता होना चाहिए …

अस्वीकरण:

नियरबॉट कोड की वर्तमान पुनरावृत्ति 2 मीटर या 6.5 फीट से कम दूरी के लिए मज़बूती से काम करती है। इसके अलावा, यह कम सटीक हो जाता है, लेकिन फिर भी काम करता है।

इसे ठीक किया जा सकता है, लेकिन फिलहाल मुझे नहीं पता कि यह कैसे करना है। मुझे अच्छा लगेगा अगर कोई मेरे साथ काम करेगा तो मैं इस निर्देश को दूरी की गणना के अधिक सटीक तरीके से अपडेट कर सकता हूं!

ये लिंक आसान हो सकते हैं: YouTuber CNLohr ने सीमित सफलता के साथ ESP8266 के लिए एक दूरी और स्थिति संवेदन फर्मवेयर विकसित किया:

एस्प्रेसिफ़ ने टाइम ऑफ़ फ़्लाइट डिस्टेंस डिटेक्शन फंक्शन विकसित किया जो ESP8266 के लिए Arduino IDE के साथ काम करेगा, लेकिन इसे कभी जारी नहीं किया:

SubPos पोजिशनिंग सिस्टम ESP8266 मॉड्यूल और पाथ लॉस कैलकुलेशन का उपयोग करता है, जो कि मैं नहीं जानता कि Arduino IDE में कैसे लागू किया जाए:

मुझे जावा भाषा में एक उदाहरण मिला, लेकिन मुझे नहीं पता कि इसे कैसे दोहराना है Arduino IDE:

दुगनी दूरी = Math.pow(10.0, (((डबल)(tx_pwr/10)) - rx_pwr - 10*Math.log10(4*Math. PI/(c/आवृत्ति)))/(20*mu));

चरण 11: बस इतना ही

यदि आप अपना खुद का नियरबॉट बनाते हैं, तो नीचे टिप्पणी में अपना "मैंने इसे बनाया" पोस्ट करें!

यदि आपके पास वर्सेटाइल नियरबॉट प्लेटफॉर्म का उपयोग करने के लिए कोई और विचार है, तो कृपया अपने विचारों पर टिप्पणी करें! यह अन्य अनुदेशक उपयोगकर्ताओं के लिए बहुत बड़ी प्रेरणा हो सकती है!

यदि आप इस ट्यूटोरियल का आनंद लेते हैं, तो कृपया प्रतियोगिता में इस निर्देश के लिए मतदान करने पर विचार करें!

सिफारिश की: