विषयसूची:
- चरण 1: सर्किट अवलोकन
- चरण 2: पीसीबी निर्माण
- चरण 3: सॉफ्टवेयर अवलोकन
- चरण 4: डिजाइन का परीक्षण
- चरण 5: निष्कर्ष
- चरण 6: प्रयुक्त संदर्भ
वीडियो: उबेर I2C एलसीडी नियंत्रक मॉड्यूल: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
प्रस्तावना
यह निर्देश योग्य विवरण है कि 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 के रूप में
सिफारिश की:
ब्लूटूथ नियंत्रित मैसेंजर एलसीडी -- 16x2 एलसीडी -- एचसी05 -- सरल -- वायरलेस नोटिस बोर्ड: 8 कदम
ब्लूटूथ नियंत्रित मैसेंजर एलसीडी || 16x2 एलसीडी || एचसी05 || सरल || वायरलेस नोटिस बोर्ड:……………… अधिक वीडियो के लिए कृपया मेरे यूट्यूब चैनल को सब्सक्राइब करें… ………………………………… नोटिस बोर्ड का उपयोग लोगों को नई जानकारी से अपडेट करने के लिए किया जाता है या यदि आप कमरे में या हाल में संदेश भेजना चाहते हैं
उबेर बटन: 7 कदम
उबेर बटन: केवल एक बटन दबाकर उबर की सवारी प्राप्त करें! परिचय इस ट्यूटोरियल में, हम निकटतम प्राप्त करने के लिए सिगफॉक्स नेटवर्क स्थानीयकरण सेवा (जो अभी के लिए, अधिकतम 1 किमी त्रिज्या स्थिति सटीक दे सकते हैं) का उपयोग करेंगे। एक निर्दिष्ट करने के लिए स्थिति
एलसीडी आक्रमणकारियों: 16x2 एलसीडी कैरेक्टर डिस्प्ले पर गेम जैसा एक अंतरिक्ष आक्रमणकारी: 7 कदम
LCD Invaders: a Space Invaders Like Game on 16x2 LCD कैरेक्टर डिस्प्ले: एक पौराणिक "अंतरिक्ष आक्रमणकारियों" गेम को पेश करने की कोई आवश्यकता नहीं है। इस प्रोजेक्ट की सबसे दिलचस्प विशेषता यह है कि यह ग्राफिकल आउटपुट के लिए टेक्स्ट डिस्प्ले का उपयोग करता है। यह 8 कस्टम वर्णों को लागू करके हासिल किया जाता है। आप पूरा Arduino डाउनलोड कर सकते हैं
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 बैकपैक के साथ: ६ कदम
आई२सी बैकपैक के साथ १६०२ एलसीडी कीपैड शील्ड मॉड्यूल: एक बड़ी परियोजना के हिस्से के रूप में, मैं कुछ साधारण मेनू के नेविगेशन के लिए एक एलसीडी डिस्प्ले और एक कीपैड चाहता था। मैं अन्य कार्यों के लिए Arduino पर बहुत सारे I/O पोर्ट का उपयोग करूंगा, इसलिए मुझे LCD के लिए I2C इंटरफ़ेस चाहिए था। इसलिए मैंने कुछ हार्डवेयर खरीदे