विषयसूची:
- आपूर्ति
- चरण 1: समाधान की उत्पत्ति
- चरण 2: स्पष्टीकरण
- चरण 3: प्रतिरोधों को पहचानें और निकालें
- चरण 4: समाधानों के बीच तुलना
- चरण 5: अंतिम विचार
वीडियो: Arduino के साथ 5V LCD डिस्प्ले 3.3V I2C के कारण: 5 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:18
इस पोस्ट का उद्देश्य I2C एडेप्टर मॉड्यूल के साथ लोकप्रिय LCD 16x2 डिस्प्ले के साथ Arduino ड्यू (या अन्य 3.3V बोर्ड) का उपयोग करने का एक आसान तरीका समझाना है।
प्रारंभिक समस्या यह है कि LCD को इसकी बैकलाइट के ठीक से काम करने के लिए 5V की आवश्यकता होती है, लेकिन SCL और SDA पिन को Arduino ड्यू के साथ संचार करने के लिए बिना किसी नुकसान के संचार करने के लिए 3.3V पर काम करना चाहिए। इसे हल करने के लिए, मुझे दो विकल्प मिले हैं:
सबसे अधिक उल्लिखित समाधान द्वि-दिशात्मक तर्क स्तर कनवर्टर का उपयोग करना है, जो वास्तव में समस्या का समाधान करता है। लेकिन यह आपकी सूची में एक और घटक और आपके सर्किट पर अतिरिक्त वायरिंग कनेक्शन भी जोड़ता है।
दूसरा तरीका जो मैंने पाया है वह है एलसीडी से "I2C एडेप्टर बैकपैक" में केवल 2 पुलअप रेसिस्टर्स को डिसाइड करना। बहुत आसान होने के अलावा, अंत में तुलना में इसके अन्य फायदे बताए गए हैं। यह विधि इस पोस्ट का मुख्य फोकस है।
आपूर्ति
अरुडिनो ड्यू
I2C एडेप्टर मॉड्यूल के साथ LCD 16x2 डिस्प्ले
सोल्डरिंग आयरन
सोल्डरिंग पंप या सोल्डरिंग विक
चिमटी
चरण 1: समाधान की उत्पत्ति
समाधान का आविष्कार मेरे द्वारा नहीं किया गया था, मैंने नीचे दिए गए लिंक में Arduino फोरम पर एक बहुत अच्छा सुझाव और स्पष्टीकरण देखा, जिसे मैं इस पोस्ट में पुन: पेश करूंगा।
forum.arduino.cc/index.php?topic=553725.0
उत्तर: डेविड_प्रेंटिस
मुझे इंटरनेट पर कोई पूर्ण ट्यूटोरियल नहीं मिला और, चूंकि यह एक बहुत ही सामान्य समस्या है, मैं यहां समाधान को विस्तार से प्रस्तुत करने की कोशिश कर रहा हूं, यह वास्तव में काम करता है, और ऐसी जानकारी जोड़ें जो इसके परिणामों के बारे में कुछ संदेह को कम कर सके।
चरण 2: स्पष्टीकरण
उपकरण
I2C संचार के काम करने के लिए, इसे SDA और SCL पिन से जुड़े पुलअप रेसिस्टर्स की आवश्यकता होती है। ऐसा इसलिए है क्योंकि संचार करते समय डिवाइस केवल इन पिनों को कम करते हैं। एक उच्च का प्रतिनिधित्व करने के लिए, इसे केवल कम नहीं भेजना है, और पुलअप के लिए धन्यवाद यह उच्च पर जाता है। (यह समझ बाद में बहुत महत्वपूर्ण होगी)
LCD "I2C बैकपैक" में दो 4K7 पुल-अप प्रतिरोधक हैं जो I2C आवश्यकता को पूरा करते हैं। लेकिन चूंकि वे Vcc से जुड़े हैं, यदि आप 5 V का उपयोग करते हैं, तो वे SDA और SCL को 5 V तक खींच लेंगे।
यदि आप डेटाशीट को देखते हैं, तो आप देख सकते हैं कि, अन्य बोर्डों के विपरीत, ड्यू में पहले से ही अपने मुख्य एसडीए, एससीएल पिन पर 1K5 पुल-अप रेसिस्टर्स ऑनबोर्ड हैं, जो उन्हें 3.3 V तक खींचता है।
परीक्षण
- एलसीडी प्रदर्शित करें -> Arduino
- Gnd -> Gnd
- वीसीसी -> 5वी
- एसडीए -> एसडीए
- एससीएल -> एससीएल
यदि आप एलसीडी को देय (उपरोक्त तारों के बाद) पर कनेक्ट करते हैं, तो 1k5 (या 1k0) 3.3V से जुड़े पुलअप और 5 वी से जुड़े 4K7 एलसीडी पुलअप के परिणामस्वरूप 3.7 वी (3.6 वी) पर निष्क्रिय I2C लाइनें होंगी। 1k0 के साथ)। यह अच्छा नहीं है, क्योंकि देय डेटाशीट अपनी I/O लाइनों के लिए 3.6 V का अधिकतम वोल्टेज निर्धारित करता है।
इस परिदृश्य का परीक्षण करके, केवल एलसीडी के साथ, मुझे 3, 56 वी मिला। एक ही एसडीए और एससीएल में एक ईईपीरोम मॉड्यूल जोड़कर, यह 3.606 वी तक चला गया। दोनों ही मामलों में सब कुछ सामान्य रूप से काम करता था, लेकिन वे आदर्श वोल्टेज से बहुत दूर हैं 3.6 वी निर्धारित अधिकतम स्तर पर विचार।
तो हाँ, एक मौका है कि यह ठीक वैसे ही काम करेगा जैसे मैंने कोई बदलाव नहीं करते हुए किया था। लेकिन वोल्टेज स्तर अभी भी आदर्श से बहुत दूर है और ड्यू या एलसीडी पुलअप पर कुछ विसंगति के कारण यह 3.6 वी की सीमा से ऊपर जा सकता है। (यह सलाह दी जाएगी कि २० के या १०० के पोटेंशियोमीटर के साथ सावधानी से पहले कम से कम परीक्षण करें कि ३.६ वी तक पहुंचने से पहले ५ वी और एससीएल/एसडीए पिन के बीच सबसे कम प्रतिरोध क्या है, हालांकि बाकी समाधान अधिक सुरक्षित और शायद आसान है)
समाधान
प्रस्तुत समाधान केवल एलसीडी बैकपैक से पुल-अप प्रतिरोधों को हटाना है, जो लाइन को 5 वी तक खींचने की कोशिश करते हैं। फिर, केवल ड्यू ऑनबोर्ड पुल-अप प्रतिरोधक ही रहेंगे, एससीएल और एसडीए लाइनों को 3.3V तक खींचेंगे।. इसने लगभग 3.262 V पर निष्क्रिय पिनों को बनाए रखते हुए पूरी तरह से काम किया!
कनेक्शन वही रहते हैं:
- एलसीडी डिस्प्ले -> Arduino
- Gnd -> Gnd
- वीसीसी -> 5वी
- एसडीए -> एसडीए
- एससीएल -> एससीएल
यदि आप सोच रहे हैं कि क्या LCD संचार करते समय उच्च का प्रतिनिधित्व करने के लिए लाइन को 5 V तक नहीं खींचेगा, तो याद रखें कि I2C पर डिवाइस केवल लाइनों को कम खींचते हैं, हस्तक्षेप न करने पर उच्च सिग्नल का प्रतिनिधित्व किया जाता है, जो कि 3.3 V होगा। ड्यू के ऑनबोर्ड पुल-अप।
साथ ही, 3.3 V I2C बैकपैक के लिए एक उच्च संकेत के रूप में विचार करने के लिए पर्याप्त है।
चरण 3: प्रतिरोधों को पहचानें और निकालें
ऊपर दी गई छवि मेरे मॉड्यूल में पाए गए पुलअप प्रतिरोधों को लाल रंग में दिखाती है।
की पहचान
चूंकि LCD I2C अडैप्टर बैकपैक भिन्न हो सकता है, प्रतिरोधक एक ही कॉन्फ़िगरेशन में नहीं हो सकते हैं। पुलअप प्रतिरोधों की पहचान करने के लिए, आप एक निरंतरता परीक्षण के साथ एक मल्टीमीटर का उपयोग कर सकते हैं। प्रत्येक पुल-अप रोकनेवाला का एक सिरा SCL या SDA पिन से और दूसरा सिरा Vcc से जुड़ा होना चाहिए।
मेरे मामले में, बोर्ड पर 4K7 (SMD कोड में 472) प्रतिरोधकों में से तीन थे। उनमें से केवल दो ने ऊपर की आवश्यकताओं को पूरा किया, यह इंगित करते हुए कि ये वे पुलअप हैं जिनकी हम तलाश कर रहे थे!
अतिरिक्त सावधानी के लिए (यदि किसी कारण से वे 4K7 नहीं थे), मैंने अन्य प्रतिरोधों का भी परीक्षण किया और पुष्टि की कि उनमें से कोई भी पुल-अप होने की आवश्यकताओं को पूरा नहीं करता है।
हटाना
अब, आपको बस इतना करना है कि उन्हें डीसोल्डर करना है! यह आसान है अगर आपके पास सोल्डरिंग पंप या सोल्डरिंग विक और चिमटी मदद करने के लिए है।
चरण 4: समाधानों के बीच तुलना
द्वि-दिशात्मक तर्क स्तर कनवर्टर (एलएलसी)
पेशेवरों:
किसी भी सोल्डरिंग उपकरण या क्षमता की आवश्यकता नहीं है
दोष:
आपकी सूची घटकों की सूची में अधिक केबल और एलएलसी का विज्ञापन करें
अतिरिक्त घटकों के साथ मेसियर कनेक्शन
थोड़ा अधिक महंगा
एलसीडी पुल-अप रेसिस्टर्स को डीसोल्डर करें
पेशेवरों:
क्लीनर अंतिम परिणाम।
एलएलसी की प्रतीक्षा किए बिना आप शायद इसे तुरंत कर सकते हैं।
विशेष रूप से अच्छा है यदि आप एक जटिल परियोजना में घटकों की विविधता और असेंबली जटिलता को कम करना चाहते हैं या जिसे आप दोहराना चाहते हैं।
दोष:
एलसीडी सर्किट को बदल देता है (यदि आप इसे ऊनो के साथ "उपयोग करने के लिए तैयार" चाहते हैं, पहले से ही 4K7 पुलअप हैं, तो आप उन्हें पुनर्विक्रय करने वाले परिवर्तनों को पूर्ववत कर सकते हैं)
चरण 5: अंतिम विचार
मुझे आशा है कि यह ट्यूटोरियल इस संगतता मुद्दे और इसके कुछ संभावित समाधानों पर कुछ प्रकाश डालेगा।
यदि आपके पास कोई सुधार विचार, बेहतर स्पष्टीकरण, नए समाधान हैं, या पोस्ट में कोई त्रुटि मिली है, तो कृपया मुझे टिप्पणियों में बताएं!:)
सिफारिश की:
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): 8 चरण
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): अल्ट्रासोनिक ध्वनि ट्रांसड्यूसर L298N डीसी महिला एडाप्टर बिजली की आपूर्ति एक पुरुष डीसी पिन के साथ Arduino UNOBreadboardयह कैसे काम करता है: सबसे पहले, आप Arduino Uno पर कोड अपलोड करते हैं (यह डिजिटल से लैस एक माइक्रोकंट्रोलर है और कोड (C++) कन्वर्ट करने के लिए एनालॉग पोर्ट
I2C / IIC एलसीडी डिस्प्ले - Arduino के साथ SPI से IIC मॉड्यूल का उपयोग करके I2C LCD डिस्प्ले में SPI LCD का उपयोग करें: 5 चरण
I2C / IIC एलसीडी डिस्प्ले | Arduino के साथ I2C LCD डिस्प्ले के लिए SPI से IIC मॉड्यूल का उपयोग करते हुए SPI LCD का उपयोग करें: हाय दोस्तों चूंकि एक सामान्य SPI LCD 1602 में कनेक्ट करने के लिए बहुत सारे तार होते हैं, इसलिए इसे arduino के साथ इंटरफ़ेस करना बहुत मुश्किल होता है, लेकिन बाजार में एक मॉड्यूल उपलब्ध है जो कर सकता है SPI डिस्प्ले को IIC डिस्प्ले में बदलें तो आपको केवल 4 तारों को जोड़ने की आवश्यकता है
I2C / IIC एलसीडी डिस्प्ले - SPI LCD को I2C LCD डिस्प्ले में बदलें: 5 कदम
I2C / IIC एलसीडी डिस्प्ले | SPI LCD को I2C LCD डिस्प्ले में बदलें: spi LCD डिस्प्ले का उपयोग करने के लिए बहुत सारे कनेक्शन की आवश्यकता होती है, जो वास्तव में करना कठिन होता है इसलिए मुझे एक मॉड्यूल मिला जो i2c LCD को spi LCD में बदल सकता है तो चलिए शुरू करते हैं
SSD1306 I2C OLED 128x64 डिस्प्ले पर सर्किटपाइथन के साथ ग्राफिक्स एक इटिबिट्सी M4 एक्सप्रेस का उपयोग करते हुए: 13 चरण (चित्रों के साथ)
एसएसडी१३०६ आई२सी ओएलईडी १२८x६४ डिस्प्ले पर सर्किटपाइथन के साथ ग्राफिक्स एक इटसिबिट्सी एम४ एक्सप्रेस का उपयोग करते हुए: एसएसडी१३०६ ओएलईडी डिस्प्ले एक छोटा (०.९६"), सस्ता, व्यापक रूप से उपलब्ध, आई२सी, 128x64 पिक्सल के साथ मोनोक्रोम ग्राफिकल डिस्प्ले है, जो आसानी से इंटरफेस किया जाता है (केवल ४) तार) माइक्रोप्रोसेसर विकास बोर्डों जैसे रास्पबेरी पाई, अरुडिनो या
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम घड़ी कैसे बनाएं - 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: 4 कदम
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम क्लॉक कैसे बनाएं | 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: मेरे Youtube चैनल पर जाएँ। परिचय: - इस पोस्ट में मैं 3.5 इंच TFT टच LCD, Arduino Mega का उपयोग करके "रियल टाइम क्लॉक" बनाने जा रहा हूँ 2560 और DS3231 RTC मॉड्यूल….शुरू करने से पहले…मेरे YouTube चैनल से वीडियो देखें..नोट:- यदि आप Arduin का उपयोग कर रहे हैं