arduino lcd library 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.
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.
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.
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.