- सामग्री की आवश्यकता:
- नोकिया 5110 ग्राफिकल डिस्प्ले मॉड्यूल:
- सर्किट आरेख:
- Arduino कार्यक्रम और कार्य:
आइकॉनिक नाम " नोकिया 5110 " को खुद को मजबूत नोकिया मोबाइल फोन की यादों को खरीदना चाहिए था जो 90 के दशक के दौरान बहुत लोकप्रिय था। मॉडल 5110 एक ग्राफिकल डिस्प्ले के साथ आया था जो तब मोबाइल के लिए डिस्प्ले स्क्रीन के रूप में कार्य करने के लिए पर्याप्त था। यह स्क्रीन अल्फ़ान्यूमेरिक वर्णों से लेकर छोटे ग्राफिक्स तक सब कुछ प्रदर्शित करने में सक्षम थी जो कि मोबाइल फोन के लिए आवश्यक सब कुछ है। जैसा कि पृथ्वी ने चमकदार स्पर्श स्क्रीन के साथ नई तकनीक को संशोधित किया और यह डिस्प्ले अब उपयोग में नहीं है। लेकिन उम्मीद है कि उनका उपयोग इलेक्ट्रॉनिक्स अनुप्रयोगों में किया जा सकता है जहां एक छोटे ग्राफिक्स को प्रदर्शित करना पड़ता है और बड़ी एलसीडी स्क्रीन पर पैसा खर्च करने से बचते हैं। तो इस ट्यूटोरियल में हम सीखेंगे कि Arduino के साथ Nokia 5110 ग्राफिकल एलसीडी को कैसे इंटरफ़ेस करें और इसे काम कर लें।
इन एलसीडी में 84 × 48 आयामों के काले और सफेद पिक्सेल होते हैं। वे नीरस दिख सकते हैं लेकिन फिर भी आपकी परियोजनाओं के लिए सभ्य ग्राफिक्स प्रदर्शित करने के लिए उपयोग किया जा सकता है और आसानी से Arduino जैसे माइक्रोकंट्रोलर्स के साथ उपयोग किया जा सकता है। तो चलो शुरू करते है….!
सामग्री की आवश्यकता:
- Arduino Board (कोई भी संस्करण)
- नोकिया 5110 डिस्प्ले
- तारों को जोड़ना
नोकिया 5110 ग्राफिकल डिस्प्ले मॉड्यूल:
बाजार में इन ग्राफिकल एलसीडी के दो प्रकार उपलब्ध हैं। प्रदर्शन के ऊपर और नीचे दोनों में मिलाप पैड के साथ एक और प्रदर्शन के तल पर केवल मिलाप पैड के साथ अन्य। जो हम उपयोग कर रहे हैं वह टाइप 2 से संबंधित है, जहां केवल प्रदर्शन के तहत पैड हैं। दोनों मॉड्यूल समान काम करते हैं और इसलिए दोनों के लिए कनेक्शन समान हैं। तो चाहे जो भी हो, यह आप ट्यूटोरियल का पालन कर सकते हैं।
जैसा कि पहले कहा गया था कि नोकिया 5110 ग्राफिकल एलसीडी में क्षैतिज में 84 पिक्सेल और ऊर्ध्वाधर में 48 पिक्सेल हैं। कुल प्रदर्शन का आकार 1.72 'x 1.72' है। मॉड्यूल में 6 इनपुट पिन हैं, जिनका उपयोग करके हम इसे SPI संचार के माध्यम से किसी भी माइक्रोकंट्रोलर को इंटरफ़ेस कर सकते हैं। डिस्प्ले और अर्डुइनो के बीच संचार करने वाला इंटरफेसिंग आईसी, फिलिप्स पीसीडी 8544 डिस्प्ले कंट्रोलर आईसी है जिसका डेटशीट यहां पाया जा सकता है। हालाँकि यदि आप इस IC के साथ संवाद करने के लिए Arduino का उपयोग कर रहे हैं, तो हमें डेटाशीट के बारे में चिंता करने की आवश्यकता नहीं है क्योंकि वहाँ पुस्तकालय हैं जो डाउनलोड करने और उपयोग करने के लिए तैयार हैं। यहां हम जिस मॉड्यूल का उपयोग कर रहे हैं, वह नीचे दिखाया गया है।
सर्किट आरेख:
Nokia5110 ग्राफिकल एलसीडी को Arduino के साथ जोड़ने के लिए पूरा सर्किट आरेख नीचे दिया गया है।
डिस्प्ले मॉड्यूल में 8 पिन हैं जो Arduino के साथ एक SPI संचार स्थापित करने के लिए उपयोग किए जाते हैं । मॉड्यूल Arduino बोर्ड के 3.3V पिन के साथ संचालित है। ध्यान दें कि ये मॉड्यूल 3.3V तर्क पर काम करते हैं और इसलिए डिस्प्ले के Vcc पिन को 5V की आपूर्ति नहीं करते हैं। मैंने सीधे Arduino को डिस्प्ले का पिन वायर्ड किया है, भले ही LCD 3.3V लॉजिक पर और ArVino 5V लॉजिक पर काम करता है क्योंकि तभी मुझे LCD ठीक से काम करने के लिए मिला। यदि आवश्यक हो तो आप 5V को 3.3V में बदलने के लिए एक वोल्टेज विभक्त का उपयोग कर सकते हैं, लेकिन मेरे लिए यह केवल तर्क रूपांतरण के बिना काम करता है। कनेक्शन बनाने के लिए बहुत सरल और सीधे आगे हैं। एक बार जब आप कनेक्शन के साथ कर लेते हैं तो आपका सेट-अप कुछ ऐसा दिखाई देगा जैसा कि नीचे दिखाया गया है।
Arduino कार्यक्रम और कार्य:
Nokia 5110 डिस्प्ले के लिए अपने Arduino को प्रोग्राम करने के लिए नीचे दिए गए चरणों का पालन करें । कदम यह मानते हैं कि आपने पहले से ही Arduino IDE इंस्टॉल कर लिया है और इसका उपयोग करने से परिचित हैं।
चरण 1: अपने कंप्यूटर पर Arduino IDE खोलें और अपने कंप्यूटर पर अपने Arduino को जोड़ने के बाद उपकरण मेनू के तहत उपयुक्त बोर्ड का चयन करें।
चरण 2: GitHub रिपॉजिटरी से Adafruit पुस्तकालय द्वारा नोकिया 5110 डिस्प्ले लाइब्रेरी डाउनलोड करने के लिए यहां क्लिक करें।
चरण 3: ज़िप फ़ाइल डाउनलोड होने के बाद, स्केच चुनें -> लाइब्रेरी शामिल करें ->.ZIP लाइब्रेरी जोड़ें और उस स्थान पर ब्राउज़ करें जहां ज़िप डाउनलोड किया गया था।
नोट: आपको Adafruit GFX ग्राफ़िक्स कोर भी डाउनलोड करना होगा जो सभी सर्कल, टेक्स्ट, आयतों आदि को करता है। आप इसे https://github.com/adafruit/Adafruit-GFX-Library से प्राप्त कर सकते हैं और इसे उसी तरह इंस्टॉल कर सकते हैं ।
चरण 4: अब फ़ाइल -> उदाहरण -> Adafruit PCD Nokia 5110 LCD लाइब्रेरी -> pcdtest का चयन करके उदाहरण कार्यक्रम खोलें और अपलोड बटन पर क्लिक करें
चरण 5: एक बार प्रोग्राम अपलोड होने के बाद, Arduino पर रीसेट बटन दबाएं और आपको इस ट्यूटोरियल के अंत में दिए गए वीडियो में दिखाए गए उदाहरणों को प्रदर्शित करना चाहिए।
एलसीडी में विभिन्न ग्राफिक्स डिजाइन का प्रदर्शन करने के लिए उपयोग किए जा सकने वाले विभिन्न फ़ंक्शन को समझने के लिए आप उदाहरण कार्यक्रम के माध्यम से पढ़ सकते हैं। लेकिन हमें एक कदम आगे बढ़ते हैं और एलसीडी स्क्रीन पर सर्किटडिगस्ट लोगो प्रदर्शित करने का प्रयास करते हैं ।
अब में आवश्यक छवि खोलने पेंट और छवि का आकार । अधिकतम छवि आकार जिसे हम अपने प्रदर्शन के लिए उपयोग कर सकते हैं वह 84 × 48 है।
छवि को आकार देने के बाद, पेंट में विकल्प के रूप में सहेजें का उपयोग करके छवि को बिटमैप (काले और सफेद) के रूप में सहेजें । हमारी एलसीडी स्क्रीन पर एक बिटमैप के रूप में छवि प्रदर्शित करने के लिए हमें सॉफ्टवेयर की आवश्यकता होगी जो बिटमैप छवि को कोड में बदल सके। आप यहां क्लिक करके सॉफ्टवेयर डाउनलोड कर सकते हैं। एक बार फ़ाइल को अनज़िप करने के बाद, एप्लिकेशन को लॉन्च करने के लिए "बिटमैप इन्नकोडर" पर क्लिक करें । बिटमैप छवि खोलें जिसे हमने अभी एन्कोडेड मानों की सरणी प्राप्त करने के लिए इस सॉफ़्टवेयर का उपयोग करके सहेजा है। आप सीधे इन मूल्यों को कॉपी कर सकते हैं और इसे अपने Arduino सरणी में पेस्ट कर सकते हैं। हमारे लोगो के लिए सॉफ्टवेयर द्वारा दिखाया गया मूल्य नीचे दिखाया गया है
जैसा कि आप देख सकते हैं कि सरणी 48 मान से शुरू होती है , 48 यह हमारी छवि का आकार है। हमें इसे अपने एरे में नहीं जोड़ना चाहिए। इसलिए, पहले दो मानों को हटा दें और बाकी को प्रोग्राम में सरणी मान के रूप में उपयोग करें। सरणी नीचे की तरह दिखाई देगी। पूरा कार्यक्रम इस पृष्ठ के अंत में दिया जाता है आपके संदर्भ के लिए।
स्टेटिक कॉन्स्ट अहस्ताक्षरित चार PROGMEM लोगो = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B0000111000, B00000000, B00000000, B00000000, B000011, B00001111, B11111111, B0000110000, B00000000, B00000000, B00000000, B00000000, B00000000 B11111111, B11000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00001111007, B0111110011, B01111100, B0111110011, B0111110011 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000011, B11110001, B11110001, B11110001, B11110001, B11110001, B11110001, B11110001, B11110001 है। B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B0011111111, B11000111, B11110111, B1111011, B1111001000,00111000,00111000,0011001000, b1110011, B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B11111111, B00111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111 B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111110, B00001101, B00001101, B111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111 B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111111, B00111111, B11111111, B10000011, B11111110, B00000000, B0000111111, B101111111, B1011111, B11111111, B0000110000, B0000110000, B0000110000, B0000110011, B0000110011, B11111111 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B0000111111, B11111111, B11111000, B00000000, B11111110, B11111111, B11111111, B0000110000, B0000110000, B0000110000, B0000110000, B0000110000, B0000110000, B0000110000, B0000110000, B0000110011, B0000110011, B000011001, B000011001, B0000110011, B11111111, B11111111, B11111111, B1111111100 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00111111, B00001111, B00001111, B00111111, B00111111, B00111111, B00111111, B00111111, B11111111 B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B0000011111, B11111111, B10110111, B11111100, B00000000, B00001111, B11111111, B10000111, B1111111, B11110000, B000000000000, B0000110000, B0000110000 B11111111, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
अब इस बिटमैप को प्रदर्शित करने के लिए हमें कोड की निम्न पंक्तियों का उपयोग करना होगा। जहां स्क्रीन पर पिछला डेटा मिटा दिया जाता है और नई बिटमैप छवि लिखी जाती है।
display.clearDisplay (); display.drawBitmap (20, 0, लोगो, 48, 48, 1); display.display ();
लाइन प्रदर्शन । प्रत्याहार बिटमैप (20, 0, लोगो, 48, 48, 1); बिटमैप छवि की स्थिति, आकार और रंग प्रदर्शित करें। सिंटैक्स के रूप में दिया जा सकता है।
display.drawBitmap (X_Position, Y_Position, सरणी का नाम, छवि की लंबाई, छवि की चौड़ाई);
छवि की लंबाई और चौड़ाई क्रमशः सरणी के पहले दो तत्व से प्राप्त की जा सकती है जैसा कि पहले बताया गया है। जब यह कोड चलाया जाता है तो हमें नीचे दिखाए गए अनुसार हमारी एलसीडी स्क्रीन पर प्रदर्शित बिटमैप मिलेगा ।
आप नीचे दिखाए गए अनुसार सरल पाठ भी प्रदर्शित कर सकते हैं:
आशा है कि आप ट्यूटोरियल को समझ गए और अपने नोकिया 5110 एलसीडी को Arduino के साथ इंटरफ़ेयर कर लिया । अपनी आस्तीन में इस चित्रमय प्रदर्शन के साथ आप कई परियोजनाएं बना सकते हैं जिनमें मामूली ग्राफिक्स विवरण की आवश्यकता होती है। पूरा काम नीचे दिए गए वीडियो में पाया जा सकता है । यदि आपको यह काम करने में किसी भी समस्या का सामना करना पड़ता है तो आप अपनी समस्या या टिप्पणी अनुभागों को पोस्ट करने के लिए मंच का उपयोग कर सकते हैं।