Herkese merhaba
Öncelikle gerekliler listesine bir göz atalım ;
Parça Listesi :
- 1x Potansiyometre
- 1x LCD (Karakter Tip)
- 1x Breadboard
- Arduino Mega 2560 ya da diğer Arduino boradlarından biri
- Arduino Yazılımı
Malzemeler ve gerekli kurulumlar tamam ise artık kodlamaya başlayabiliriz.
Kod :
Bu çalışmada karakter tip LCD ekran kullanacağım ve bu tip LCD lerin nasıl kontrol edildiğini göstereceğim. Projede bilgisayarımın seri portuna bağladığım Arduino'ma veri göndereceğim ve Arduino'da bu verileri LCD ekranda gerekli yerlere yazacak. Ayrıca bir aradan potansiyometre yardımı ile LCD nin kontrastını ayarlayacağım.
Öncelikle gerekliler listesine bir göz atalım ;
Parça Listesi :
- 1x Potansiyometre
- 1x LCD (Karakter Tip)
- 1x Breadboard
- Arduino Mega 2560 ya da diğer Arduino boradlarından biri
- Arduino Yazılımı
Malzemeler ve gerekli kurulumlar tamam ise artık kodlamaya başlayabiliriz.
Kod :
Likit kristal LCD kullanmak için Arduino için hali hazırda bulunan bir kütüphaneyi kullandım. Bu kütüphanenin adı LiquidCrystal.h. Projenin başında bu kütüphaneyi ekliyoruz. LiquidCrystal.h sayesinde fonksiyonlar yarımı ile kolayca LCD ye hükmedebiliyoruz.
/*
LCD RS pin = pin 50 // LCD nin hangi ucunu nereye bağlayacağım
LCD Enable pin = pin 52 // Burada hangi pin numaralarını yazdıysam aynı numaralara bağlantı yapmalıyım
LCD D4 pin = pin 48 // Bu kısım bilgilendirme için yazıldı kodun bir parçası değil !
LCD D5 pin = pin 46 // D4,D5,D6,D7 ekrana veri göndereceğim pin numaraları
LCD D6 pin = pin 44
LCD D7 pin = pin 42
LCD R/W pin = GND
*/
#include // gerekli kütüphaneyi ekliyorum
LiquidCrystal lcd(50, 52, 48, 46, 44, 42); // yaptığım bağlantıları bildiriyoum
void setup() {
Serial.begin(9600); // Seri port bağlatı ayarı
lcd.begin(16, 2); // Kullandığım LCD türünü belirtiyorum.
lcd.print("Melih ERDOGAN"); // LCD ye Melih ERDOGAN yazıyorum
lcd.setCursor(0,1); // LCD de imleci ikinci satır birinci sütuna getiriyorum. (Sütun, Satır)
lcd.print("NOT : "); // LCD ikinci satırına NOT yazıyorum.
}
void loop() {
if (Serial.available() > 0 ) // Seri portdan veri gelirse
{
lcd.write(Serial.read()); // veriyi oku ve LCD ye yaz.
}
}
Gerekli devre şeması :
Buradaki bağlantılar zaten kod kısımında vardı. Sadece potansiyometre ve LCD Led bağlantılarından bahsetmedik. Kısaca onlardan da bahsetmek gerekirse. Potansiyometreyi kontrastı ayarlamak için yani yazıların koyuluğunu-silikliğini ayalarmak için kullanıyoruz. Potansiyometreyi aşağıdaki devre şamasında gördünüz şekilde bağlayabilirsiniz. Bunu dışında LDC led + ucuna +5V ve LCD led - ucunuda toprağa bağlıyoruz. LCD led nedir derseniz arka aydınlatma oluyor. Mavi, yeşil, sarı artık LCD niz ne türde bir LCD ise renk değişken olabilir.
LCD RS pin = pin 50 // LCD nin hangi ucunu nereye bağlayacağım
LCD Enable pin = pin 52 // Burada hangi pin numaralarını yazdıysam aynı numaralara bağlantı yapmalıyım
LCD D4 pin = pin 48 // Bu kısım bilgilendirme için yazıldı kodun bir parçası değil !
LCD D5 pin = pin 46 // D4,D5,D6,D7 ekrana veri göndereceğim pin numaraları
LCD D6 pin = pin 44
LCD D7 pin = pin 42
LCD R/W pin = GND
*/
#include
LiquidCrystal lcd(50, 52, 48, 46, 44, 42); // yaptığım bağlantıları bildiriyoum
void setup() {
Serial.begin(9600); // Seri port bağlatı ayarı
lcd.begin(16, 2); // Kullandığım LCD türünü belirtiyorum.
lcd.print("Melih ERDOGAN"); // LCD ye Melih ERDOGAN yazıyorum
lcd.setCursor(0,1); // LCD de imleci ikinci satır birinci sütuna getiriyorum. (Sütun, Satır)
lcd.print("NOT : ");
void loop() {
if (Serial.available() > 0 ) // Seri portdan veri gelirse
lcd.write(Serial.read()); // veriyi oku ve LCD ye yaz.
}
}
Gerekli devre şeması :
Devrenin kurulmuş halinin fotoğrafları aşağıdadır.
Aşağıdaki ekran görüntüsünde seri porttan veri gönderiyorum.
Aşağıdaki fotoğrafta Arduino seri porttan gelen veriyi yazdığımız kod doğrultusunda ekrana yazıyor.
Yaptığım bir çalışmayı daha dilim döndüğünce anlatmaya çalıştım. Aşağıda bu projenin çalıştrılmış halinin videosu bulunmaktadır. Bir sonraki projede görüşmek üzere herkese iyi seyirler :)
Diğer Arduino projelerine de bakmak isterseniz technologylaboratory.blogspot.com/search/label/Arduino
Hiç yorum yok:
Yorum Gönder