
Arduino projeniz için saat, dakika ve saniye ile birlikte gün, ay ve yıl bilgilerini mi korumak istiyorsunuz? O zaman bir RTC (Gerçek Zamanlı Saat) kullanmak tam size göre!
Bu blogda, DS1307 RTC modülünü Arduino’nuzla birkaç adımda nasıl kullanacağınızı öğreneceksiniz!
Bugünkü blogda şunlar ele alınacak:
- RTC (Gerçek Zamanlı Saat) nedir ve Arduino için neden RTC’ye ihtiyacımız var?
- DS1307 RTC nedir?
- Grove RTC
- DS1307 RTC’yi Arduino ile kullanma eğitimi
- RTC Arduino Proje Fikirleri
RTC (Gerçek Zamanlı Saat) nedir, Arduino mikrodenetleyici için neden RTC’ye ihtiyacımız var?
RTC (gerçek zamanlı saat), mevcut zamanı takip eden ve belirli bir zamanda eylemleri programlamak için kullanılabilen bir saati ifade eder.
Arduino ve neredeyse tüm mikrodenetleyiciler, güç olduğu sürece çalışabilen yerleşik zamanlayıcılara sahiptir. Ancak, güç kapatıldığında (ister manuel olarak, ister bir güç kesintisi nedeniyle), tüm zamanlayıcılar 0’a sıfırlanır.
Güç yokken zamanlayıcının sıfırlanmasını umursamıyorsanız, basit projeler için dahili zamanlayıcıyı kullanmak kabul edilebilir. Ancak, zamanlayıcının dış güç kaynağından bağımsız olarak çalışmasını gerektiren veri kaydedicileri, saatler, alarmlar gibi projeler için bir RTC kullanmanız gerekir.
Neredeyse tüm RTC’ler düşük akımlı yerleşik entegre devrelerdir ve yıllarca tek bir lityum pil ile çalışabilirler. Şu anda, DS1307 gerçek zamanlı saatine dayanan RTC, en popüler RTC modüllerinden biridir.
DS1307 RTC nedir?
- Ayrıca Gerçek Zamanlı Saat (RTC) olarak bilinen bu RTC modülü, projeleriniz için saniye, dakika, saat, gün, tarih, ay ve yıl bilgilerini sağlayan DS1307 saat çipine dayanmaktadır.
- Ancak, Arduino’nuzun zaten yerleşik bir zamanlayıcıya sahip olduğu düşünüldüğünde neden ayrı bir modüle ihtiyacınız olduğunu merak ediyor olabilirsiniz?
- Cevap, RTC’nin bir lityum pil ile çalışması nedeniyle, Arduino’nuzu yeniden programlamanız veya ana güçten ayırmanız gerektiğinde bile zamanı takip etmeye devam edebilmenizdir.
- DS1307 tabanlı RTC’yi kullanmayı seçiyoruz çünkü düşük maliyetli ve çok enerji verimlidir. Çok küçük bir madeni pil ile yıllarca çalışabilir!
Grove – RTC ($6.90)

- Bu, DS1307 saat çipine dayanan Seeed’in kendi RTC’sidir ve I2C iletişimini destekler!
- Bir Lityum hücre pili (CR1225) kullanır. Saat/takvim, 31 günden az olan aylar için son gün tarihi otomatik olarak ayarlanırken, saniye, dakika, saat, gün, tarih, ay ve yıl bilgilerini sağlar; artık yıl düzeltmeleri 2100 yılına kadar geçerlidir.
- Saat, AM/PM göstergesi ile 24 saat veya 12 saat formatında çalışır.
- 56 Bayt, Pil Yedekli ve veri depolama için Volatiliteli (NV)RAM’a sahiptir.
- 5V DC beslemesi ile çalışır ve Osilatör Çalışırken Pil Yedekleme Modunda 500nA’dan daha az enerji tüketebilir.
- Ayrıca, Kare-Dalga çıkış sinyali ile programlanabilir ve otomatik güç kesilmesi algılama ve anahtarlama devrelerine sahiptir.
Ayrıca benzer bir ürün sunuyoruz: Grove – Yüksek Hassasiyet RTC. Grove-RTC ile karşılaştırıldığında, bu modül daha doğru sonuçlar sağlayabilir ve çevresel cihazlar için programlanabilir bir saat çıkışı ile birlikte dakika ve yarım dakika kesintisi sunabilir.

Daha fazla zaman kaybetmeden, DS1307 RTC’yi Arduino ile nasıl kullanacağımıza dair eğitime geçelim.
Eğitim: DS1307 RTC’yi Arduino ile kullanma
Bu eğitimde, DS1307 RTC’yi Arduino’nuzla birkaç basit adımda nasıl kullanacağınızı öğreneceksiniz.
Ne gerekiyor?
- Seeeduino V4.2 (Arduino UNO Uyumlu Kart)
- Grove – RTC
- Base Shield V2 (Kolay bağlantı için, isteğe bağlı)
RTC’yi Arduino ile kullanma adım adım talimatlar
Adım 1: Donanımı Bağlama
- Grove-RTC’yi Grove-Base Shield’in I2C portuna bağlayın.
- Eğer bir Grove-Base Shield’iniz yoksa, Grove-RTC’yi doğrudan Arduino Kartına aşağıdaki tabloda gösterildiği gibi bağlayabilirsiniz:
| Seeeduino V4.2 | Grove-RTC |
| 5V | VCC |
| GND | GND |
| SDA | SDA |
| SCL | SCL |
- Grove – Base Shield’i Seeeduino’ya takın.
- Seeeduino’yu bir USB kablosu ile PC’ye bağlayın.
- Sağlam bir performans için, pil tutucusuna 3 Volt CR1225 lityum hücre yerleştirmeniz şiddetle tavsiye edilir. Modülü çalıştırmak için yalnızca ana gücü kullanırsanız, modül normal çalışmayabilir çünkü kristal osilatör çalışmayabilir.
- Bağlantınız şu anda şöyle görünmelidir:

Adım 2: Yazılım Kullanma
- RTC kütüphanesini indirin ve kurun.
- Kütüphaneyi nasıl kuracağınızı bilmiyor musunuz? Kütüphane Nasıl Kurulur kılavuzumuza bakın!
- Yeni bir Arduino taslağı oluşturun ve aşağıdaki kodları yapıştırın veya kodu doğrudan şu yolla açın: Dosya -> Örnek -> RTC -> SetTimeAndDisplay

#include <Wire.h>
#include "DS1307.h"
DS1307 clock;//DS1307 sınıfının bir nesnesini tanımla
void setup()
{
Serial.begin(9600);
clock.begin();
clock.fillByYMD(2013,1,19);//19 Ocak 2013
clock.fillByHMS(15,28,30);//15:28 30"
clock.fillDayOfWeek(SAT);//Cumartesi
clock.setTime();//zamanı RTC çipine yaz
}
void loop()
{
printTime();
}
/*Fonksiyon: Zamanı seri monitörde göster*/
void printTime()
{
clock.getTime();
Serial.print(clock.hour, DEC);
Serial.print(":");
Serial.print(clock.minute, DEC);
Serial.print(":");
Serial.print(clock.second, DEC);
Serial.print(" ");
Serial.print(clock.month, DEC);
Serial.print("/");
Serial.print(clock.dayOfMonth, DEC);
Serial.print("/");
Serial.print(clock.year+2000, DEC);
Serial.print(" ");
Serial.print(clock.dayOfMonth);
Serial.print("*");
switch (clock.dayOfWeek)// Haftanın gününü dostça yazdır
{
case MON:
Serial.print("PZT");
break;
case TUE:
Serial.print("SAL");
break;
case WED:
Serial.print("ÇAR");
break;
case THU:
Serial.print("PER");
break;
case FRI:
Serial.print("CUM");
break;
case SAT:
Serial.print("CMT");
break;
case SUN:
Serial.print("Paz");
break;
}
Serial.println(" ");
}
- Zamanı ayarlayın. Fonksiyon argümanlarını mevcut tarih/saat ile değiştirin. Lütfen argümanların formatına dikkat edin.
clock.fillByYMD(2013,1,19);//19 Ocak 2013
clock.fillByHMS(15,28,30);//15:28 30"
clock.fillDayOfWeek(SAT);//Cumartesi
- Kodu yükleyin ve sensör verilerini almak için seri monitörü açın.

DS1307’yi Arduino ile kullanmanın hepsi bu kadar! Arduino ile RTC ile daha fazlasını yapmak ister misiniz? İşte başlamanız için bazı RTC Arduino proje fikirleri!
RTC Arduino Proje Fikirleri
RTC Arduino Gerçek Zamanlı Bahçe Sulama Sistemi

Bitkilerinizi sulamayı unuttuğunuz için ölmelerinden bıktınız mı yoksa bitkilerinizi sulamak için tembel misiniz? Neden bu otomatik bitki sulama projesini deneyip bitkilerinizi bugün RTC ile kurtarmıyorsunuz!
Neye ihtiyacınız var?
- Grove – RTC
- Arduino Nano v3 / Seeeduino Nano
- Su seviyesi anahtarı
- 12V DC Su Pompası
- Grove – Buzzer
- Grove – Röle
- 20 Litre Su Bidonu
- Hava koşullarına dayanıklı Elektrik Kutusu
- 12V Güç Paketi
- Nano Terminal Adaptörü
- Arduino IDE Yazılımı
İlgileniyor musunuz? Tam eğitimi Maximilian Dullo’nun Arduino Proje Merkezi’nde inceleyebilirsiniz!
Kart Okuyucu ve RTC ile Kompakt Alarm

Bu alarm ile evinize biri girdiğinde haber alabilirsiniz; kart okuyucu ile açılıp kapatılabilir ve ayrıca RTC ile otomatik olarak etkinleştirilebilir!
Neye ihtiyacınız var?
- Arduino Uno Rev3 / Seeeduino V4.2 ($6.90)
- Şeffaf Breadboard – 8.2 x 5.3cm
- LED (Genel)
- 221 ohm Direnç
- Grove – Ultrasonik Mesafe Sensörü
- Grove – Buzzer
- Grove – RTC
- RC522 Kart Okuyucu
İlgileniyor musunuz? Tam eğitimi Simonee Adobs’un Arduino Proje Merkezi’nde buradan inceleyebilirsiniz!
OLED RTC Saati

Bir RTC modülü ile, tarih, saat ve günü gösteren OLED dijital saatinizi Arduino ile yapabilirsiniz!
Neye ihtiyacınız var
- Arduino Uno Rev3 / Seeeduino V4.2 ($6.90) veya
Arduino Nano v3 / Seeeduino Nano - Grove – RTC
- Grove – OLED Ekran 1.12” V2
- 2 x Grove – Buton
- 32.768KHz kristal osilatör
- 2 x 10K ohm direnç
- 3V madeni pil
İlgileniyor musunuz? Tam eğitimi Simple Projects üzerinde bulabilirsiniz!
Özet
Arduino Eğitimi: DS1307 RTC’yi Arduino ile Kullanma hakkında her şey bu kadar! DS1307 RTC ile artık zamanı tutabilir ve veri kaydediciler veya saatler içeren harika projeler yapabilirsiniz! Projeniz sürekli zaman tutma gerektiriyorsa, bir RTC modülü kullanmak en iyi yol olacaktır.
Bu eğitim veya DS1307 Grove RTC hakkında herhangi bir sorunuz varsa, lütfen aşağıdaki yorumlar bölümünde bırakın!
