Birçok projede hem ucuz olması hem de kolay bulunması bakımından 16x2 LCD ekranları kullanıyoruz. Bu yazımızda Arduino ile LCD Ekran Kullanımı 'na bakıyor olacağız. Üzerinde Hitachi 'nin ürettiği HD44780 sürücü entegresi bulunmakta. Aşağıda görselde ekranla birlikte 16x2 LCD ekran pin bağlantıları da verilmiştir.
Pin detayları şu şekilde:
- GND : Ground
- VCC : +5V
- Contrast : Ekran kontrastını ayarlamamıza yardımcı olur, bir potansiyometre ile 5V voltaj bölücü şeklinde konfigüre edilerek kullanılabilir, potansiyometrenin kenar uçlarını +5v ve GND ye bağlayıp orta ucu da Contrast pinine bağlayarak kontrast ayarı yapabilirsiniz.
- RS : Register Select pini, komut mu data mı gönderiyoruz onu seçmemizi sağlıyor LOW durumda instruction (yani komut) HIGH durumda data (yani karakter) gönderiyoruz.
- RW : Read Write seçimi için kullanılıyor, LOW : write, HIGH : read; ekrandan veri okumayacağımız için direkt olarak GND 'ye bağlayabiliriz.
- D0-D7 : data pinleri 8 bit mode için tamamı, 4 bit mode için D4,D5,D6,D7 kullanmak yeterli.
- Backlight(+)(-) : Arkaplan ışıklarının voltaj girişleri 220 Ω bir dirençle kullanılması sağlıklı olur, Backlight(+) pinini PWM pinlerinden birine bağlayarak ışık şiddetini de ayarlayabilirsiniz, bu durumda da direnç kullanmanızı tavsiye ederim, PWM %100 duty 'ye ulaştığında ledleriniz bozulabilir.
16x2 LCD Ekran Arduino Bağlantı Şeması |
// include the library code: #include <LiquidCrystal.h> // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis() / 1000); }
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); lcd nesnesini başlatır.
lcd.begin(16, 2); ekranı başlatır 16 ve 2 ekranımızın sütun ve satır numaralarıdır.lcd.setCursor(0, 1); imleçi pozisyonlar ilk parametre sütun ikinci parametre satır,yandaki parametreler için imleç 0. sütün 1. satırda yer alacak.lcd.print("hello, world!"); ekrana bizim için hello, world! yazar, bir metin yazmakistediğimizde bu fonksiyonu kullanabiliriz.