DS1302 RTC Modülü Arduino ile Nasıl Kullanılır?

Bu yazıda yaygın RTC modüllerinden biri olan DS1302‘nin Arduino ile nasıl kullanılacağını öğreneceğiz.

RTC bir kısaltma, Real Time Clock demek. Yani Gerçek Zamanlı Saat. Peki böyle bir modüle neden ihtiyacımız var? Bunun iki sebebi var. İlki Arduino’nun bir kez ayarlanan saati sayabilmesi için sürekli güç almasının gerekmesi. Elektrikler kesilirse her şey gider, değil mi?

İkincisi ise Arduino mikrokontrolcüsünün saati doğru bir şekilde saymak için yeterine hassas olmaması. Evet, o kadar kabiliyetli bir mikrokontrolcü saati sayarken ciddi kaymalar yaşatabilir.

Bu sorun RTC adı verilen ve üzerlerinde CR2032 kodlu, halk arasında para pil olarak da bilinen bir pil bulunan modüllerle çözülüyor. Bilgisayarımızın anakartında da böyle bir pil görmüş olmalıyız. İşte o pil bilgisayarımız kapalıyken saati ve BIOS gibi temel ayarları hafızada tutuyor.

RTC modülü üzerindeki piliyle birlikte sürekli açık kalıyor ve Arduino’nun gücü kesilse bile saati içinden saymaya devam ediyor!

DS1302’yi Arduino’ya 5 adet pini üzerinden bağlıyoruz. VCC pini Arduino üzerinde 5V’a ve GND tahmin edebileceğimiz gibi GND’ye bağlanıyor. CLK, DAT ve RST pinleri ise Arduino’nun dijital pinlerine bağlanıyor.

Devre kurulumunu inceleyelim;

Bu tür modüller genelde pille birlikte gelmezler. Bu yüzden modülden sipariş verirken yanında bir de CR2032 kodlu pillerden sipariş etmeyi unutmamalıyız. Pili modüle takalım ve sketch koduna geçelim.

DS1302 RTC modülünü kolay bir şekilde kullanabilmek için bir kütüphane kullanmak akıllıca. Bunun için Chris Fryer‘ın VirtuabotixRTC kütüphanesini kullanıyoruz. Kütüphaneyi daha rahat kullanılması için biraz modifiye ettim ve yeniden yükledim. İndirmek için buraya tıklayın.

Aşağıdaki sketch DS1302 RTC modülünden saati okuyor ve Seri Port Ekranı’nda görüntülüyor.

Sketch’i ilk kez yüklerken RTC modülüne güncel saat ve tarihi yükleyeceğiz. Bunu sadece bir kez yapmamız yeterli. Bunun için void setup() içindeki tarih ve saat değişkenleri güncelleyip sketch’i yükleyelim.

Yükleme başarıyla tamamlandıktan sonra güncelleme yaptığımız satırların altında yer alan ve RTC.setDS1302Time( ile başlayan satırın başına // koyalım ve o satırı yorum haline getirelim. Sketch’i bu haliyle tekrar yükleyelim. Böylece Arduino her açılışta saati ayarlamayacak ve saati saymayı RTC modülüne devredecek.

Bunu yapmazsak sketch her açılışta ilk girdiğimiz saati yükler ve doğal olarak saatimiz yanlış ayarlanmış olur.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.