विषयसूची:

ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना: 4 कदम
ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना: 4 कदम

वीडियो: ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना: 4 कदम

वीडियो: ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना: 4 कदम
वीडियो: How To Program ESP8266 With Arduino IDE 2024, नवंबर
Anonim
ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना
ESP8266 GPIO0/GPIO2/GPIO15 पिन का उपयोग करना

1 जुलाई 2018 को अपडेट करें - GPIO0 आउटपुट होने पर री-प्रोग्रामिंग पर जोड़ा गया नोट

ESP8266 मॉड्यूल पर GPIO0 / GPIO2 और GPIO15 पिन का उपयोग कैसे करें, इस पर यह एक बहुत छोटा नोट है।

अपडेट: यह भी देखें कि ESP8266-01 पिन का उपयोग कैसे करें

परिचय

ESP8266 एक कम लागत वाली वाईफाई सक्षम चिप है। यह विभिन्न प्रकार के मॉड्यूल में आता है और इसे विभिन्न तरीकों से प्रोग्राम किया जा सकता है। सभी मॉड्यूल GPIO0 और GPIO2 को सुलभ बनाते हैं। ESP8266-01 के अलावा अधिकांश मॉड्यूल भी GPIO15 को सुलभ बनाते हैं। ये GPIO नियंत्रित करते हैं कि मॉड्यूल कैसे शुरू होता है और इसलिए यदि उनका उपयोग किया जाना है तो विशेष हैंडलिंग की आवश्यकता होती है। GPIO6-GPIO11 को भी नीचे बताए अनुसार विशेष उपचार की आवश्यकता है।

चरण 1: फ्लैश GPIO पिन - GPIO6 से GPIO11

अधिकांश ESP8266 बोर्डों में कुछ या सभी GPIO6-GPIO11 से जुड़ी एक फ्लैश चिप होती है। अधिकांश प्रोग्राम फ्लैश मेमोरी के साथ-साथ रैम का भी उपयोग करते हैं, इसलिए जब तक आप विशेष रूप से सुनिश्चित नहीं करते कि आपका कोड केवल रैम से चलता है, आप अन्य उद्देश्यों के लिए इन पिनों का उपयोग नहीं कर सकते।

GPIO6 से GPIO11 की सीमा में उपयोग किए जाने वाले पिनों की सटीक संख्या आपके मॉड्यूल पर उपयोग किए जाने वाले फ्लैश हार्डवेयर के प्रकार पर निर्भर करती है। क्वाड आईओ मानक की गति से 4 गुना तक डेटा के लिए 4 लाइनों (कुल 6 पिन) का उपयोग करता है। डुअल आईओ डेटा के लिए 2 लाइनों का उपयोग करता है (कुल 4 पिन) मानक डेटा के लिए सिंगल लाइन (कुल 3 पिन) का उपयोग करता है।

जब तक आप ठीक से नहीं जानते कि आपके बोर्ड को क्या चाहिए, तब तक आप GPIO6 से GPIO11 को अनदेखा कर सकते हैं और उन्हें अपने कोड से संदर्भित नहीं कर सकते हैं।

चरण 2: GPIO0, GPIO2 और GPIO15 पिन

GPIO0, GPIO2 और GPIO15 पिन
GPIO0, GPIO2 और GPIO15 पिन

ये पिन निर्धारित करते हैं कि चिप किस मोड में शुरू होती है।

सामान्य प्रोग्राम निष्पादन के लिए GPIO0 और GPIO2 को Vcc (3.3V) तक खींचने की आवश्यकता होती है और GPIO15 को GND तक खींचने की आवश्यकता होती है, प्रत्येक में 2K से 10K रेसिस्टर की सीमा में एक रेसिस्टर होता है। एक 2K रोकनेवाला बेहतर शोर प्रतिरक्षा देता है। OLIMEX 2K प्रतिरोधों का उपयोग करता है SparkFun 10K प्रतिरोधों का उपयोग करता है। मैं 3K3 प्रतिरोधों का उपयोग करता हूं।

इन इनपुट की सेटिंग्स की जाँच केवल चिप के पावर अप (या रीसेट) के दौरान की जाती है। उसके बाद पिन सामान्य उपयोग के लिए उपलब्ध हैं, लेकिन जैसा कि नीचे चर्चा की गई है कि उनका उपयोग इन बाहरी पुल अप/डाउन प्रतिरोधों द्वारा प्रतिबंधित है।

चरण 3: आउटपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना

आउटपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना
आउटपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना

जैसा कि ऊपर उल्लेख किया गया है, इन पिनों में पहले से ही GPIO15 के लिए VCC (GPIO0 और GPIO2) या GND से जुड़ा एक अवरोधक होगा। यह निर्धारित करता है कि किसी भी बाहरी उपकरण, जैसे रिले या एलईडी + रोकनेवाला, को कैसे जोड़ा जाना चाहिए। GPIO0 और GPIO2 के लिए, एक बाहरी रिले को VCC और पिन के बीच जोड़ा जाना चाहिए ताकि यह पुल अप रोकनेवाला की कार्रवाई में हस्तक्षेप न करे। इसके विपरीत GPIO15 से जुड़ा एक बाहरी रिले GND और पिन के बीच जुड़ा होना चाहिए ताकि पुल डाउन रेसिस्टर की कार्रवाई में हस्तक्षेप न हो।

बाहरी डिवाइस को सक्रिय करने के लिए, GPIO0 या GPIO2 को LOW (सक्रिय LOW) संचालित किया जाना चाहिए, जबकि GPIO15 को उच्च (सक्रिय उच्च) संचालित किया जाना चाहिए।

उपरोक्त योजनाबद्ध दिखाता है कि आउटपुट के रूप में GPIO0 और GPIO2 और GPIO15 का उपयोग कैसे करें। इस सर्किट में आवश्यक पुलअप/पुलडाउन प्रतिरोधक भी शामिल हैं। ध्यान दें कि GPIO0 द्वारा संचालित 5V रिले मॉड्यूल ऑप्टो-पृथक है और इनपुट के लिए एक अलग सामान्य कनेक्शन है। यह महत्वपूर्ण है कि 5V VCCA वोल्टेज ESP8266 पिन पर लागू न हो।

आउटपुट के रूप में GPIO0 का उपयोग करते समय रीप्रोग्राम कैसे करें

नोट: प्रोग्रामिंग मोड में आने के लिए GPIO0 को ग्राउंडेड करने की आवश्यकता है। यदि आप स्केच इसे उच्च चला रहे हैं, तो यह आपको ESP8266 चिप को नुकसान पहुंचा सकता है। जब आपका कोड GPIO0 आउटपुट को ड्राइव करता है तो ESP8266 को रीप्रोग्राम करने का सुरक्षित तरीका है: - ए) बोर्ड को पावर करें बी) शॉर्ट जीपीआईओ0 से जीएनडी सी) बोर्ड को पावर अप करें जो जीपीआईओ0 डी पर शॉर्ट के कारण प्रोग्राम मोड में जाता है) हटा दें GPIO0 से छोटा इसलिए जब प्रोग्राम चलता है तो आप आउटपुट को छोटा नहीं करते हैं e) बोर्ड को फिर से प्रोग्राम करें f) यदि आवश्यक हो तो बोर्ड को पावर साइकिल करें।

चरण 4: इनपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना।

इनपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना।
इनपुट के रूप में GPIO0, GPIO2 और GPIO15 का उपयोग करना।

इन पिनों को इनपुट के रूप में उपयोग करना थोड़ा मुश्किल है। जैसा कि पावर अप और रीसेट के दौरान ऊपर उल्लेख किया गया है, इन पिनों को सामान्य चलने वाले मोड में ESP8266 मॉड्यूल शुरू करने के लिए आवश्यक रूप से ऊपर या नीचे खींचा जाना चाहिए। इसका मतलब है, सामान्य तौर पर, आप इन पिनों में केवल एक बाहरी स्विच संलग्न नहीं कर सकते क्योंकि पावर अप पर आप आमतौर पर यह गारंटी नहीं दे सकते कि स्विच इनपुट को जमीन पर नहीं खींचेगा और इसलिए मॉड्यूल को सही ढंग से शुरू होने से रोकें।

चाल बाहरी स्विच को सीधे GPIO0 या GPIO2 से GND से कनेक्ट करने के लिए नहीं है, बल्कि इसे किसी अन्य GPIO पिन से जोड़ने के लिए है जो ESP8266 शुरू होने के बाद ही जमीन पर (आउटपुट के रूप में) संचालित होता है। याद रखें, जब आउटपुट के रूप में उपयोग किया जाता है, तो GPIO पिन VCC या GND को बहुत कम प्रतिरोध कनेक्शन प्रदान करते हैं, जो इस बात पर निर्भर करता है कि वे उच्च या निम्न संचालित हैं।

यहां केवल GPIO0 और GPIO2 पर विचार किया जाएगा। इस पद्धति का उपयोग करके आप इन दो (2) GPIO का उपयोग करके एक (1) अतिरिक्त इनपुट प्राप्त कर सकते हैं।

इसके स्विच को +VCC से जोड़ने के लिए एक अन्य GPIO पिन का उपयोग करके GPIO15 के लिए एक समान विधि का उपयोग किया जा सकता है, लेकिन इससे अतिरिक्त इनपुट प्राप्त नहीं होता है, आप सीधे इनपुट के रूप में अन्य GPIO पिन का उपयोग कर सकते हैं।

उपरोक्त सर्किट एक उदाहरण के रूप में ESP8266-01 मॉड्यूल का उपयोग करता है। इस ट्रिक का उपयोग किए बिना, ESP8266-01 में इनपुट के रूप में उपयोग करने के लिए कोई मुफ्त पिन नहीं है यदि आप पहले से ही UART कनेक्शन के लिए RX/TX पिन का उपयोग कर रहे हैं।

चूंकि स्केच की सेटअप () विधि केवल ESP8266 मॉड्यूल के शुरू होने के बाद चलती है, इसलिए GPIO0 आउटपुट को कम करना सुरक्षित है और इसलिए GPIO2 से जुड़े S1 के लिए एक आधार प्रदान करें। फिर आप स्विच सेटिंग को पढ़ने के लिए अपने स्केच में कहीं और digitalRead(2) का उपयोग कर सकते हैं।

निष्कर्ष

यह संक्षिप्त नोट दिखाता है कि GPIO0, GPIO2 और GPIO15 को आउटपुट के रूप में कैसे उपयोग किया जाए और GPIO0 और GPIO2 का एक साथ उपयोग करके अतिरिक्त इनपुट कैसे प्राप्त किया जाए।

सिफारिश की: