DS3231 SAAT MODÜLÜ
Saat modülü girilen tarih, saat vb. bilgilerle dijital çıkış veren modüldür. Saat modülü saniye, dakika, saat, gün, tarih, ay ve yıl bilgilerini tutar. Modül üzerinde bulunan CR2032 pil yuvasına takılacak para pil ile güç kesilse bile gerçek zaman bilgisi hafizadan kaybolmaz.
Nerede Kullanılır?
Arduino ile robotik kodlama projelerinde saat ve takvim bilgisi edinmekte kullanılabilir. Dijital takvim, gerçek zamanlı uygulamalar, akıllı tarım ve robotik vb. projelerinde kullanılabilir.
Çalışma Voltajı | 5V DC |
Data Çıkışı | Dijital |
En | 43.48mm |
Boy | 59.9mm |
Vida Delik Çapı | 3.2mm |
Örnek Proje Devre Şeması
Bu projede saat modülü kullanılarak kaydedilen tarih ve saat bilgileri okunarak 1'er saniye arayla seri porta yazdırılacaktır. Projede DS3231 saat modülü ile Arduino Uno Breadboard kullanılmıştır.
DS3231 Saat Modülü | Arduino Uno Breadboard |
- | GND |
+ | 5V |
SDA | SCL |
SCL | SDA |
Örnek Proje Arduino Kodu
/* ALPGEN Robotics */// DS3231 Saat Modülü Kullanımı// 09.11.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com// www.alpgenrobotics.com //DS323xrtc; // Kütüphanemiz başlatılıyorvoidsetup(){
Serial.begin(9600);// Seri Port Ekranı'nı başlatıyoruz
Wire.begin(); // Wire kütüphanesini başlatıyoruz
delay(1000); // Bağlantı kurulana kadar bekleyelim
rtc.attach(Wire); // Kütüphaneyi I2C'ye bağlayalım
// Alttaki satır girdiğimiz saat ve tarihi alarak RTC'yi ayarlar
// Bu halde bir defalığına Arduino'ya yükledikten sonra satırı başına //
// koyarak yorum yapıp tekrar yüklemeliyiz.
// Aksi halde her açılışta tekrar saat yüklemeye çalışır.
rtc.now(DateTime(2022,04,25,11,31,00));}voidloop(){
DateTimenow=rtc.now(); // Güncel saati bu satırda okuyoruz
if(now.day()<10){Serial.print("0");} // 3. ayı 03 olarak gösterelim
Serial.print(now.day()); // Günü yazalım
Serial.print(".");
if(now.month()<10){Serial.print("0");}
Serial.print(now.month()); // Ayı yazalım
Serial.print(".");
Serial.print(now.year()); // Yılı yazalım
Serial.print(" | ");
if(now.hour()<10){Serial.print("0");}
Serial.print(now.hour()); // Saati yazalım
Serial.print(":");
if(now.minute()<10){Serial.print("0");}
Serial.print(now.minute()); // Dakikayı yazalım
Serial.print(":");
if(now.second()<10){Serial.print("0");}
Serial.println(now.second()); // Saniyeyi yazalım
delay(1000); // Biraz bekleyelim}