विषयसूची:

उबेर I2C एलसीडी नियंत्रक मॉड्यूल: 6 कदम
उबेर I2C एलसीडी नियंत्रक मॉड्यूल: 6 कदम

वीडियो: उबेर I2C एलसीडी नियंत्रक मॉड्यूल: 6 कदम

वीडियो: उबेर I2C एलसीडी नियंत्रक मॉड्यूल: 6 कदम
वीडियो: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, नवंबर
Anonim
उबेर I2C एलसीडी नियंत्रक मॉड्यूल
उबेर I2C एलसीडी नियंत्रक मॉड्यूल
उबेर I2C एलसीडी नियंत्रक मॉड्यूल
उबेर I2C एलसीडी नियंत्रक मॉड्यूल
उबेर I2C एलसीडी नियंत्रक मॉड्यूल
उबेर I2C एलसीडी नियंत्रक मॉड्यूल

प्रस्तावना

यह निर्देश योग्य विवरण है कि HD44780 LCD आधारित नियंत्रक मॉड्यूल कैसे बनाया जाए (ऊपर चित्र 1)। मॉड्यूल उपयोगकर्ता को I2C पर प्रोग्रामेटिक रूप से LCD के सभी पहलुओं को नियंत्रित करने की अनुमति देता है, जिसमें शामिल हैं; एलसीडी और डिस्प्ले, कंट्रास्ट और बैक लाइट की तीव्रता। यद्यपि Arduino Uno R3 का उपयोग इसे प्रोटोटाइप करने के लिए किया गया था, यह किसी भी माइक्रोकंट्रोलर के साथ समान रूप से अच्छी तरह से काम करेगा जो I2C का समर्थन करता है।

परिचय

जैसा कि ऊपर उल्लेख किया गया है कि यह आलेख I2C एलसीडी नियंत्रक मॉड्यूल के निर्माण का दस्तावेज है, यह मुख्य रूप से एक डिजाइन अभ्यास के रूप में निर्धारित किया गया था कि यह निर्धारित करने के लिए कि एक व्यावहारिक कामकाजी पीसीबी बनाने में कितना समय लगेगा।

डिज़ाइन मानक जेनेरिक कंट्रोलर मॉड्यूल (ऊपर चित्र ३) को बदल देता है और मेरे द्वारा पहले बनाए गए इंस्ट्रक्शंस और लाइब्रेरी पर आकर्षित होता है।

प्रारंभिक अवधारणा प्रोटोटाइप (ऊपर चित्र 2) से पूर्ण, पूरी तरह से परीक्षण किए गए पीसीबी (ऊपर चित्र 1) में कुल 5.5 दिन लगे।

मुझे किन भागों की आवश्यकता है? नीचे संलग्न सामग्री का बिल देखें

मुझे किस सॉफ्टवेयर की आवश्यकता है?

  • अरुडिनो आईडीई 1.6.9,
  • Kicad v4.0.7 यदि आप PCB को संशोधित करना चाहते हैं। अन्यथा JLCPCB को 'LCD_Controller.zip' भेजें।

मुझे कौन से टूल्स चाहिए?

  • माइक्रोस्कोप कम से कम x3 (SMT सोल्डरिंग के लिए),
  • एसएमडी सोल्डरिंग आयरन (तरल फ्लक्स पेन और फ्लक्स कोर्ड सोल्डर के साथ),
  • मजबूत चिमटी (श्रीमती सोल्डरिंग के लिए),
  • ठीक सरौता (बिंदु और स्नब नोज्ड),
  • श्रव्य निरंतरता जाँच के साथ DMM।

मुझे क्या कौशल चाहिए?

  • ढेर सारा धैर्य,
  • मैनुअल निपुणता और उत्कृष्ट हाथ/आंख समन्वय का एक बड़ा सौदा,
  • उत्कृष्ट सोल्डरिंग कौशल।

शामिल विषय

  • परिचय
  • सर्किट अवलोकन
  • पीसीबी निर्माण
  • सॉफ्टवेयर अवलोकन
  • डिजाइन का परीक्षण
  • निष्कर्ष
  • संदर्भ प्रयुक्त

चरण 1: सर्किट अवलोकन

सर्किट अवलोकन
सर्किट अवलोकन

सभी इलेक्ट्रॉनिक्स का एक पूर्ण सर्किट आरेख ऊपर चित्र 1 में दिया गया है, साथ ही नीचे एक पीडीएफ भी है।

सर्किट को निम्नलिखित संवर्द्धन के साथ मानक PCF8574A I2C LCD नियंत्रक मॉड्यूल के लिए एक सटीक प्रतिस्थापन के लिए डिज़ाइन किया गया था;

  • I2C उपयोगकर्ता चयन योग्य 3v3 या 5v संगतता,
  • डिजिटल कंट्रास्ट नियंत्रण या पारंपरिक पॉट सेटिंग,
  • चिकनी लुप्त होती प्राप्त करने के लिए क्वार्टिक ईजिंग फंक्शन कंट्रोल के साथ वेरिएबल बैक लाइट इंटेंसिटी सिलेक्शन।

एलसीडी डिस्प्ले नियंत्रण

यह मानक I2C LCD नियंत्रक मॉड्यूल का एक प्रतिकृति है जो I2C के समानांतर रूपांतरण के लिए PCF8574A (IC2) का उपयोग करता है।

इसके लिए डिफ़ॉल्ट I2C पता 0x3F है।

3v3 या 5v I2C संगतता

3v3 ऑपरेशन के लिए Q1, Q2 ROpt1, 2, 5 और 6, IC1, C2 और C2 फिट करें।

यदि 5v ऑपरेशन की आवश्यकता है तो किसी भी 3v3 घटकों को फिट न करें, उन्हें 0 ओम प्रतिरोधों ROpt 3 और 4 के साथ बदलें।

डिजिटल कंट्रास्ट

डिजिटल कंट्रास्ट नियंत्रण एक डिजिटल पोटेंशियोमीटर U2 MCP4561-103E/MS और C4, R5 के उपयोग के माध्यम से प्राप्त किया जाता है।

यदि एक पारंपरिक यांत्रिक पोटेंशियोमीटर की आवश्यकता होती है, तो इसे U2, C4 और R5 के बजाय PCB, RV1 10K में लगाया जा सकता है। संगत पोटेंशियोमीटर के लिए BoM देखें।

जम्पर J6 को पाटकर I2C पता 0x2E है। यह सामान्य ऑपरेशन के लिए माना जाता है कि यह ब्रिज किया गया है।

चर वापस प्रकाश तीव्रता चयन

परिवर्तनीय बैक लाइट की तीव्रता को U1 पिन 6 a ATTiny85 के माध्यम से LCD LED बैक लाइट के PWM मॉड्यूलेशन द्वारा नियंत्रित किया जाता है। मानक I2C LCD नियंत्रक मॉड्यूल R1, T1 R7 और T2 के साथ पूर्ण संगतता बनाए रखने के लिए + ve आपूर्ति रेल को संशोधित करने के लिए उपयोग किया जाता है।

इसके लिए डिफ़ॉल्ट I2C पता 0x08 है। प्रोग्रामिंग U1 से पहले संकलन समय पर यह उपयोगकर्ता चयन योग्य है।

चरण 2: पीसीबी निर्माण

पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण
पीसीबी निर्माण

जैसा कि पहले उल्लेख किया गया है कि यह निर्देश योग्य एक अभ्यास था, जिसका मुख्य रूप से यह निर्धारित करना था कि एक डिजाइन को पूरा करने में कितना समय लगेगा (जिसका व्यावहारिक उद्देश्य था)।

इस उदाहरण में मैंने शनिवार दोपहर को प्रारंभिक अवधारणा के बारे में सोचा और ऊपर शनिवार शाम चित्र 1 तक प्रोटोटाइप पूरा कर लिया था। जैसा कि कहा गया है, मेरा विचार I2C एलसीडी नियंत्रक मॉड्यूल का अपना संस्करण बनाना था, एक समान पदचिह्न के साथ, I2C पर एलसीडी के पूर्ण प्रोग्रामेटिक नियंत्रण की पेशकश करना।

योजनाबद्ध आरेख और पीसीबी लेआउट Kicad v4.0.7 pics 2 और 3 के साथ विकसित किए गए थे। यह रविवार दोपहर को पूरा किया गया था और भागों को Farnell से मंगवाया गया था और PCB को रविवार शाम तक JLCPCB पर अपलोड कर दिया गया था।

घटक बुधवार को फार्नेल से आए, उसके बाद गुरुवार को जेएलसीपीसीबी से पीसीबी आए (मैंने चीजों को गति देने के लिए डीएचएल डिलीवरी सेवा का इस्तेमाल किया) चित्र 4, 5, 6 और 7।

गुरुवार शाम तक दो बोर्ड (3v3 और 5v वेरिएंट) का निर्माण किया गया था और 4 बाय 20 एलसीडी डिस्प्ले पर सफलतापूर्वक परीक्षण किया गया था। चित्र 8, 9 और 10।

प्रारंभिक अवधारणा से पूरा होने तक 5.5 दिनों का एक अद्भुत।

यह मुझे चकित करता है कि जेएलसीपीसीबी कितनी तेजी से ऑर्डर लेने में सक्षम है, एक दो तरफा पीटीएच पीसीबी का निर्माण करता है और इसे यूके में भेजता है। निर्माण के लिए 2 दिन और डिलीवरी के लिए 2 दिन का ब्लिस्टरिंग। यह यूके स्थित पीसीबी निर्माताओं की तुलना में तेज है और कीमत के एक अंश पर है।

चरण 3: सॉफ्टवेयर अवलोकन

सॉफ्टवेयर अवलोकन
सॉफ्टवेयर अवलोकन
सॉफ्टवेयर अवलोकन
सॉफ्टवेयर अवलोकन

I2C LCD नियंत्रक मॉड्यूल को नियंत्रित करने के लिए आवश्यक सॉफ़्टवेयर के तीन मुख्य घटक भाग हैं;

1. लिक्विड क्रिस्टल_I2C_PCF8574 Arduino लाइब्रेरी

यहां उपलब्ध है

LCD डिस्प्ले को नियंत्रित करने के लिए अपने Arduino स्केच में उपयोग करने के लिए।

नोट: यह जेनेरिक I2C LCD मॉड्यूल कंट्रोलर के साथ समान रूप से अच्छी तरह से काम करता है। केवल यह अन्य पुस्तकालयों की तुलना में कार्यक्षमता देता है।

2. MCP4561_DIGI_POT Arduino लाइब्रेरी

एलसीडी कंट्रास्ट को प्रोग्रामेटिक रूप से नियंत्रित करने के लिए अपने स्केच में उपयोग करने के लिए

यहां उपलब्ध है

3. चिकनी लुप्त होती प्राप्त करने के लिए पीडब्लूएम और क्वार्टिक ईजिंग फ़ंक्शन का उपयोग करके एलसीडी बैक लाइट स्तर का प्रोग्रामेटिक नियंत्रण।

जैसा कि पहले उल्लेख किया गया है कि बोर्ड में एक एकल ATTiny85 होता है जिसका उपयोग डिस्प्ले बैक लाइट के क्रमिक लुप्त होने को नियंत्रित करने के लिए किया जाता है।

इस सॉफ़्टवेयर का विवरण पहले के निर्देशयोग्य 'स्मूथ PWM LED फ़ेडिंग विद द ATTiny85' में दिया गया है।

इस मामले में अंतिम पीसीबी आयामों को एक सामान्य एलसीडी नियंत्रक मॉड्यूल के समान रखने के लिए ATTiny85 के SOIC संस्करण को चुना गया था। Pics 1 और 2 दिखाते हैं कि कैसे ATTiny85 SOIC को प्रोग्राम किया गया और प्रोटोटाइप सेट अप में परीक्षण किया गया।

ATTiny85 में प्रोग्राम किया गया कोड 'Tiny85_I2C_Slave_PWM_2.ino' यहां उपलब्ध था।

अपना खुद का ATTiny85 प्रोग्रामर बनाने के तरीके के विवरण के लिए इस निर्देशयोग्य को देखें 'ATTiny85, ATTiny84 और ATMega328P प्रोग्रामिंग: Arduino ISP के रूप में'

चरण 4: डिजाइन का परीक्षण

डिजाइन का परीक्षण
डिजाइन का परीक्षण
डिजाइन का परीक्षण
डिजाइन का परीक्षण

डिजाइन का परीक्षण करने के लिए मैंने 'LCDControllerTest.ino' नामक एक स्केच बनाया, जो उपयोगकर्ता को किसी भी एलसीडी विशिष्ट पैरामीटर को सीधे सीरियल टर्मिनल कनेक्शन पर सेट करने की अनुमति देता है।

स्केच मेरे GitHub रिपॉजिटरी I2C-LCD-Controller-Module पर पाया जा सकता है

ऊपर दिया गया चित्र 1 5v I2C अनुपालन बोर्ड प्रेस को 4 बाय 20 LCD और चित्र 2 को पहली बार परीक्षण कोड चलाते समय डिफॉल्ट डिस्प्ले दिखाता है।

यह बैकलाइट और कंट्रास्ट के लिए निम्न डिफ़ॉल्ट मानों का उपयोग करता है;

  • #परिभाषित DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((अहस्ताक्षरित लंबा) (10))
  • #परिभाषित DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

मैंने पाया कि ये 4 बाय 20 एलसीडी डिस्प्ले के साथ अच्छी तरह से काम करते हैं जो मेरे पास खाली पड़े थे।

चरण 5: निष्कर्ष

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

एक गलती आमतौर पर आपको शेड्यूल पर कुछ हफ्तों का खर्च देती है और लाभ मार्जिन (और संभवतः आपकी नौकरी) को उड़ा देती है।

पीसीबी को 'आर्ट वर्क्स' कहा जाता था, क्योंकि वे वास्तव में कला के काम थे। एक 'ट्रेसर' या ड्राफ्ट्सपर्सन द्वारा चिपचिपा काले क्रेप टेप का उपयोग करके दो बार पूर्ण आकार में बनाया गया और फोटो को स्टैंसिल का प्रतिरोध करने के लिए फैब हाउस द्वारा फोटोग्राफिक रूप से कम किया गया।

सर्किट आरेख भी ट्रैसर द्वारा बनाए गए थे और आपके डिज़ाइन नोट्स से हाथ से तैयार किए गए थे। प्रतियां फोटो-स्टेटिकली की गईं और उन्हें 'ब्लू प्रिंट' कहा गया। क्योंकि वे हमेशा नीले रंग के होते थे।

माइक्रो-कंट्रोलर केवल अपनी प्रारंभिक अवस्था में थे और आमतौर पर सर्किट में अनुकरणीय थे यदि आपकी कंपनी जटिल और महंगे विकास वातावरण के साथ एक को वहन कर सकती थी।

उस समय एक निर्माता के रूप में, सॉफ्टवेयर विकास उपकरण श्रृंखला की मात्र लागत निषेधात्मक थी, आपको अनिवार्य रूप से EPROM (रैम/फ्लैश यदि आप बहुत भाग्यशाली थे) में सीधे हेक्स मानों को पोक करने के लिए मजबूर किया गया था, तो परिणामी व्यवहार की व्याख्या करने में घंटों खर्च करें ताकि यह निर्धारित किया जा सके कि क्या आपका कोड ऐसा कर रहा था यदि यह अपेक्षा के अनुरूप काम नहीं कर रहा था (बिट 'विगलिंग' या सीरियल प्रिंटफ सबसे लोकप्रिय डिबग तकनीक है। कुछ चीजें कभी नहीं बदलती हैं)। आपको आम तौर पर अपने सभी पुस्तकालय लिखने पड़ते थे क्योंकि कोई भी उपलब्ध नहीं था (निश्चित रूप से इंटरनेट जैसा कोई समृद्ध स्रोत नहीं था)।

इसका मतलब है कि आपने यह समझने में बहुत समय बिताया कि कुछ कैसे काम करता है और रचनात्मक रूप से कम समय व्यतीत करता है।

आपके सभी आरेख हाथ से खींचे गए थे, आमतौर पर A4 या A3 पर और उन्हें पूरी तरह से सोचा जाना था, जिससे उन्हें बाएं से दाएं सिग्नल पथ का तार्किक प्रवाह मिल सके। सुधारों का आमतौर पर मतलब होता है कि आपको एक नई शीट से शुरुआत करनी होगी।

अधिकांश भाग के लिए आपके अंतिम सर्किट को स्थायीता के लिए वर्बार्ड का उपयोग करके विकसित किया गया था और इसे 'पेशेवर स्पर्श' देने के लिए एक साधारण एबीएस संलग्नक में लगाया गया था।

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

कुछ ऐसा जो आप केवल एक दशक से भी कम समय पहले सपना देख सकते थे।

कैसे चीजें बेहतर के लिए बदल गई हैं।

चरण 6: प्रयुक्त संदर्भ

KiCAD योजनाबद्ध कब्जा और पीसीबी डिजाइन

KiCAD EDA

Arduino ORG सॉफ्टवेयर डेवलपमेंट टूल

अरुडिनो

लिक्विड क्रिस्टल_I2C_PCF8574 Arduino लाइब्रेरी

यहां

MCP4561_DIGI_POT Arduino लाइब्रेरी

यहां

ATTiny85. के साथ चिकना PWM एलईडी लुप्त होती

यहां

ATTiny85, ATTiny84 और ATMega328P प्रोग्रामिंग: Arduino ISP के रूप में

सिफारिश की: