arduino lcd kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Merhabalar,
Bir önceki yazımızda arduino ile paralel olarak lcd kontrolü ve kütüphanesinden bahsetmiştik.
Bu yazımızda ise seri ve paralel kontrolün farkından ve seri olarak lcd ekranın kontrol edilmesinden bahsedeceğiz.

Nedir paralel ve seri lcd kontrol arasındaki farklılıklar ?

Paralel olarak lcd ekran kontrolünde hatırlarsanız lcd ekrana veri gönderimi için 4 adet pin kullanmıştık ve bu 4 adet pin üzerinden verilerimizi ekrana göndermiştik.Seri ekran kontrolü sırasında ise arduino ile seri haberleşebilen lcd ekran arasında aynı hat üzerinde bitlik seriler halinde haberleşme sağlanır.Böylece arduino pinlerinden tasarruf sağlanmış olur.

Arduino ide bize serLcd kütüphanesi ile seri olarak lcd ekran kontrolü sağlamamızı sağlamaktadır.İsterseniz bu kütüphanenin bize sunduğu fonksiyonları ele alalım.

serLCD(int pin) : pin ile tx pinini tanımlıyoruz ve seri ekranı bu pin ile birlikte belirtiyoruz.

clear() : ekran üzerindeki tüm verileri temizler

clearLine(int satır) : int ile belirtilen satırı temizler

selectLine(int satır) : işaretçimizi satır ile belirliediğimiz konuma getirir

setBrightness(int deger): lcd ekranın kontrast değerini deger ile int olarak vermemizi sağlar

home(): işaretçinin lcd ekran üzerinde sol en üst köşeye gelmesini sağlar

print(data): Verinin ekrana bastırılmasını sağlamaktadır

setSplash(): ilk 2 satırı ekranın başlangıç ekranı olarak atar.

toggleSplash(): splash ekranı aktif ya da deaktif etmemize olanak tanır

leftToRight(): ekranda veri akışının soldan sağa doğru olacağını belirtmeye yarar

rightToLeft(): ekranda veri akışının sağdan sola doğru olacağını belirtmeye yarar

blink(): işaretçinin ve üzerinde olduğu karakterin yanıp sönmesine olanak tanır

noBlink(): işaretçinin yanıp sönmesini engeller

cursor(): işaretçinin yerini belirtir.İşaretçinin üzerinde bulunan karakter altında alt çizgi belirir

noCursor(): işaretçinin gizlenmesine olanak tanır

display(): ekranı açar.Son olarak kalan veri tekrar ekrana gelir

noDisplay(): ekranı kapatır ve ekranda son olarak kalan veri display fonksiyonu için kayıt altına alınır

setCursor(int satır,int sütun): işaretçiyi satır ve sütun numarasına götürür

Örnek uygulamamızda seri olarak lcd ekran kullanımın yanı sıra lcd ekran üzerinde sıcaklık sensöründen almış olduğumuz verileri ekrana yazdıracağız.



DS18B20 sıcaklık sensörü üzerinde dijital olarak alacağımız sıcaklık verisini lcd ekran üzerine bastıracağız.


Gelelim kodlarımıza :

#include <SoftwareSerial.h>// yazılımsal olarak seri pin kütüphanemizi ekliyoruz
#include <serLCD.h>// seri lcd ekran kütüphanemizi ekliyoruz
#include <OneWire.h>// Sıcaklık sensörü ile tek hat üzerinden haberleşeceğiz
#include <DallasTemperature.h>// kullanacağımız sıcaklık sensörü kütüphanesi

serLCD ekran(12); // lcd ekranı tanımladık ve bunu 12 nolu pin üzerinden haberleşeceğimizi belirttik
OneWire oneWire(ONE_WIRE_BUS); // tek hat haberleşme belirttik
DallasTemperature sensor(&oneWire);// sıcaklık sensörünü belirledik ve bunu tek hat haberleşmeye bağladık

void setup(void)
{
   Serial.begin(9600);// 9600 baudrate ile seri haberleşme başlattık
   sensor.begin();//tek hat üzerinden haberleşeceğimiz sensörü başlattık
   ekran.clear(); // ekranımızı temizledik
}

void ekrana_sıcaklık_bastır() // tek hat üzerinden sıcaklık bilgisi almak için fonksiyon tanımladık
{
   ekran.clear();// lcd ekranı temizledik
   float sıcaklık=sensor.getTempCByIndex(0);// float küsürlü olarak santigrat değeri olarak sıcaklığı aldık
   ekran.setCursor(0,0);// işaretçiyi 0. satır ve 0. sütuna yani sol en üst köşeye aldık
   ekran.print("sıcaklık =");// ekranın başına sıcaklık= stringini bastırdık
   ekran.print(sıcaklık,1);//aldıgımız sıcaklık degerini ekrana ekledik
}

void loop()
{
   sensor.requestTemperatures();// sensörden sıcaklık verisi talep ettik
   ekrana_sıcaklık_bastır();// aldığımız sıcaklık verisini ekrana yazdırdık
   delay(2000);// her sıcaklık yazdırmamız arasına 2 sn lik gecikme verdik
}

Bir sonraki yazımızda grafik lcd kontrolü ile yeniden karşınızda olacağız.
Merhabalar,
Adım adım arduino derslerimizde bu yazımızda arduino ile lcd ekran sürme işleminden bahsedeceğiz.
Arduino Ide içerisinde lcd ekranları sürmemizi sağlayan liquidcrystal lcd kütüphanesi bulunmakadır.
Peki bu kütüphane bize neleri sağlamakta ve hangi fonksiyonları barındırmaktadır? isterseniz buna bir gözatalım

begin(int kolon,int sıra) : begin fonksiyonu bizim ne kadarlık bir lcd kullanacağımızı programsal olarak tanımlamamıza olanak tanır.Kullandığımız lcd kaç satır ve sütunu destekliyorsa kolon ve sıra ile bunu belirtmemiz gerekmektedir.

clear() : ingilizcesinden de kolayca anlaşılabileceği üzere lcd ekran üzerinde herşeyi temizleyen fonksiyonumuz

home() : lcd ekran üzerinde işaretçinin lcd ekranın başlangıç noktası yani en yukarı ve sol köşesine gitmesi sağlar

setCursor(int kolon,int sıra): işaretçimizin fonksiyon içerisinde girilmiş olan kolon ve sıra numarasına ilerlemesini sağlar

write(byte değer): işaretçini lcd ekran üzerinde bulunduğu yere değeri yazdırmaktadır.Burada değer 1 adet karakteri yani char belirmektedir.

print(veri): ekrana string olarak veri değerini yazdırmaya yarayan fonksiyonumuz

cursor(): işaretçinin altında çizginin belirlemesini sağlamaktadır.

noCursor(): işaretçinin ekran üzerinde görünmemesini sağlar.

blink(): işaretçinin yanıp sönmesine olanak tanır.

noBlink(): işaretçinin yanıp sönmesini iptal eder

display(): ekranın kapanmasını sağlayan noDisplay fonksiyonun tersini sağlayarak ekrana verilen son verinin geri getirilmesini sağlar

noDisplay(): ekranı kapatma fonksiyonudur.

scrollDisplayLeft(): ekrandaki veriyi bir karakter boşluk ile sola kaydırır

scrollDisplayRight(): ekrandaki veriyi bir karakter boşluk ile sağa kaydırır

autoscroll():her karakter girildiğinde otomatik olarak önceki karakteri sola ya da sağa kaydırır

noAutoscroll(): otomatik scroll komutunu devre dışı bırakır.

leftToRight(): verinin ekrana soldan sağa doğru akacak şekilde yazılmasını sağlar

rightToLeft():verinin ekrana sağdan sola doğru akacak şekilde yazılmasını sağlar

Fonksiyonlarımızı inceledikten sonra gelelim lcd ekranımızı nasıl arduinomuza bağlayacağımıza

şemada 68 ohm değerindeki direnç lcd ekranımızın arduino üzerinden çekilen akımını sınırlamak için kullanılmıştır.

Yukarıda arduino ile lcd ekran arasındaki bağlatı noktaları listenmiştir.Burada dikkatinizi çekeceği üzere arduino üzerinden veriler 4 bit olarak ekrana gönderilmektedir ve db4-7 üzerinde arduinonun d2-5 arasında bağlantı sağlanmıştır.Potansiyometre lcd ekranımızın kontrast yani netleğini ayarlamak amacı ile devreye eklenmiştir.


Gelelim arduino kodlarımıza

#include <LiquidCrystal.h> // lcd kütüphanemizi ekledik

LiquidCrsytal lcd(12,11,5,4,3,2); // lcd ekranımızın bağlantı noktalarını tanımladık 12,11 register ve enable pinleri iken 5-2 pinleri ise data pinlerimiz

void setup()
{
   lcd.begin(16,2);// lcd ekranımızın 2 satırlık ve 16 sütunluk olduğu programa belirtiyoruz
   lcd.print("Arduino");// lcd ekranın en üst sol köşesinden başlayarak arduino yazdırdık.
   lcd.setCursor(0,1);// lcd ekran üzerinde işaretçimizi 2. satır ve 0. sütuna yani 2. satır başlangıcına çekiyoruz
   lcd.print("LCD display");// 2. satırımıza verimizi yazdırdık.
}
void loop()
{
}

Bu yazımızda sizlerle paralel bağlantılı lcd ekranların arduino ile kullanımından bahsettik.Bir sonraki yazımızda seri olarak haberleşen lcd ekran ile uygulama üzerine sizlerle birlikte olacağız.

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger