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.
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.
//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ı
//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