Bu yazıda arduino RTC ile LCD ekrana tarih ve saat bilgilerini yazdırmak için gerekli devre şemasını ve arduino kodlarını inceleyeceğiz.
Daha önceki yazımızda RTC kullanımını detaylı olarak incelemiştik. RTC kullanımı ile ilgili yazıya ulaşmak için aşağıdaki linke tıklayabilirsiniz.
Arduino ile RTC Gerçek Zamanlı Saat Modülü Kullanımı
RTC modülünden okuyacağımız tarih ve saat bilgisini LCD ekranda göstermeye çalışacağız. Bu proje için öncelikle aşağıdaki devre şemasını inceleyerek devremizi kuralım.
Arduino RTC LCD Devre Şeması
Projemiz için I2C modülü olan bir LCD ekran kullanacağız. I2C modülü LCD ekran kullanımını ve bağlantılarını oldukça kolaylaştıran bir modüldür. LCD ekran arduino bağlantısını I2C modülü sayesinde sadece 4 bağlantı kablosu ile kolayca yapabilmekteyiz.
I2C modülünü kullanmak için I2C protokolüne uygun olarak bağlantıları yapmamız gerekmektedir. Aksi taktirde LCD ekran çalışmaz. Örneğin Arduino uno modeli için I2C bağlantısı yaparken SDA pinini arduino A4 pinine, SCL pinini ise arduino A5 pinine bağlamamız gerekmektedir.Aşağıdaki tabloda kullanacağınız arduino kart modeline göre I2C bağlantılarını yapabilirsiniz.

i2c-modulu-arduino-baglanti-pinleri

Arduino RTC ile Lcd Ekranda Saat Devresi
Devreyi incelediğimizde RTC modülü için bağlantılar;
- VCC pini breadboard 5V pinine,
- GND pini breadboard GND pinine,
- CLK pini arduino 6 digital pinine,
- DAT pini arduino 7 digital pinine,
- RST pini arduino 8 digital pinine bağlanmıştır.
LCD ekran bağlantıları I2C modülü üzerinden;
- VCC pini breadboard 5V pinine,
- GND pini breadboard GND pinine,
- SDA pini arduino A4 analog pinine,
- SCL pini arduino A5 analog pinine bağlanmıştır.
Şimdi kodları yazalım.
RTC ile LCD Ekranda Saat Gösterme Arduino Kodları
Aşağıdaki kodları arduino programında hazırlayalım.
Kodları yazmaya başlamadan önce RTC ve I2C modülü ile LCD ekran için gerekli kütüphane dosyalarını yüklememiz gerekmektedir. Aşağıdaki linklerden kütüphaneleri bilgisayarınıza indirin.
RTC Arduino kütüphane dosyasını indir….
LCD Ekran Arduino kütüphane dosyasını indir….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <virtuabotixRTC.h> #include <LiquidCrystal_I2C_AvrI2C.h> //RTC bağlantı pinleri //CLK -> 6, Data -> 7, RST -> 8 virtuabotixRTC RTCSaat(6, 7, 8); //LCD ekran nesnesini oluşturuyoruz. LiquidCrystal_I2C_AvrI2C lcd(0x3F,16,2); //Eğer LCD ekrana yazı gelmiyorsa yukarıdaki kodu //bununla değiştirmeniz gerekmektedir. //LiquidCrystal_I2C_AvrI2C lcd(0x27,16,2); int saat,dakika,saniye,gun,ay,yil; void setup() { lcd.begin(); //lcd'yi başlatıyoruz lcd.backlight(); //lcd arka ışığını açıyoruz. // RTC üzerindeki tarih ve saati aşağıdaki kod ile ayarlayabilirsiniz. // saniye, dakika, saat, haftanın günü, ayın günü, ay, yıl //(haftanın günü pazartesi için 1 yazıyoruz.) //RTCSaat.setDS1302Time(00, 16,15,3, 15, 01, 2020); } void loop() { RTCSaat.updateTime(); //Bu kod ile RTC deki anlık zamanı alıyoruz. saat=RTCSaat.hours; dakika=RTCSaat.minutes; saniye=RTCSaat.seconds; gun=RTCSaat.dayofmonth; ay=RTCSaat.month; yil=RTCSaat.year; char date[10]; sprintf (date,"%02d/%02d/%02d",gun,ay,yil); char zaman[9]; sprintf (zaman,"%02d:%02d:%02d",saat,dakika,saniye); // Tarih ve Saat bilgisini LCD ekrana yazdırıyoruz. lcd.setCursor(0,0); lcd.print("Tarih:"); lcd.setCursor(6,0); lcd.print(date); lcd.setCursor(0,1); lcd.print("Saat:"); lcd.setCursor(5,1); lcd.print(zaman); delay( 1000); // 1 saniye bekletiyoruz. } |
Kodları arduino kartımıza yüklüyoruz.
Yükleme tamamlandıktan sonra eğer tüm adımları doğru bir şekilde yaptıysanız LCD ekranda tarih ve saat bilgisini görüyor olmanız gerekmektedir. Eğer ekrana görüntü gelmiyorsa LiquidCrystal_I2C_AvrI2C lcd(0x3F,16,2); kodunu LiquidCrystal_I2C_AvrI2C lcd(0x27,16,2); kodu ile değiştirerek tekrar yükleme yapabilirsiniz.
Proje dosyasında RTC ve LCD ekran kütüphane dosyasını, fritzing devre çizimini ve arduino RTC LCD kodlarını bulabilirsiniz.
ARDUİNO RTC ile LCD EKRAN SAAT PROJE DOSYASINI İNDİRMEK İÇİN TIKLAYIN…
Konuyla ilgili görüş, öneri ve düşüncelerinizi yorumlar kısmından bize iletebilirsiniz.
Yeni yazılarımızdan anında haberdar olmak için Kodlakafa Facebook hesabını takip etmeyi unutmayın…
https://www.facebook.com/kodlakafa
Bir sonraki yazıda görüşmek dileğiyle…
teşekkür ederim çok guzel