LCD Interfacing with Arduino: In Hindi


हेलो फ्रेंड्स पिछली बार हमने led blink करना सीखा. इस बार हम LCD interface करेंगे. तो चलिए पहले शुरू करते है की यह काम कैसे करता है.

LCD Basics

आज-कल, हम लोग LCD को हर जगह देखते है. computer, calculator, टीवी, घड़ी, etc. इसमें liquid crystal होता है जिससे हम display करते है. LCD में हम 16X2 LCD की बात करेंगे. यह LCD Display में 16 columns और 2 rows होती है. इसका मतलब हम 32 character एक साथ डिस्प्ले कर सकते है. एक character 5×7 PIXEL के MATRIX में DISPLAY होती है.

2019-01-28_22h14_28.png

LCD में 16 pins होती है. यह pins कुछ इस प्रकार है:

PIN NO NAME DESCRIPTION
१. Gnd Ground
२. 5 V/ VCC
३. VEE CONTRAST ADJUSTMENT के लिए हम एक variable resistor का एक पिन GND, दुसरा VCC और तीसरा पिन इस साथ connect करते है. variable resistor को घुमाके हम लोग स्क्रीन के contrast को सेट कर सकते है.
४. RS REGISTER SELECT- जब यह 0/LOW होगा तब कमांड और जब १/HIGH करेंगे तब DATA, LCD में send करेंगे.
५. R/W READ/WRITE- 0/LOW मतलब LCD Register में write और १/HIGH मतलब LCD Register को read करेंगे.
६. EN ENABLE- data send करने के लिए एक high to low pulse इस पिन पे send करना होगा.
७. D0 Data send करने के लिए pins.
८. D1
९. D2
१०. D3
११. D4
12. D5
1३. D6
१४. D7
१५. LED+ Backlight के लिए VCC(5V)
१६. LED- Backlight के लिए GND(0V)

अब चलिए जानते है कि command और data send कैसे करते है.

जब हम RS को 0 send करते है, तब D0-D7 में जो data है वो command register में जाएगा और RS को  1 करने पर data register में जाएगा. LCD को सेटअप करने के लिए command register में हम data send करते है.  यहाँ table में कुछ command दिए गए है:

LCD को command देने के steps,

  • RS पिन को 0/low करेंगे.
  • RW पिन को भी 0/low करे क्युकी हम LCD के command register में write करने वाले है.
  • D0-D7 में जो command करना है उसका hexcode send करेंगे.
  • अब Enable पिन को १/high करे और 2 milisecond का delay देकर 0/low कर दे.

यह सारे steps करने के बाद आपका command execute होगा.

अब हमे LCD में जो भी display करना है उसका hexcode हम data register में send करेंगे.

LCD को data देने के steps,

  • RS पिन को १/high करेंगे.
  • RW पिन को भी 0/low करे क्युकी हम LCD के data register में write करने वाले है.
  • D0-D7 में data display करना है उसका hexcode send करेंगे.
  • अब Enable पिन को १/high करे और 2 milisecond का delay देके 0/low कर दे.

अब आप यह सोच रहे होंगे की यह कितना मुश्किल  काम है और कितने pins का ध्यान रखना है, पर ARDUINO में हमे LCD की Header file उपलब्ध है और उससे LCD कण्ट्रोल करना बहुत आसन है..

आपके ARDUINO project में LCD use करने के लिए पहली लाइन में #include<Liquidcrystal.h> लिखिए.

अब ARDUINO को हमे बताना पड़ता है की LCD की कौन सी पिन ARDUINO की कौन सी पिन के साथ है. इसके लिए आपको हैडर file include करने के बाद आप LiquidCrystal lcd(); command use करे. जिनको C++ के बारे में जानकारी है उन्हें पता चल गया होगा की हम यहाँ lcd नामका एक object बना रहे है जिसका class LiquidCrystal है. जिन्हें नहीं पता वो लोग टेंशन मत लीजिए, में यहाँ आपको सारी important जानकारी दूंगा.

अब LiquidCrystal lcd(); को आप इन तरीको से डिफाइन कर सकते हो.

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7); 
LiquidCrystal lcd(rs, rw, enable, d4, d5, d6, d7);
LiquidCrystal lcd(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7);
LiquidCrystal lcd(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6,d7);

अब आप कंफ्यूज हो गए होंगे की एक ही lcd को क्यों अलग-अलग तरीके से डिफाइन करने का ऑप्शन है. इसका reason यह है की हम बहुत बार pins बचाने के लिए data lines 8 की जगह 4 कर देते है और lcd को सिर्फ write ही करना होता है, इसलिए RW को ARDUINO पिन देने के बजाय GND कर देते है.

तो चलिए हम कोड करते है और lcd पर कुछ प्रिंट करवाते है.

#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
   lcd.begin(16, 2);
   lcd.print("hello, world!");
}
void loop() {
 lcd.setCursor(0, 1);
 lcd.print(“MAI TECH BABA”);
}

अब चलिए इस कोड को समझते है.

  • सबसे पहले हमने अपनी आसानी के लिए  pins को नाम दे दिया.
  • फिर हमने LiquidCrystal lcd(rs,en,d4,d5,d6,d7); से LCD सेटअप किया.
  • अब lcd.begin(16,2); मतलब हमारी lcd 16X2 की है. अगर 32X4 की होती तोह हम lcd.begin(32,4) लिखते.
  • अब तो बड़ा ही आसान है. जो भी प्रिंट करवाना हो वो आप lcd.print() में लिख दीजिये.
  • setCursor(0,1); से हमने cursor को पहले column और दूसरे row में ले गए. पहली row और पहली column पर ले जाना हो तो हम लिखते lcd.setCursor(0,0);

तो friends हमने आज lcd को ARDUINO के साथ use करना सीखा. आगे और भी बहुत कुछ है . तैयार रहिये adventurous राइड के लिए.


Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: