- आवश्यक सामग्री
- सर्किट आरेख
- 128 * 64 ग्राफिकल एलसीडी
- छवि को हेक्स कोड में बदलना:
- Arduino कोड और कार्य स्पष्टीकरण
इलेक्ट्रॉनिक प्रोजेक्ट्स में कई तरह के एलसीडी का इस्तेमाल होता है। हमने पहले ही अपनी कई परियोजनाओं में 16X2 एलसीडी का उपयोग किया है और Arduino के साथ TFT LCD का भी उपयोग किया है। आप इस लिंक का पालन करके हमारी पूरी 16X2 एलसीडी संबंधित परियोजना पा सकते हैं, जिसमें 8051, AVR, Arduino और कई और अधिक के साथ इंटरफेस करना शामिल है ।
ST9720 ग्राफिकल एलसीडी साधारण एलसीडी से पूरी तरह से अलग है। साधारण एलसीडी केवल एक निश्चित आकार के भीतर सरल पाठ या संख्या को प्रिंट कर सकता है। लेकिन ग्राफिकल एलसीडी में हमारे पास 128 * 64 है जो 8192 डॉट्स या 8192/8 = 1024 पिक्सल के बराबर है, इसलिए चरित्र के अलावा, हम इस जीएलसीडी पर कोई भी ग्राफिकल इमेज प्रदर्शित कर सकते हैं ।
हमने पहले ही 8051 के साथ GLCD में हस्तक्षेप किया था, आज हम Arduino के साथ ग्राफिकल एलसीडी को उस पर पाठ और चित्र प्रदर्शित करने के लिए इंटरफ़ेस करेंगे ।
आवश्यक सामग्री
- Arduino UNO
- 128 * 64 ग्राफिकल एलसीडी ST9720
- पोटेंशियोमीटर -10 कि
- तारों को जोड़ना
- ब्रेड बोर्ड
सर्किट आरेख
128 * 64 ग्राफिकल एलसीडी
यह ग्राफिकल एलसीडी कम बिजली की खपत और बैटरी पावर पोर्टेबल डिवाइस के लिए भी उपयुक्त है। इसमें वाइड ऑपरेटिंग वोल्टेज रेंज 2.2v से 5.5v है और यह सीरियल और 8/4-बिट समानांतर संचार दोनों का समर्थन करता है और ST7290 LCD कंट्रोलर / ड्राइवर IC के साथ आता है । इंटरफ़ेस संचार मोड को PSB पिन 15. का उपयोग करके समानांतर और धारावाहिक के बीच स्विच किया जा सकता है। इस ग्राफिकल एलसीडी में रीसेट फ़ंक्शन पर एक स्वचालित शक्ति होती है और इसे MCU जैसे 8051, AVR, ARM, Arduino और Raspberry Pi द्वारा आसानी से नियंत्रित किया जा सकता है।
आप ST7290 128 * 64 ग्राफिकल एलसीडी के बारे में विस्तृत जानकारी के लिए डेटाशीट के माध्यम से जा सकते हैं
पिन विन्यास
पिन नं। |
पिन नाम |
विवरण |
1 |
गाण्ड |
भूमि का टर्मिनल |
२ |
Vcc |
इनपुट आपूर्ति वोल्टेज (2.7v से 5.5 v) |
३ |
वो |
एलसीडी विपरीत |
४ |
रुपये |
रजिस्टर का चयन करें RS = 0: निर्देश रजिस्टर RS = 1: डेटा रजिस्टर |
५ |
आर / डब्ल्यू |
पढ़ें / नियंत्रण लिखें |
६ |
इ |
सक्षम |
7,8,9,10,11,12,13,14 |
DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7 |
डेटा पिन (समानांतर 8 / 4bit संचार मोड में प्रयुक्त) |
१५ |
पीएसबी |
इंटरफ़ेस चयन: सीरियल संचार मोड के लिए कम (0) 8/4-बिट समानांतर बस मोड के लिए उच्च (1)। |
१६ |
एनसी |
जुड़े नहीं हैं |
१। |
आरएसटी |
पिन रीसेट करें |
१। |
वाउट |
एलसीडी वोल्टेज दोगुना उत्पादन। VOV V 7 वी। |
१ ९ |
बीएलए |
सकारात्मक आपूर्ति का समर्थन करें |
२० |
बीएलके |
बैकलाइट नकारात्मक आपूर्ति |
अनुप्रयोग
- औद्योगिक उपकरण
- अंत: स्थापित प्रणाली
- सुरक्षा
- मेडिकल
- हाथ में पकड़े जाने वाले उपकरण
छवि को हेक्स कोड में बदलना:
चित्रमय एलसीडी पर किसी भी छवि को दिखाने के लिए, हमें उस छवि के एचईएक्स कोड की आवश्यकता है, इसलिए यहां छवि को एचईएक्स कोड में बदलने के कुछ चरण हैं। इससे पहले आपको यह सुनिश्चित करना होगा कि छवि का आकार 128 * 64 से अधिक न हो।
चरण -1: सामान्य छवि का आकार घटाकर 128 * 64 या उससे कम कर दें, जिसे आप MS पेंट जैसे किसी भी छवि संपादन सॉफ़्टवेयर का उपयोग करके कर सकते हैं।
जैसा कि ऊपर चित्र में दिखाया गया है, हम छवि की चौड़ाई और ऊंचाई 128 * 64 पर सेट कर रहे हैं।
स्टेप -2: फिर आपको इमेज को “image_name .bmp ” फॉर्मेट में सेव करना होगा ।
उपरोक्त छवि में दिखाए गए प्रारूप का चयन करें और आगे की प्रक्रिया के लिए फ़ाइल को सहेजें।
चरण -3: इसे ".bmp" प्रारूप में सहेजने के बाद आपको छवि को मुद्रण के लिए हेक्स कोड में बदलना होगा । इसके लिए, मैं GIMP 2 नाम के सॉफ़्टवेयर का उपयोग कर रहा हूं, जो Bmp फ़ाइल को हेक्स कोड में परिवर्तित करता है।
जैसा कि ऊपर की छवि में दिखाया गया है, हमने GIMP 2 सॉफ़्टवेयर में ".bmp" प्रारूप फ़ाइल खोली।
चरण -4: सॉफ्टवेयर डाउनलोड करने के बाद, बीएमपी प्रारूप छवि फ़ाइल खोलें जिसे आप प्रिंट करना चाहते हैं और फिर इसे " .xbm " (एक्स बिटमैप ) प्रारूप में सहेजें । इसे सहेजने के बाद नोटपैड का उपयोग करके उस फ़ाइल को खोलें और आपको छवि का हेक्स कोड मिलेगा।
जैसा कि नीचे दिए गए चित्र में दिखाया गया है, फ़ाइल को xbm प्रारूप में सहेजने के लिए निर्यात विकल्प चुनें:
नीचे दी गई तस्वीर में दिखाए गए प्रारूप का चयन करें और छवि फ़ाइल को निर्यात करें।
फ़ाइल निर्यात करने के बाद, आपको फ़ाइल ".xbm" प्रारूप में प्राप्त होगी। नोटपैड का उपयोग करके xbm फ़ाइल खोलें और आपको HEX कोड मिलेगा जैसा कि नीचे चित्र में दिखाया गया है।
Arduino कोड और कार्य स्पष्टीकरण
Arduino के साथ ग्राफिकल एलसीडी को इंटरफ़ेस करने के लिए, पहले हमें ग्राफ़िकल एलसीडी के लिए उपयोग की जाने वाली लाइब्रेरी को परिभाषित करने की आवश्यकता है। Arduino में यह लाइब्रेरी नहीं है, आपको इस लिंक से इस लाइब्रेरी को डाउनलोड और इंस्टॉल करना होगा। फिर आप लाइब्रेरी को नीचे की तरह शामिल कर सकते हैं:
# "U8glib.h"
यहाँ, ' u8g (10) ' Arduino UNO के 10 वें पिन के साथ ग्राफिकल एलसीडी के RS (रजिस्टर सिलेक्ट) पिन के कनेक्शन को परिभाषित कर रहा है। क्रमशः सीरियल और समानांतर मोड में उपयोग किए जाने पर आरएस पिन का उपयोग 'चिप चयन' और 'रजिस्टर चयन' के रूप में किया जाता है। इसलिए, हम चिप सक्षम के लिए हाई (1) के लिए सीरियल मोड और आरएस पिन सेट का उपयोग कर रहे हैं और चिप अक्षम के लिए कम (0)।
U8GLIB_ST7920_128X64_4X u8g (10);
अब, छवि को प्रिंट करने के लिए हमें छवि के हेक्स कोड को नीचे दिए गए कोड में रखना होगा। आप किसी भी अन्य छवि को प्रिंट कर सकते हैं बस आपको छवि का हेक्स कोड पेस्ट करना होगा।
const uint8_t rook_bitmap U8G_PROGMEM = { हेक्स कोड ऑफ़ इमेज यहाँ पेस्ट करें };
इस लेख के अंत में पूर्ण Arduino कोड की जाँच करें ।
नीचे दिए गए फ़ंक्शन का उपयोग मुद्रण छवि के लिए किया जाता है, मुद्रण के लिए उपयोग की जाने वाली कमांड "u8g.drawXBMP (x, y, छवि की चौड़ाई, छवि की ऊंचाई)" है । जहां, X और Y एलसीडी पर छवि की शुरुआती स्थिति है और हमें उस छवि का आकार भी लिखना होगा जो 128 * 64 से अधिक नहीं होनी चाहिए और अंतिम तर्क में हमने फ़ंक्शन को बुलाया है जिसमें हमने छवि का HEX कोड रखा है।
शून्य चित्र (शून्य) {u8g.drawXBMP (0, 0, 128, 64, rook_bitmap); }
हमने "ड्रा" और "नेक्स्ट" नामक दो फ़ंक्शन किए हैं , जिसमें सामग्री को प्रिंट करने के लिए कोड "u8g.drawStr (x, y," abcd ") कमांड का उपयोग करके लिखा गया है । यहाँ, LCD में x और y स्थिति है जहाँ सामग्री मुद्रित की जाएगी और ' abcd ' प्रिंट होने वाली सामग्री है।
शून्य ड्रा (शून्य) {u8g.setFont (u8g_font_unifont); u8g.drawStr (07, 35, "सर्किट डाइजेस्ट"); } void अगला (शून्य) {u8g.setFont (u8g_font_unifont); u8g.drawStr (0, 15, "इंटरफेसिंग"); u8g.drawStr (0, 35, "ग्राफिकल एलसीडी"); u8g.drawStr (0, 55, "अरुडिनो के साथ"); }
ClearLCD () फ़ंक्शन केवल फ़ंक्शन को शून्य मान देकर एलसीडी को साफ़ करने के लिए बनाया गया है।
void clearLCD () {u8g.firstPage (); do {} जबकि (u8g.nextPage ()); }
नीचे दिए गए कोड का उपयोग करके पिक्सेल, रंग और तीव्रता सेट करना
void setup (शून्य) {if (u8g.getMode () == U8G_MODE_R3G3B2) {u8g.setColorIndex (255); // सफेद} और यदि (u8g.getMode () == U8G_MODE_GRAY2BIT) {u8g.setColorIndex (3); // अधिकतम तीव्रता} और यदि (u8g.getMode () == U8G_MODE_BW) {u8g.setColorIndex (1); // पिक्सेल पर} और अगर (u8g.getMode () == U8G_MODE_HICOLOR) {u8g.setHiColorByRGB (255,255,255); }}
शून्य पाश करने के लिए जारी पाठ और छवि को मुद्रित दिया विलंब के बाद। सबसे पहले, हम मुद्रित है "सर्किट डाइजेस्ट" का उपयोग कर ड्रा समारोह और 2sec के बाद। विलंब के कारण हमने क्लियरएलसीडी फ़ंक्शन का उपयोग करके स्क्रीन को साफ़ कर दिया और फिर अगले फ़ंक्शन का उपयोग करके " Arduino का उपयोग करते हुए ग्राफ़िकल एलसीडी को इंटरफैस करें " । फिर हमने चित्र () फ़ंक्शन का उपयोग करके छवि को प्रिंट किया है जो 3 सेकंड के लिए स्क्रीन पर रहेगा। यह तब तक जारी रहेगा जब तक बिजली की आपूर्ति चालू नहीं हो जाती।
शून्य लूप (शून्य) {u8g.firstPage (); do {ड्रा (); } जबकि (u8g.nextPage ()); देरी (2000); क्लियरएलसीडी (); u8g.firstPage (); अगला करें(); } जबकि (u8g.nextPage ()); देरी (2000); क्लियरएलसीडी (); u8g.firstPage (); do {चित्र (); } जबकि (u8g.nextPage ()); देरी (3000); क्लियरएलसीडी (); देरी (50); }
दिए गए कोड का उपयोग करके Arduino की प्रोग्रामिंग करने के बाद, सर्किट आरेख के अनुसार ग्राफिकल एलसीडी को Arduino के साथ कनेक्ट करें और एडाप्टर या USB का उपयोग करके Arduino की आपूर्ति करें। आपको ग्राफिकल एलसीडी पर कंटेंट और इमेज छपे हुए मिलेंगे, जैसा कि नीचे दिए गए वीडियो में दिखाया गया है ।
इसके अलावा Arduino के साथ नोकिया 5110 ग्राफिकल एलसीडी की जांच करें,