Anasayfa » Arduino RTC – Gerçek zaman Saatleri – Alarmlı Saat – DS1307 – DS 1302 – Arduino Dersleri – 57 –

Arduino RTC – Gerçek zaman Saatleri – Alarmlı Saat – DS1307 – DS 1302 – Arduino Dersleri – 57 –

arduino rtc

Arduino ile birlikte RTC gerçek zaman saatleri kullanımı. Arduino ile birlikte kullanabileceğiniz zaman saati modülleri; DS3231, DS1307, DS3231, DS1302, PCF85223 modülleri kullanılmaktadır. Biz sizlerle DS1302 RTC gerçek zaman modülünü kullanacağız. DS 1302 kullanaımı, ayarları ve bağlantılarının nasıl yapılacağını aynı zamanda DS1302 kullanılarak alarmlı saat yapımını öğrenmiş olacağız.

rtc_ds1302
rtc_ds1302

DS1302 entegresi saniye, dakika, saat, gün, ay ve yıl bilgisini sürekli olarak içinde tutabilen bir RTC entegresidir. Seri olarak SCLK pini üzerinden sürekli olarak çıkış verebilen kart başta Arduino olmak üzere bir çok mikrodenetleyeci sistemi ile rahatlıkla kontrol edilebilmektedir.

rtc_şema
rtc_şema

 

//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı i2c  RTC Zaman Saati  Kodları  - kullanımı örnek Kodları


#include 
virtuabotixRTC RTC_DS1302(6, 7, 8); // DS1302 modülün bağlı olduğu Arduino pinleri 



void setup() {
Serial.begin(9600);
//RTC_DS1302.setDS1302Time(00, 14, 15, 1, 26, 12, 2022); // İlk zaman ayarı
//                       (saniye,dakika,saat,haftagünü,gün,ay,yıl)
}
 
void loop() {
RTC_DS1302.updateTime(); //RTC den zaman bilgisini oku
Serial.print("Tarih: ");
Serial.print(RTC_DS1302.dayofmonth);
Serial.print("/");
Serial.print(RTC_DS1302.month);
Serial.print("/");
Serial.print(RTC_DS1302.year);
Serial.print(" Saat: ");
Serial.print(RTC_DS1302.hours);
Serial.print(":");
Serial.print(RTC_DS1302.minutes);
Serial.print(":");
Serial.println(RTC_DS1302.seconds);
delay( 1000); // 1 saniye bekle.
}

 

ALARMLI SAAT Yapımı

rtc_şema_lcd
rtc_şema_lcd

 

//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı i2c  RTC ALARM  Kodları  - kullanımı örnek Kodları


#include 
virtuabotixRTC git_Saat(6, 7, 8); //CLK -> 6, Data -> 7, RST -> 8
String gunler[] = {"PTESi", "SALI", "CARS", "PERS", "CUMA", "CTESi", "PAZAR"};

#include  
#include 

LiquidCrystal_I2C lcd(0x3F,16,2);

#define buzzer 2

void setup() {
Serial.begin(9600);
 



  //git_Saat.setDS1302Time(00, 10, 15,2, 27, 12, 2022);  
                      //(saniye,dakika,saat,haftagünü,gün,ay,yıl)
  pinMode(buzzer,OUTPUT);
  lcd.init();       
  lcd.backlight();


}
 
void loop() {
git_Saat.updateTime(); //RTC den zaman bilgisini oku

  lcd.clear();
  lcd.setCursor(0,0);
  if(git_Saat.hours<10)
  lcd.print("0");
  lcd.print(git_Saat.hours);
  lcd.print(":");
  if(git_Saat.minutes<10)
  lcd.print("0");
  lcd.print(git_Saat.minutes);
  lcd.print(":");
  if(git_Saat.seconds<10)
  lcd.print("0");
  lcd.print(git_Saat.seconds);
  
  lcd.setCursor(0,1);
  lcd.print(git_Saat.dayofmonth);
  lcd.print("/");
  lcd.print(git_Saat.month);
  lcd.print("/");
  lcd.print(git_Saat.year);
  lcd.setCursor(11,1);
  lcd.print(gunler[git_Saat.dayofweek - 1]);
  delay(1000);

//ALARM KURMAK İÇİN----------------------------------
if (git_Saat.hours == 7 && git_Saat.minutes == 6)
{
  while(git_Saat.minutes == 6)
 {
  git_Saat.updateTime();
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(git_Saat.hours);
  lcd.print(":");
  lcd.print(git_Saat.minutes);
  lcd.print(":");
  lcd.print(git_Saat.seconds);
  lcd.setCursor(0,1);
  lcd.print("ALARM DEVREDE");
  digitalWrite(buzzer,1);
  delay(50);
  digitalWrite(buzzer,0);
  delay(50);
  digitalWrite(buzzer,1);
  delay(75);
  digitalWrite(buzzer,0);
  delay(50);
  digitalWrite(buzzer,0);
  delay(50);
  digitalWrite(buzzer,1);
  delay(75);
  digitalWrite(buzzer,0);
  delay(50);
  digitalWrite(buzzer,1);
  delay(125);
  digitalWrite(buzzer,0);
  delay(600);
 }
}
}




 

 

Videoyu İZLEMEK İÇİN TIKLAYINIZ

 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir