arduino ile seri olarak lcd kontrolü 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.
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
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.