विषयसूची:
- चरण 1: MCP23008 को तार देना
- चरण 2: एक बोर्ड का निर्माण
- चरण 3: लाइब्रेरी मॉड्यूल का उपयोग करना
- चरण 4: किट कार कार्यक्रम
- चरण 5: 7 खंड एलईडी
- चरण 6: निष्कर्ष
वीडियो: NODEMCU LUA ESP8266 MCP23008 8 बिट पोर्ट एक्सपैंडर आईसी के साथ: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
MCP23008 सीरियल इंटरफ़ेस के साथ 8-बिट I/O विस्तारक है और 1.8 और 5.5 वोल्ट के बीच संचालित होता है, इसलिए ESP8266, Arduino, रास्पबेरी पाई, PIC चिप्स और बहुत कुछ के लिए आदर्श है।
यदि आपने MCP23017 पर मेरे अन्य इंस्ट्रक्शनल को देखा है, तो आप सोच रहे होंगे कि मैं MCP23008 के लिए भी एक क्यों कर रहा हूँ, क्योंकि यह वास्तव में उसी चीज़ का एक छोटा संस्करण है।
इसका कारण यह है कि इसके रजिस्टर नाम और संख्या दोनों में भिन्न हैं और मैं दिखाना चाहता हूं कि तैयार पुस्तकालय मॉड्यूल का उपयोग कैसे करें। NodeMCU lua का उपयोग करते समय हर कोई कुशल नहीं है, इसलिए मैं प्रोग्रामिंग के इस पहलू के साथ-साथ MCP23008 का उपयोग कैसे करना चाहता हूं, यह दिखाना चाहता हूं।
पुस्तकालय और कार्यक्रम github.com पर उपलब्ध हैं।
MCP23008 के लिए डेटाशीट माइक्रोचिप से उपलब्ध है।
चरण 1: MCP23008 को तार देना
MCP23008 IC एक साधारण लेआउट का है और इसके लिए बोर्ड बनाना वास्तव में आसान है। आप सर्किट को ब्रेड बोर्ड पर भी सेट कर सकते हैं।
मेरे बोर्ड पर पिन कनेक्शन
- पिन 18 (VDD) से 3v3
- पिन 9 (VSS) से GND
- पिन 7 (NC) से GND (आवश्यक नहीं)
- पिन 1 (SCL) से ESP GPIO2
- पिन 2 (SDA) से ESP GPIO0
- पिन 5 (A0) से GND
- पिन 4 (A1) से GND
- पिन 3 (A2) से GND
- पिन 6 (रीसेट) से 3v3
पोर्ट ए पर जीएनडी को पढ़ने के लिए पिन कनेक्ट करें (पिन 10 - 17)
नोट: यहां I2C एड्रेस बस में 0x20 पते पर MCP23008 का उपयोग करने के लिए सभी एड्रेस पिन Gnd से जुड़े हैं।
यदि आप पता 0x21 का उपयोग कर रहे थे तो A0 को 3.3V से जोड़ा जाएगा, A1 और A2 को Gnd से जोड़ा जाएगा।
इसी तरह यदि पता 0x22 का उपयोग कर रहे हैं तो A1 को 3.3V से A0 और A2 को Gnd से जोड़ना होगा।
आदि…
चरण 2: एक बोर्ड का निर्माण
मैंने अपने बोर्ड के निर्माण के लिए 25 मिमी x 64 मिमी (9 पंक्तियों x 25 छेद) वेरो स्ट्रिप बोर्ड का उपयोग किया। यह थोड़ा कड़ा है, लेकिन चूंकि आपको अधिकांश पिन आईसी के दोनों तरफ हैं, इसलिए इसे जो करना है उसके लिए पर्याप्त है।
मैंने पोर्ट ए के लिए 8 पिन और 8 हेडर सॉकेट का उपयोग किया है ताकि मैं अपने विभिन्न मॉड्यूल के साथ-साथ विभिन्न परियोजनाओं के लिए अन्य वायरिंग में प्लग कर सकूं। मैंने अतिरिक्त Gnd और 3.3V पिन जोड़े हैं क्योंकि मुझे लगता है कि मॉड्यूल को एक साथ जोड़ने पर इनकी हमेशा कमी होती है।
चरण 3: लाइब्रेरी मॉड्यूल का उपयोग करना
लाइब्रेरी मॉड्यूल में आम तौर पर उप-दिनचर्या, कार्यों और चर का चयन होता है जिसे किसी अन्य प्रोग्राम द्वारा एक्सेस किया जा सकता है। प्रोग्राम स्वयं नहीं चलता है, लेकिन इसके कार्यों को कॉलिंग प्रोग्राम द्वारा एक्सेस किया जा सकता है। इसका मतलब है कि आप पुस्तकालय के भीतर अपनी उप-रूटीन रख सकते हैं और जब भी आपको उनकी आवश्यकता हो, उन्हें कॉल कर सकते हैं, एक छोटा कॉलिंग प्रोग्राम बना सकते हैं। यह अधिक मूल्यवान हो जाता है यदि आपके पास एक ही उप-दिनचर्या का उपयोग करने वाले कई अलग-अलग कार्यक्रम हैं, तो आपको प्रत्येक कार्यक्रम में उप-दिनचर्या शामिल करने की आवश्यकता नहीं है।
नोट: mcp23008.lua प्रोग्राम को अन्य प्रोग्रामों की तरह ESP8266 मेमोरी में लोड करने की आवश्यकता है।
मैंने यह दिखाने के लिए कि पुस्तकालय काम कर रहा है, मैंने यहां github.com प्रोग्राम के साथ-साथ एक साधारण प्रोग्राम (test.lua) शामिल किया है।
आपके प्रोग्राम में लाइब्रेरी को शामिल करने के कम से कम 2 तरीके हैं।
आवश्यकता है ("एमसीपी २३००८")
mcp23008.begin(0x0, gpio2, gpio0, i2c. SLOW)
या
एमसीपी = की आवश्यकता है ("एमसीपी २३००८")
mcp.begin(0x0, gpio2, gpio0, i2c. SLOW)
उपरोक्त दोनों एक ही काम करते हैं, लेकिन दूसरी विधि आपको प्रोग्राम के नाम के बजाय अपने स्वयं के चर का उपयोग करने की अनुमति देती है।
चरण 4: किट कार कार्यक्रम
मैंने KittCar23008.lua प्रोग्राम और KittLib.lua को शामिल किया है जो इस तरह से प्रोग्राम लिखने के तरीके में अंतर दिखाने के लिए लाइब्रेरी का उपयोग करता है। दोनों कार्यक्रम एक ही काम करते हैं।
8 एलईडी प्लग ईबे से एक किट के रूप में उपलब्ध है और इसे 8 चैनल फ्लोइंग वॉटर लाइट एलईडी DIY किट, चीन से 99p के रूप में जाना जाता है। आपको इसे स्वयं सोल्डर करना होगा।
नोट: यदि आपको KittLib.lua प्रोग्राम को चलाने में कोई समस्या है, तो MCP23008 RESET पिन को पल भर में Gnd से कनेक्ट करने का प्रयास करें। मुझे पता है कि यह एक सीधा शॉर्ट सर्किट देगा (क्योंकि यह 3.3V से जुड़ा है) और आपको बाकी सब कुछ रीसेट करना होगा। यह 10 ओम रेसिस्टर के माध्यम से Gnd से जुड़कर भी काम करता है, शायद इसे करने का एक बेहतर तरीका है।
मैंने यह भी पाया कि KittLib.lua test.lua चलाने के बाद बिना किसी समस्या के चलेगा (मुझसे मत पूछो क्यों?)
मैंने KittLib.lua कार्यक्रम की समस्या को हल करने के लिए विभिन्न तरीकों की कोशिश की है, लेकिन अभी तक कोई तार्किक कारण नहीं मिला है कि यह क्रैश क्यों होता है। खुराक किसी के पास कोई विचार है?
ये सभी प्रोग्राम मैंने खुद नहीं लिखे हैं, इसलिए मैं यह नहीं बता पा रहा हूं कि समस्या क्यों है, हालांकि कोडिंग को देखने के बाद, स्पष्ट रूप से कुछ भी गलत नहीं लगता है।
चरण 5: 7 खंड एलईडी
ऊपर KittCar.lua प्रोग्राम की तरह, मैंने 7 सेगमेंट एलईडी डिस्प्ले को चलाने के लिए एक स्टैंडअलोन और एक लाइब्रेरी डिपेंडेंट प्रोग्राम को शामिल किया है।
फिर से, दोनों प्रोग्राम एक ही काम करते हैं, लेकिन प्रदर्शित करते हैं कि पुस्तकालय मॉड्यूल का उपयोग कैसे करें या तो स्वयं या किसी और द्वारा लिखित।
चरण 6: निष्कर्ष
मैंने लुआ पर्यावरण के भीतर कोड मॉड्यूल का उपयोग करने का तरीका प्रदर्शित करने का प्रयास किया है, और इसे एक ही समय में एक विशिष्ट आईसी पर लागू किया है।
भले ही मुझे ऐसा करने में समस्या हुई हो, मुझे लगता है कि यह दिखाने के लिए पर्याप्त है कि ये मॉड्यूल कैसे काम करते हैं और साथ ही वास्तविक जीवन अनुप्रयोग का प्रदर्शन भी करते हैं।
सिफारिश की:
मोटो का उपयोग करके सर्वो मोटर्स को कैसे चलाएं: माइक्रो के साथ बिट: बिट: 7 कदम (चित्रों के साथ)
मोटो का उपयोग करके सर्वो मोटर्स को कैसे चलाएं: माइक्रो के साथ बिट: माइक्रो: बिट की कार्यक्षमता को बढ़ाने का एक तरीका है मोटो: बिट नामक बोर्ड का उपयोग स्पार्कफुन इलेक्ट्रॉनिक्स (लगभग $ 15-20) द्वारा। यह जटिल दिखता है और इसमें कई विशेषताएं हैं, लेकिन इससे सर्वो मोटर्स को चलाना मुश्किल नहीं है। मोटो: बिट आपको
हार्डवेयर सीरियल पोर्ट में SAMD21-आधारित बोर्ड USB पोर्ट बनाना !: 3 चरण
हार्डवेयर सीरियल पोर्ट में SAMD21-आधारित बोर्ड USB पोर्ट बनाना !: आजकल एक Arduino (या कोई अन्य संगत) बोर्ड USB पोर्ट को एक एमुलेटेड सीरियल पोर्ट के रूप में उपयोग करना मानक है। यह हमारे प्यारे बोर्डों से डिबगिंग, डेटा भेजने और प्राप्त करने के लिए बहुत उपयोगी है। मैं यूचिप पर काम कर रहा था, जब डेटाश के माध्यम से जा रहा था
दो ताली चालू - ताली बंद सर्किट - 555 आईसी - ४०१७ आईसी: ३ कदम
दो ताली चालू - ताली बंद सर्किट - 555 आईसी | 4017 IC: क्लैप ऑन - क्लैप ऑफ सर्किट वह सर्किट है जिसका उपयोग केवल एक CLAP द्वारा विभिन्न प्रकार के इलेक्ट्रॉनिक उपकरणों को नियंत्रित करने के लिए किया जा सकता है। एक ताली लोड को चालू कर देती है और दूसरी ताली उसे बंद कर देती है। IC 4017 का उपयोग करके इस सर्किट को बनाना बहुत ही सामान्य और सरल है, लेकिन यहाँ
एक-क्लिक विंडोज और लिनक्स एप्लिकेशन (32-बिट और 64-बिट) के साथ DIY MusiLED, म्यूजिक सिंक्रोनाइज्ड एलईडी। रीक्रिएट करने में आसान, उपयोग में आसान, पोर्ट करने में आसान: 3 चरण
एक-क्लिक विंडोज और लिनक्स एप्लिकेशन (32-बिट और 64-बिट) के साथ DIY MusiLED, म्यूजिक सिंक्रोनाइज्ड एलईडी। रीक्रिएट करने में आसान, उपयोग में आसान, पोर्ट करने में आसान: यह प्रोजेक्ट आपको 18 LED (6 रेड + 6 ब्लू + 6 येलो) को अपने Arduino बोर्ड से कनेक्ट करने और आपके कंप्यूटर के साउंड कार्ड के रियल-टाइम सिग्नल का विश्लेषण करने और उन्हें रिले करने में मदद करेगा। एल ई डी बीट इफेक्ट (स्नेयर, हाई हैट, किक) के अनुसार उन्हें रोशन करने के लिए
NODEMCU LUA ESP8266 MCP23017 16 बिट पोर्ट एक्सपैंडर आईसी के साथ: 6 कदम (चित्रों के साथ)
NODEMCU LUA ESP8266 MCP23017 16 बिट पोर्ट विस्तारक IC के साथ: MCP23017 एक बोर्ड बनाने के लिए अपेक्षाकृत आसान IC है क्योंकि इसमें चिप के दोनों ओर पोर्ट A और B है और पिन क्रमिक क्रम में हैं। इसी तरह I2C एड्रेस बस है सभी एक साथ भी। इस आईसी पर 2 पिन हैं जो अप्रयुक्त हैं क्योंकि यह