Arduino ile LCD Kontrolü

Merhabalar…

Bu konumuzda Arduino ile bir 16 x 2 LCD ye nasıl yazı yazılır ve bu yazı nasıl klavyeden girilen tuşa göre sağa ve sola haraket ettirilir buna değineceğiz…

Öncelikle LCD kütüphanesine sahip olduğunuzdan emin olunuz. Eğer LCD kütüphaneniz yoksa edinmek için tıklayınız.

Neyin ne işe yaradığı kodların üzerindeki yorum satırında mevcut. Dikkat etmeniz gereken nokta LCD pin leri. Sıranın doğru olduğundan emin olunuz. Bağlantıyı kendinize göre ayarlamak için kütüphaneyi biraz incelemeniz yeterli olacaktır…

Bağlantı şemamız:

XWYWo3

İlk önce Lcd ye yazı yazma işlemine bakalım..

Bunun için internette de bir sürü örnek bulabilceğiniz gibi bir tane de ben hazırladım. Kodlarda bağlantılar görünmetke. İmleci gerekli satırlara getirip yazı istediğimizi “print” fonksiyonunu kullanarak yazıyoruz.

#include<LiquidCrystal.h>//Kütüphanemizi çağırdık

LiquidCrystal lcd(2,3,8,9,10,11);//Lcd pinlerini ayarladık
//RS ==> digital 2
//E  ==> digital 3
//D4 ==> digital 8
//D5 ==> digital 9
//D6 ==> digital 10
//D7 ==> digital 11

void setup(){
 lcd.begin(16,2);//lcd mizi tanımladık
}

void loop(){
 lcd.setCursor(0,0);    //imleci ilk satır ilk sutuna getirdik
 lcd.print("*****N*****");
 lcd.setCursor(0,1);    //imleci 2. satır ilk sutuna getirdik 
 lcd.print("Oguzhan Baser");
}

Şimdi bu yazıyı klavyeden girilen tuşa göre sağa ve sola hareket ettirelim. Bunun için Lcd ‘nin yanı sıra seri haberleşmeyide kullanacağız. Bizim belirlediğimiz tuşun basılması halinde Lcd deki yazı hareket edecek.

#include<LiquidCrystal.h>//Kütüphanemizi çağırdık

LiquidCrystal lcd(2,3,8,9,10,11);//Lcd pinlerini ayarladık
//RS ==> digital 2
//E  ==> digital 3
//D4 ==> digital 8
//D5 ==> digital 9
//D6 ==> digital 10
//D7 ==> digital 11

char karakter;  //klavyeden girilecek tuş için değişken belirledik

void setup(){
 Serial.begin(9600);  //Seri haberleşmeyi başlattık
 lcd.begin(16,2);//lcd mizi tanımladık
 lcd.setCursor(0,0);  //imleci ayarlayıp yazma işlemini gerçekleştirdik
 lcd.print("Oguzhan Baser");
 lcd.setCursor(0,1);
 lcd.print("*****N*****");
}

void loop(){
if(Serial.available()){  //Bir tuşa basıldığında işlem yapılamsını sağladık
    karakter = Serial.read();  //Girilen tuşu karakter e atadık
    Serial.println(karakter);
    if(karakter == 'A'){    //A girilmişse sola kaydırdık
      lcd.scrollDisplayLeft();
    }else if(karakter == 'S'){    //S girilmişse kaydırdık
      lcd.scrollDisplayRight();
    }
  }
}

 

Burada üstteki kodlardan farklı olarak yazma işlemini “setup” fonksiyonunda yaptım. Bunun herhangi farkı yoktur. Ama değeri değişen bir değişkeni yazdırmak için “loop” fonksiyonunda yazdırma işlemini yapmalısınız.

Teşekkürler..

 

5 Comments

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir