back to top

Arduino Dersleri #16: Arduino Dijital Saat Yapımı (RTC/Saat Modülü Kullanımı)

Merhaba arkadaşlar ! Arduino dersleri serimizde proje yapmaya devam ediyoruz. Bu yazımızda sizlerle RTC saat modülünü kullanarak Arduino ile Dijital Saat projesi yapacağız. Bu projeyi yaparken LCD de kullanacağız !

Daha önceki yazımızda PIR sensörünün kullanımından bahsetmiştik >>> Arduino ile Hırsız Alarmı Yapalım !

RTC Arduino Saat Modülü Nedir? Nasıl Çalışır? DS1302 Modeli

RTC’nin açılımı Real Time Clock yani Gerçek Zamanlı Saat’tir. RTC modülünün içerisinde gerçek zamanlı saat devrelerinde bulunan DS1302 entegresi bulunur. Bu modül sayesinde saat bilgisini anlık ve sürekli olarak okuyabilmek mümkündür. RTC modülü yıl, ay, gün, saat, dakika ve saniye bilgilerini sürekli olarak içerisinde barındırmaktadır.

Arduino RTC Modülü

Haydi, Arduino LCD Dijital Saat Yapımına Başlayalım

Gerekli Malzemeler:

Arduino Dijital Saat Devresi

RTC Modülü ile Dijital Saat Arduino Kodu

Hadi öyleyse RTC modülü ve LCD kullanacağımız Dijital Saat uygulamamız için gereken Arduino kodunu yazmaya başlayalım. Yazılım işlemini yapmadan önce gerekli kütüphaneyi buradan indirebilirsiniz.

#include <LiquidCrystal.h>   //LCD kütüphanemizi başlatıyoruz.
#include <RealTimeClockDS1307.h>      //RTC kütüphanemizi ekliyoruz.
int CLK_PIN = 6; //6. pini clock pini olarak tanımladık
int DAT_PIN = 7; //7. pini data pini olarak tanımladık
int RST_PIN = 8; //8. pini reset pini olarak tanımladık.
virtuabotixRTC myRTC(CLK_PIN, DAT_PIN, RST_PIN); // Kütüphanemizi pinlere atıyoruz.4
int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //LCD'nin pin değişkenlerini tanımlıyoruz.
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //LCD'nin pin bağlantılarını ayarlıyoruz.
void setup() {
  lcd.begin(16, 2); //LCD ekranımızın en-boy oranını ayarlıyoruz.                                
}
void loop() {
  myRTC.updateTime(); //RTC'den zamanı okuyoruz
  lcd.clear(); //Başlamadan önce ekranı temizliyoruz.
  lcd.setCursor(0, 0); //Ekranın ilk satır ilk sütunundan yazmaya başlıyoruz.
  lcd.print(myRTC.dayofmonth); //Günü ekrana bastırıyoruz.
  lcd.print("/");
  lcd.print(myRTC.month); //Ayı ekrana bastırıyoruz.
  lcd.print("/");
  lcd.print(myRTC.year); //Yılı ekrana bastırıyoruz
  lcd.setCursor(0, 1); //LCD'nin 2. satır 1. sütunundan yazmaya başlıyoruz.
  lcd.print(myRTC.hours); //Saati ekrana bastırıyoruz.
  lcd.print(":");
  lcd.print(myRTC.minutes); //Dakikayi ekrana bastırıyoruz.   
  lcd.print(":");
  lcd.print(myRTC.seconds); //Saniyeyi ekrana bastırıyoruz.
  delay(1000); //1 saniye bekleme.
}

Son Çıkan Yazılar

38 YORUMLAR

  1. Merhabalar gerekli kütüphaneyi buradan indirebilirsiniz yazmışsınız fakat herhangi bir link yok,aurdinio kütüphanesinden bulduğum diğer 2 adet kütüphanede programda çalışmıyor.Programı buradan direk kopyalayıp yapıştırmama rağmen eklediğim her iki kütüphane programla uyuşmuyor,lütfen mail adresime uygun kütüphaneyi gönderebilirmisiniz.
    Teşekkürler..

  2. arkadaş bu robotistan program tanıtımlarında karşılaştığım kaçıncı hata, üstelik te hep aynı hata yapılıyor şu include yazıldıktan sonra bi kütüphane ismi yazmanız gerekir acaba sitede bi editör bilmediğimiz bi probleminden dolayı projeleri tek tek gezip include dosyasından sonraki kütüphane isimlerini mi siliyor yoksa sitenizdeki bi kod hatasından dolayı kütüphane isimleri mi kayboluyor bu kaçıncı ya, insanlar o kadar merak edip indiriyorlar bu kodları sonra “error”….

    • bu bi hata değil senin kendi kütüphaneni eklemeni istiyor sende farklı bir kütüphane varsa onu kullan bizimkini arama diye yspıyolar.

  3. Sayın İlge İpek saat projesinde takvim kısmının kütüphanesini nasıl değiştirebiliriz.Örnek 15/08/2018 tarihi 15.gün 08. ay (Ağustos) ve yıl ise 2018 olarak ekrana yazdırıyor.benim istediğim 08.ay değil de direk Agustos veya Eylül diye yazı yazdırsın bunun için kütüphaneyi nasıl güncelleyebiliriz..

  4. Rtclib kütüphanesi ile saati yaptım. Herşey çok güzel çalışıyor derken, besleme voltajını kesip 10 dakika sonra tekrar besleme verdiğimde saatin 10 dakika boyunca hiç ilerlemediğini gördüm. Yani her elektrik kesildiğinde çalışmayacaksa her seferinde pc ile saat ayarı yapmak mı gerekiyor

    • Modüle pili taktıysanız ve bu sorunu alıyorsanız ya data bacağını arduinoya bağlarken yada 3.3v bacağını arduinoya bağlarken ya 1k yada 10k lık bir direnç yardımıyla ekleyin. Bildiğim çözüm yöntemleri bunlar.

  5. Merhaba, Gerekli kütüphaneyi indirip kurulumu yaptım fakat 1/1/2000 yazıyor bunu nasıl düzeltebilirim?
    Yardımcı olursnaız çok sevinirim..

  6. ben de her şey doğru ama saniye 59 dan sonra 09,19,29,39,49,59,69,79,89,99 oluyor sonra 10 dan itibaren normal şekilde yazıyor ve yine aynısı oluyor.

  7. :))) yoruumlar etkileyici.. Robotistanın bin dolarlar eden bu bilgiyi yine T.C. insanı mantığı ile fikir vererek paylaşmasını bile trolleyen yurdum insanı.. adam diyor ki bu tip yapılıyor. Kopya çek ve yap demiyor. Senin kullandığın ekipman ile farklılık göserebilir. Bu çok doğal. Yorumlar sonucunda ben admin olsam bu sayfayı kapatırdım.

    Hanımlar Beyler biraz daha sakin olmalıyız. Adamların tam çalışan müşteri memnuyieti gibi bir misyonu yok. Gördüğüm en bedavva ve bilgi dolu site. Sakin….

  8. Merhaba, kusura bakmayın ısmarlama gibi olacak ama 7 segment led display ile alarmlı saat devresi yapmak var mı planlarınızda? TM1637 ile de olabilir. Ayarlar için buton yerine Rotary Encoder kullanarak mesela 🙂

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz