विषयसूची:

बस समुद्री डाकू के लिए HD44780 LCD से I2C अडैप्टर बोर्ड: 9 कदम
बस समुद्री डाकू के लिए HD44780 LCD से I2C अडैप्टर बोर्ड: 9 कदम

वीडियो: बस समुद्री डाकू के लिए HD44780 LCD से I2C अडैप्टर बोर्ड: 9 कदम

वीडियो: बस समुद्री डाकू के लिए HD44780 LCD से I2C अडैप्टर बोर्ड: 9 कदम
वीडियो: Bus Pirate LCD adapter demo and overview 2024, नवंबर
Anonim
बस समुद्री डाकू के लिए HD44780 LCD से I2C एडेप्टर बोर्ड
बस समुद्री डाकू के लिए HD44780 LCD से I2C एडेप्टर बोर्ड
बस समुद्री डाकू के लिए HD44780 LCD से I2C एडेप्टर बोर्ड
बस समुद्री डाकू के लिए HD44780 LCD से I2C एडेप्टर बोर्ड

HD44780 चिपसेट पर आधारित सस्ते कैरेक्टर LCD विभिन्न आकारों में आते हैं: 2x16, 4x20, आदि। इन डिस्प्ले में दो मानक इंटरफ़ेस मोड, 4 बिट और 8 बिट समानांतर होते हैं। 8 बिट के लिए कुल 11 डेटा लाइनों की आवश्यकता होती है, 4 बिट के लिए 7 (केवल-लिखने के लिए 6) की आवश्यकता होती है। कुछ LCD एक अतिरिक्त सीरियल डेटा मोड का समर्थन करते हैं, जैसे VFD I को Hack a Day में कवर किया गया था। HD44780 LCD आमतौर पर बैक लाइट के लिए एक अलग आपूर्ति के साथ 5volt भाग होते हैं। बस पाइरेट में केवल पाँच 5 वोल्ट सहिष्णु I/O पिन होते हैं, इसलिए हमने LCD को नियंत्रित करने के लिए पर्याप्त पिन के साथ एक छोटा एडेप्टर बोर्ड बनाया। बस पाइरेट अपनी एलसीडी इंटरफेस लाइब्रेरी के माध्यम से एडेप्टर बोर्ड को नियंत्रित करता है। बस पाइरेट एचडी44780 कैरेक्टर एलसीडी एडेप्टर बोर्ड और इंटरफेस लाइब्रेरी के बारे में पढ़ना जारी रखें। मेरे पास दुनिया भर में शिपिंग सहित लगभग $ 15 के लिए सीड स्टूडियो द्वारा उत्पादित पीसीबी, किट या असेंबल किट हो सकते हैं। मैं कुछ स्वरूपण तत्वों और HTML तालिकाओं को एक निर्देश में शामिल नहीं कर सका, आप मूल पोस्ट को खतरनाक प्रोटोटाइप पर देख सकते हैं ब्लॉग।

चरण 1: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

अवलोकनइस लेख में हम HD44780-आधारित LCD के लिए I2C अडैप्टर बोर्ड की रूपरेखा तैयार करते हैं। हम इसे बस पाइरेट यूनिवर्सल सीरियल इंटरफ़ेस के साथ प्रदर्शित करते हैं। I2C-आधारित HD44780 इंटरफ़ेस लाइब्रेरी के लिए बस समुद्री डाकू स्रोत कोड सार्वजनिक डोमेन है, इसलिए यह आपकी अपनी परियोजनाओं के अनुकूल होने के लिए स्वतंत्र है। हार्डवेयर पूर्ण आकार सर्किट छवि [PNG]। सर्किट और पीसीबी को कैडसॉफ्ट ईगल के मुफ्त संस्करण के साथ डिजाइन किया गया था। डिज़ाइन फ़ाइलें बस समुद्री डाकू एसवीएन से डाउनलोड की जा सकती हैं। एडेप्टर बोर्ड का उपयोग करने से पहले, अपने एलसीडी के लिए एडेप्टर पिनआउट के खिलाफ डेटाशीट को सत्यापित करना सुनिश्चित करें। सभी LCD एक जैसे नहीं होते हैं। PCF8574 I/O विस्तारक IC यह एक साधारण 8 I/O विस्तारक चिप है जिसे दो-तार I2C इंटरफ़ेस के माध्यम से नियंत्रित किया जाता है। I2C इंटरफ़ेस हैडर JP1 से पहुँचा जा सकता है। PCF8574 2.5 से 5volts तक काम करता है। I/O पिन आपूर्ति वोल्टेज पर काम करते हैं, इसलिए यदि हम इसे 5 वोल्ट खिलाते हैं तो यह 5 वोल्ट पर एलसीडी को इंटरफेस करता है। C1 (0.1uF) IC को बिजली की आपूर्ति में उतार-चढ़ाव से अलग करता है। PCF8574 का एक पिन वर्तमान सीमित रोकनेवाला R2 (1000 ओम) के माध्यम से एक 3mm LED (LED1) को नियंत्रित करता है। बस समुद्री डाकू और एडेप्टर के बीच सफल संचार को इंगित करने के लिए एलईडी रोशनी। PCF8574 एलईडी को बिजली देने के लिए पर्याप्त करंट का स्रोत नहीं बना सकता है, इसलिए हम एलईडी को 5 वोल्ट की आपूर्ति से बिजली देते हैं और जमीन को स्विच करते हैं। LCD एडेप्टर बोर्ड 4bit समानांतर इंटरफ़ेस मोड में HD44780-आधारित वर्ण LCD के साथ संचार करता है। 4 बिट इंटरफ़ेस पिन - RS, RW, EN, और D4-D7 - PCF8574 I/O पिन में से सात से जुड़े हैं। हम एडॉप्टर को एलसीडी से कनेक्ट करने के लिए 0.1 "पुरुष पिन हेडर का उपयोग करना पसंद करते हैं, आप आमतौर पर एक त्वरित परीक्षण के लिए पर्याप्त संपर्क बनाने के लिए एलसीडी को पिन के खिलाफ झुका सकते हैं। ट्रिमर रोकनेवाला आर 1 (10 के) पिन 3 के लिए एक विपरीत समायोजन वोल्टेज प्रदान करता है एलसीडी हेडर। हमने बैकलाइट पिन को कनेक्ट नहीं किया क्योंकि बैकलाइट की कई अलग-अलग शैलियाँ हैं। एलईडी बैकलाइट के लिए बिजली प्रदान करने से उस स्क्रीन को नुकसान हो सकता है जिसके लिए नकारात्मक वोल्टेज की आपूर्ति की आवश्यकता होती है। बिजली की आपूर्ति अधिकांश एलसीडी को 5 वोल्ट की आवश्यकता होती है, इसके माध्यम से बाहरी बिजली की आपूर्ति प्रदान करते हैं। हेडर JP2। हमने बस समुद्री डाकू के पुल-अप प्रतिरोधों को जोड़ने के लिए एक दूसरा बिजली आपूर्ति पिन प्रदान किया। पीसीबी सर्किट और पीसीबी को कैडसॉफ्ट ईगल के मुफ्त संस्करण के साथ डिजाइन किया गया था। डिजाइन फाइलें बस समुद्री डाकू एसवीएन से डाउनलोड की जा सकती हैं। पीसीबी है सिंगल जम्पर वायर (लाल रंग में दिखाया गया) के साथ एक सिंगल साइडेड, ऑल थ्रू-होल डिज़ाइन। हमारे पास सीड स्टूडियो द्वारा उत्पादित पीसीबी, किट, या इकट्ठे किट दुनिया भर में शिपिंग सहित लगभग $ 15 के लिए हो सकते हैं। पार्टलिस्ट पार्ट वैल्यू (सभी रफ-होल) C10.1uF/10volts+R110000 (10K) ओम सिंगल टर्न ट्रिमर/पोटेंशियोमीटर, 6mmR21000 (1K) ओम रेसिस्टर, 1/4 वाटLED13mm (T1) LED, redJP1+JP20.1" पुरुष हेडर, 5 पिनIC1PCF8574N, 8bit IC1I के लिए I2C I/O विस्तारक DIP16ICS116 पिन DIP सॉकेट एक निर्देशयोग्य में कुछ स्वरूपण तत्वों और HTML तालिकाओं को शामिल नहीं कर सका, आप मूल पोस्ट को डेंजरस प्रोटोटाइप ब्लॉग पर देख सकते हैं।

चरण 2: कनेक्शन

सम्बन्ध
सम्बन्ध

डिवाइस: HD44780 कैरेक्टर LCD. Bus: 4bit समानांतर, PCF8574 I2C अडैप्टर बोर्ड के साथ। पावर आवश्यकताएं: 5volts। संदर्भ: उदाहरण डेटाशीट [PDF], HD44780 कमांड संदर्भ, HD44780 LCD uber-site। इस प्रदर्शन के लिए पूर्ण बस समुद्री डाकू सत्र लॉग। हम बस पाइरेट यूनिवर्सल सीरियल इंटरफ़ेस की एलसीडी लाइब्रेरी के लिए एडेप्टर डिज़ाइन किया गया है, लेकिन यह किसी भी चीज़ के साथ काम करेगा जो I2C प्रोटोकॉल बोल सकता है। उदाहरण I2C->HD44780 कार्यान्वयन के लिए बस समुद्री डाकू स्रोत कोड पर एक नज़र डालें। तालिका में दिखाए गए अनुसार बस समुद्री डाकू को एडेप्टर बोर्ड से कनेक्ट करें। यदि आप बिना एडेप्टर बोर्ड के साथ चल रहे हैं तो तालिका PCF8574 IC के कच्चे कनेक्शन को भी दिखाती है। एडॉप्टर को LCD के लिए पर्याप्त बिजली की आपूर्ति से कनेक्ट करें, आमतौर पर 5volts। एडेप्टर और बस पाइरेट के बीच I2C कनेक्शन के लिए 2 और 10K के बीच पुल-अप प्रतिरोधों की आवश्यकता होती है। यहां पुल-अप के साथ मिश्रित वोल्टेज इंटरफेसिंग और बस समुद्री डाकू ऑन-बोर्ड पुल-अप प्रतिरोधों के बारे में अधिक जानकारी है। मैं कुछ स्वरूपण तत्वों और HTML तालिकाओं को एक निर्देश में शामिल नहीं कर सका, आप मूल पोस्ट को खतरनाक प्रोटोटाइप ब्लॉग पर देख सकते हैं.

चरण 3: चरण 1. सेटअप लाइब्रेरी

चरण 1. सेटअप लाइब्रेरी
चरण 1. सेटअप लाइब्रेरी

इंटरफेसिंग हमने एडॉप्टर डिज़ाइन को कवर किया है और इसे बस पाइरेट से कैसे जोड़ा जाए, अब अंत में LCD पर कुछ लिखने का समय आ गया है।HiZ>m <<11 <<1 <<डब्ल्यू <

पी <<2 <<v <<<वोल्टेज रिपोर्ट प्राप्त करेंवोल्टेज मॉनिटर: 5V: 4.9 | 3.3V: 3.3 | वीपीयूएलएलयूपी: 5.0 <<बस पाइरेट टर्मिनल में 'm' दबाएं और LCD लाइब्रेरी चुनें। यह वर्तमान में इस आलेख के पहले भाग (विकल्प 1) में वर्णित PFC8574 एडेप्टर का उपयोग करके केवल HD44780 वर्ण LCDs का समर्थन करता है। बिजली की आपूर्ति (बड़ा 'W') और पुल-अप प्रतिरोधों (मेनू 'p') को सक्षम करें। वोल्टेज मॉनिटर (मेनू 'v') की जाँच करें और सुनिश्चित करें कि पुल-अप वोल्टेज (Vpullup) लगभग 5volts पढ़ता है।

चरण 4: चरण 2. रीसेट और आरंभीकरण

चरण 2. रीसेट और आरंभीकरण
चरण 2. रीसेट और आरंभीकरण
चरण 2. रीसेट और आरंभीकरण
चरण 2. रीसेट और आरंभीकरण

यह तालिका एचडी44780 एलसीडी को नियंत्रित करने वाले सिंगल-बाइट कमांड की रूपरेखा तैयार करती है, यहां एक विस्तृत संदर्भ दिया गया है। इन आदेशों को बस समुद्री डाकू कमांड लाइन से दर्ज किया जा सकता है, लेकिन हमने उनमें से अधिकांश के लिए समय बचाने के लिए मैक्रोज़ बनाए हैं। < LCD2. Init LCD रीसेट करें <<< LCD3 को इनिशियलाइज़ करें और इनिशियलाइज़ करें। LCD3 साफ़ करें <<< LCD साफ़ करें, कर्सर को 04 पर वापस करें।मैक्रो 0 किसी भी बस समुद्री डाकू मोड के लिए मैक्रो मेनू प्रदर्शित करता है।एलसीडी>(2) <<<एलसीडी मैक्रो डिस्प्ले लाइन शुरू करें:1। 1 <<< सिंगल लाइन डिस्प्ले2. एकाधिक <<2 ' रीसेट <<<मैक्रो 2 में एक रीसेट अनुक्रम शामिल हैINIT <<इनिशियलाइज़ एलसीडी मैक्रो (2) स्क्रीन को 4 बिट इंटरफ़ेस मोड के लिए कॉन्फ़िगर करता है, कर्सर डिस्प्ले को सक्षम करता है, और कुछ अन्य सहायक विकल्प सेट करता है। डिस्प्ले लाइनों की संख्या कॉन्फ़िगर करें, सिंगल लाइन डिस्प्ले के लिए 1 चुनें, या अन्य सभी डिस्प्ले के लिए 2 चुनें। आरंभीकरण के बाद, कोने में दिखाई देने वाले कर्सर के साथ स्क्रीन स्पष्ट होनी चाहिए। यदि यह काम नहीं करता है, तो I2C कनेक्शन, पुल-अप प्रतिरोधों और बिजली की आपूर्ति की जांच करें, फिर पुनः प्रयास करें। HD44780 LCDs को 4bit या 8bit इंटरफ़ेस मोड के लिए प्रारंभ करने से पहले एक विशेष सिग्नल अनुक्रम के साथ रीसेट करने की आवश्यकता होती है। मैक्रो 1 इस क्रम को बनाता है। मैक्रो 2 में रीसेट अनुक्रम शामिल है, इसलिए मैक्रो 2 से पहले मैक्रो 1 का उपयोग करने की कोई आवश्यकता नहीं है।

चरण 5: चरण 3. परीक्षण वर्ण लिखें

चरण 3. परीक्षण वर्ण लिखें
चरण 3. परीक्षण वर्ण लिखें
चरण 3. परीक्षण वर्ण लिखें
चरण 3. परीक्षण वर्ण लिखें

एलसीडी>(6:80) <<राइट नंबर मैक्रो एलसीडी को 0 और 9 के बीच टेस्ट नंबरों से भर देता है। कोलन के बाद की संख्या बस पाइरेट को बताती है कि कितने टेस्ट नंबर लिखने हैं, हम 4x20LCD का उपयोग कर रहे हैं, इसलिए हम इसे भरने के लिए 80 नंबर लिखते हैं। ध्यान दें कि कर्सर पहले '0' के तहत स्थिति 0 पर समाप्त होता है।LCD>(7:80) <<लेखन वर्ण मैक्रो एलसीडी को ASCII वर्णों से भरता है, कोलन के बाद मात्रा दर्ज करें। ध्यान दें कि मुट्ठी की रेखा तीसरे पर, तीसरी पर दूसरी और दूसरी पर आखिरी पर जारी रहती है। वर्ण निरंतर नहीं हैं क्योंकि वर्ण LCD एक पंक्ति से दूसरी पंक्ति में नहीं लपेटते हैं। हम इस बारे में थोड़ी देर बाद में बात करेंगे।

चरण 6: चरण 4. एलसीडी साफ़ करें

चरण 4. एलसीडी साफ़ करें
चरण 4. एलसीडी साफ़ करें

एलसीडी>(3) <<स्पष्ट एलसीडी मैक्रो HD44780 कमांड भेजता है जो स्क्रीन को मिटा देता है और कर्सर को पहली स्थिति में लौटाता है। आप मैक्रोज़ के बिना भी इनमें से कोई भी ऑपरेशन कर सकते हैं, इस खंड की शुरुआत में कमांड टेबल देखें। इंटरफ़ेस को कमांड मोड ([) पर सेट करने के लिए बस पाइरेट में '[0b1' दर्ज करें और मैक्रो के बिना HD44780 क्लियर स्क्रीन कमांड (0b00000001) भेजें।]

चरण 7: चरण 5. टेक्स्ट टाइप करें

चरण 5. टेक्स्ट टाइप करें
चरण 5. टेक्स्ट टाइप करें
चरण 5. टेक्स्ट टाइप करें
चरण 5. टेक्स्ट टाइप करें

LCD>(8) <<<उपयोगकर्ता टेक्स्ट डालें कर्सर की स्थिति में डालने के लिए टेक्स्ट डालें।HD44780 LCD डेमो <<चरण 4 में एलसीडी को साफ करने के बाद, कर्सर पहले ब्लॉक पर स्थित होता है। हम इसे मैक्रो (4:0) के साथ भी सेट कर सकते हैं, जो कर्सर को पहले अक्षर पर ले जाता है। कर्सर मैक्रो में सम्मिलित टेक्स्ट टेक्स्ट इनपुट मांगता है, और फिर जब आप एंटर दबाते हैं तो इसे एलसीडी पर कॉपी कर लेते हैं। एलसीडी> (4:0x40) <&lt

LCD>(8) <<<पाठ्य सम्मिलित करेंकर्सर स्थिति में सम्मिलित करने के लिए पाठ दर्ज करें।बस समुद्री डाकू v2go <<दूसरी पंक्ति में लिखना थोड़ा अधिक जटिल है, यह वास्तव में 4x20 एलसीडी पर वर्ण 64 से शुरू होता है। यदि आप पंक्ति 1 (वर्ण 20) के अंत से लिखना जारी रखते हैं तो आप पंक्ति तीन की शुरुआत में समाप्त हो जाएंगे! इस पृष्ठ में अधिकांश वर्ण LCD आकारों के लिए स्मृति मानचित्रों का एक अच्छा संग्रह है। सबसे पहले, हम कर्सर को दूसरी पंक्ति (4:0x40) पर रखते हैं। इसके बाद, 'इन्सर्ट टेक्स्ट' मैक्रो हमारे इनपुट को पकड़ लेता है और इसे LCD. LCD>(4:0x14)(8)(4:0x54)(8) <<<एकाधिक मैक्रो सिंटैक्स पर कॉपी करता हैकर्सर की स्थिति में डालने के लिए टेक्स्ट डालें। फर्मवेयर v2.0+ <<< हमने टाइप किया यह टेक्स्ट दर्ज करें कर्सर की स्थिति में डालने के लिए। खतरनाक प्रोटोटाइप <<बस पाइरेट एक ही लाइन पर कई मैक्रो स्वीकार करता है, इसलिए पूरी स्क्रीन को एक साथ लिखा जा सकता है। हमने वाक्य रचना की एक पंक्ति के साथ अंतिम दो पंक्तियों को लिखा। हम '(3)(4:0)(8)(4:0x40)(8)(4:0x14)(8)(4:0x54) का उपयोग कर सकते हैं। (8)' LCD को क्लियर करने के लिए और सभी चार लाइन्स को सिंगल सिंटैक्स एंट्री के साथ लिखने के लिए।

चरण 8: चरण 6. एलसीडी से पढ़ना

चरण 6. एलसीडी से पढ़ना
चरण 6. एलसीडी से पढ़ना

बस समुद्री डाकू और एलसीडी एडेप्टर बोर्ड एलसीडी से पढ़ सकते हैं। हम स्क्रीन पर लिखे गए टेक्स्ट (डीडीआरएएम) को पढ़ेंगे, लेकिन आप सही पता सेट करके सेटिंग्स और कस्टम कैरेक्टर रैम (सीजीआरएएम) भी पढ़ सकते हैं।एलसीडी>[0b10000000 '''<<<रीड पॉइंटर सेट करें'' ']HD44780 रुपये कम, कमांड मोड <<<पंजीकरण पिन कम चुनेंसीएमडी लिखें: 0x80 <<सबसे पहले, हम बस समुद्री डाकू को एलसीडी कमांड रजिस्टर ([) में डेटा भेजने के लिए कहते हैं। इसके बाद, हम डीडीआरएएम (xxxxxxx = 000000) की शुरुआत में रीड पॉइंटर सेट करने के लिए सेट डीडीआरएएम एड्रेस कमांड (0b1xxxxxxx) का उपयोग करते हैं।]एलसीडी>]rrrrrrr <<<डेटा मेमोरी पढ़ेंHD44780 RS हाई, डेटा मोड <<<पंजीकरण चुनें उच्च पिन करेंपढ़ें: 0x48 <<< 'एच'पढ़ें: 0x44 <<< 'डी' पढ़ें: 0x34 <<< '4'पढ़ें: 0x34 <<< '4'पढ़ें: 0x37 <<< '7'पढ़ें: 0x38 < << '8'READ: 0x30 <<< '0'LCD>अंत में, बस पाइरेट को डेटा मेमोरी (]) से पढ़ने के लिए कहें, और फिर कुछ बाइट्स (rrrrrrr) पढ़ें। हमें "HD44780" मिला, जो पाठ हमने चरण 5 में स्क्रीन पर लिखा था। आपको सात बाइट्स पढ़ने के लिए शॉर्टकट r:7 का उपयोग करने में भी सक्षम होना चाहिए, लेकिन यह वर्तमान फर्मवेयर में काम नहीं कर रहा है - हम इसे पहले ठीक कर देंगे अगली रिलीज।

चरण 9: अधिक करना

अधिक करना
अधिक करना

स्टेप का सामान्य विवरण दें HD44780 कैरेक्टर LCD अडैप्टर बस पाइरेट के लिए एक उपयोगी एक्सेसरी है। इसका उपयोग त्वरित परीक्षण, या अधिक उन्नत तर्क विकास के लिए किया जा सकता है। एलसीडी के अलावा, आठ 2.5 वोल्ट -5 वोल्ट आई / ओ पिन अन्य उच्च पिन-गिनती बस समुद्री डाकू अनुप्रयोगों के लिए उपयोगी हो सकते हैं। हमारे पास पीसीबी, किट हो सकते हैं, या दुनिया भर में शिपिंग सहित, लगभग 15 डॉलर में सीड स्टूडियो द्वारा निर्मित असेंबल किट, और अधिक।

सिफारिश की: