एक एलसीडी स्क्रीन एक समाधान हो सकता है उन परियोजनाओं के लिए जिनमें आपको लगातार जुड़े कंप्यूटर पर निर्भर रहने के बिना जानकारी प्रदर्शित करने की आवश्यकता होती है। यही है, एक Arduino / रास्पबेरी पाई परियोजना में, आप सेंसर रीडिंग प्राप्त करने के लिए स्क्रीन पर प्रदर्शित होने वाली जानकारी प्रसारित करने के लिए सीरियल पोर्ट का उपयोग कर सकते हैं, एक ग्राफ दिखा सकते हैं, खाते, आदि। लेकिन अगर आपका प्रोजेक्ट लगातार चल रहा है या जहां आप कंप्यूटर रख सकते हैं, उससे कहीं ज्यादा दूर एलसीडी स्क्रीन आपका उद्धार है।
उदाहरण के लिए, कल्पना करें कि आप एक स्वचालित सिंचाई प्रणाली स्थापित करते हैं और आप अपने सब्जी के बगीचे या बगीचे में जाने पर आर्द्रता और तापमान की रीडिंग की जांच करना चाहेंगे। पीसी के लिए Arduino बोर्ड को जोड़ने के लिए कंप्यूटर को वहां ले जाना एक व्यावहारिक समाधान नहीं है। इस स्थिति में, आप अपने कोड को संशोधित कर सकते हैं ताकि कहा जा सके जानकारी एलसीडी स्क्रीन पर प्रदर्शित होती है और यहां तक कि कुछ चाबियाँ या बटन जोड़कर विभिन्न जानकारी दिखाने में सक्षम हो।
एलसीडी पैनल क्या है?
एक लिक्विड क्रिस्टल डिस्प्ले या एलसीडी (लिक्विड क्रिस्टल डिस्प्ले) यह एक प्रकार का पतला, सपाट पैनल है जो चित्र प्रदर्शित कर सकता है। प्रत्येक पैनल एक निश्चित संख्या में रंग या मोनोक्रोम पिक्सेल से बना होता है, जिसे प्रकाश स्रोत के सामने रखा जाता है। उनकी खपत कम है, यही वजह है कि वे इस प्रकार के DIY कम-शक्ति इलेक्ट्रॉनिक्स परियोजनाओं के लिए आदर्श हैं।
एलसीडी स्क्रीन पर प्रत्येक पिक्सेल दो पारदर्शी इलेक्ट्रोड और दो ध्रुवीकरण फिल्टर के बीच अणुओं की एक परत से बना होता है। के बीच फिल्टर को ध्रुवीकृत करना एक लिक्विड क्रिस्टल डिस्प्ले है, इसलिए इसका नाम, और प्रकाश को रोकता है जो पहले फिल्टर से गुजरता है दूसरे द्वारा अवरुद्ध होने से।
इसके अलावा, यदि आपने देखा है, जब आप इनमें से किसी एक स्क्रीन को छूते हैं छवि विकृत हो गई है और दबाने पर एक प्रकार का काला दाग दिखाई देता है, ऐसा इसलिए है क्योंकि आप लिक्विड क्रिस्टल पर दबाव बढ़ा रहे हैं और ऐसा करना उचित नहीं है ... आप कम गुणवत्ता वाले स्क्रीन रंगों, प्रकाश के असमान वितरण के साथ समाप्त हो सकते हैं या यहां तक कि मृत पिक्सेल (स्क्रीन पर काले धब्बे या क्षेत्र जो दूर नहीं जाते हैं)।
Arduino और रास्पबेरी पाई के लिए एलसीडी स्क्रीन
एक एलसीडी स्क्रीन, जैसे मॉड्यूल जो इलेक्ट्रॉनिक्स के लिए या Arduino के लिए मौजूद हैं, आमतौर पर जानकारी प्रदर्शित करने के लिए अल्फ़ान्यूमेरिक वर्णों या प्रतीकों और एक या दो पंक्तियों को प्रदर्शित करने के लिए कई कॉलम होते हैं। यह उन्हें सात-खंड के प्रदर्शन की तुलना में अधिक दिलचस्प बनाता है, जिसमें कई पिनों को जोड़ना होगा जो केवल एक ही नंबर, प्रतीक या पत्र को प्रदर्शित करने में सक्षम होंगे। यदि आप अधिक दिखाना चाहते हैं तो आपको कई डिस्प्ले लगाने चाहिए।
इसके बजाय, एक एकल एलसीडी स्क्रीन के साथ आप बहुत अधिक जानकारी प्रदर्शित कर सकते हैं। लेकिन आपको इस प्रकार के मॉड्यूल के पिनआउट को अच्छी तरह से पता होना चाहिए ताकि उन्हें ठीक से कनेक्ट किया जा सके। मैं आपको हमेशा देखने की सलाह देता हूं विशिष्ट निर्माता और मॉडल की डेटशीट आप के रूप में वे भिन्न हो सकते हैं।
उदाहरण के आप इसे Adafruit से Amazon पर खरीद सकते हैं, जो एक कीबोर्ड के साथ सबसे लोकप्रिय में से एक है और इसकी प्रत्येक दो पंक्तियों में 16 वर्ण तक प्रदर्शित करने की संभावना है। और यहां तक कि 20 × 4, या कुछ और अधिक उन्नत और हैंअधिक जटिल चित्रों को प्रदर्शित करने के लिए बहु-इंच का रंग.
की एलसीडी स्क्रीन के लिए प्रवेश 16 × 2 आप इस डेटाशीट को देख सकते हैं...
Arduino के लिए शायद एक सरल एक बेहतर है कीबोर्ड के बिना 16x2 एलसीडी स्क्रीन। अगर आप इस बोर्ड को देखें तो इसमें पीछे की तरफ 16 पिन हैं। यदि आप बोर्ड लेते हैं और इसे उल्टा करते हैं और इसके पिन को बाएं से दाएं देखते हैं, तो आपके पास एक पिनआउट है:
- पिन 16: बैकलाइट के लिए जीएनडी
- पिन 15: बैकलाइट के लिए Vcc
- पिन 7-14: 8-बिट (अगले 8 पिन) स्क्रीन पर प्रदर्शित होने वाली जानकारी को प्रसारित करने के लिए
- पिन 6: सिंक को पढ़ें और लिखें
- पिन 5. आर / डब्ल्यू (डेटा और कमांड के लिए लिखें और पढ़ें)
- पिन 4: RS (कमांड और डेटा के बीच चयनकर्ता)
- पिन 3: कंट्रास्ट कंट्रोल
- पिन 2: शक्ति के लिए 5 v का Vcc
- पिन 1: जीएनडी (0v) शक्ति के लिए
याद रखें कि जब आप इसे उसकी सही स्थिति में रखते हैं तो पिन उलट जाती हैं ...
Arduino के साथ एकीकरण
पैरा इसे arduino से कनेक्ट करें यह बहुत जटिल नहीं है, आपको स्क्रीन पावर के लिए इनपुट वोल्टेज को विनियमित करने के लिए 220 ओम रेज़र सहित केवल विचार करना चाहिए, और स्क्रीन कंट्रास्ट को मॉड्युलेट करने के लिए एक पोटेंशियोमीटर। फिर प्रत्येक पिन को Arduino बोर्ड से उचित रूप से कनेक्ट करें और आपका काम हो गया। आप फ्रिटिंग की छवि देख सकते हैं ...
जैसा कि आप देख सकते हैं, पोटेंशियोमीटर होगा जिसके माध्यम से इसे खिलाया जाएगा एलसीडी स्क्रीन और इसके विपरीत भी समायोजित किया जाएगा। इसलिए, यह डिस्प्ले के GND और Vcc दोनों से जुड़ा होगा, साथ ही बैकलाइट कंट्रोल लाइन और कंट्रास्ट कंट्रोल से भी जुड़ा होगा। शायद यह सबसे जटिल है, फिर यह शेष पिनों को उन इनपुट / आउटपुट से जोड़ने की बात है जिन्हें आप अपनी परियोजना में उपयोग करने जा रहे हैं।
Arduino IDE के साथ प्रोग्रामिंग
प्रोग्रामिंग के लिए आपको कुछ विशिष्टताओं को ध्यान में रखना चाहिए, ध्यान रखें कि आपको न केवल डेटा भेजने का पता होना चाहिए, बल्कि इसे स्थानांतरित भी करना चाहिए, इसे स्क्रीन पर अच्छी तरह से रखें, आदि। और आपको एक पुस्तकालय का भी उपयोग करना चाहिए जिसे कहा जाता है लिक्विड क्रिस्टल, जब तक आपकी एलसीडी स्क्रीन में एक संगत हिताची HD44780 चिपसेट है। आपके पास यहां एक कोड उदाहरण है:
#include <LiquidCrystal.h> // Definimos las constantes #define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso #define ROWS 2 // Aqui las filas x2 #define VELOCIDAD 200 // Velocidad a la que se movera el texto // Indicamos los pines de la interfaz donde hayas conectado el LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Para el texto que se muestra String texto_fila = "Ejemplo LCD"; void setup() { // Configura el monitor serie Serial.begin(9600); // Configurde filas y columnas lcd.begin(COLS, ROWS); } void loop() { // Tamaño del texto a mostrar int tam_texto=texto_fila.length(); // Indicamos que la entrada de texto se hace por la izquierda for(int i=tam_texto; i>0 ; i--) { String texto = texto_fila.substring(i-1); // Limpia la pantalla para poder mostrar informacion diferente lcd.clear(); //Situar el cursor en el lugar adecuado, en este caso al inicio lcd.setCursor(0, 0); // Escribimos el texto "Ejemplo LCD" lcd.print(texto); // Esperara la cantidad de milisegundos especificada, en este caso 200 delay(VELOCIDAD); } // Desplazar el texto a la izquierda en primera fila for(int i=1; i<=16;i++) { lcd.clear(); lcd.setCursor(i, 0); lcd.print(texto_fila); delay(VELOCIDAD); } // Desplazar el texto a izquierda en la segunda fila for(int i=16;i>=1;i--) { lcd.clear(); lcd.setCursor(i, 1); lcd.print(texto_fila); delay(VELOCIDAD); } for(int i=1; i<=tam_texto ; i++) { String texto = texto_fila.substring(i-1); lcd.clear(); lcd.setCursor(0, 1); lcd.print(texto); delay(VELOCIDAD); } }
अधिक जानकारी - Arduino प्रोग्रामिंग मैनुअल (मुफ्त पीडीएफ)