Arduino Saat Takvim

Arduino Uno, DS1302, I2C, LCD 1302A kullanarak yaptığımız başka bir saat ve takvim uygulaması.





ARDUINOIDE KODLARI:

/* KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN
 * TAKVİM-SAAT
 * ARDUINO & DS1302 & I2C LCD
 * 
 */

#include <Wire.h> 
#include <virtuabotixRTC.h> //KÜTÜPHANEMİZİ TANIMLIYORUZ.
virtuabotixRTC zamanRTC(4, 3, 2); //zamanRTC adında bir nesnemizi oluşturuyoruz 
                                  //ve (clck=>6,data=>7,ce=>8) olarak DS1302'nin bağlanacağı pinleri tanımlıyoruz
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);

void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);

//ilk ayar
//aşağıdaki iki ayar satırını ilk yüklemede aktive edin, sonra pasivize edip yeniden yükleyin
//sistemi yeniden başlattığınızdaya da gücü kestiğinizde zaman doğru kalsın

//saniye,dakika,saat,haftanın günü,gün,ay,yıl olarak zamanı DS1302'e set ediyoruz
//zamanRTC.setDS1302Time(00, 43, 21, 7, 14, 7, 2019);

}
void loop() {
zamanRTC.updateTime(); 
lcd.setCursor(0, 0); // LCD 1.SATIR------------------------------------------
lcd.print(zamanRTC.hours);      //saat
lcd.print(":");
lcd.print(zamanRTC.minutes);    //dakika
lcd.print(":");
lcd.print(zamanRTC.seconds);    //saniye
lcd.print("  ");
lcd.setCursor(0, 1);  // LCD 2.SATIR-----------------------------------------
lcd.print(zamanRTC.dayofmonth); //ayın günü
lcd.print(".");
//lcd.print(zamanRTC.month);      // kaçıncı ay olduğunu yazıyor
switch (zamanRTC.month){          // ay isimlerini yazdıralım
        case 1: lcd.print("Oca");break;
        case 2: lcd.print("Sub");break;
        case 3: lcd.print("Mar");break;
        case 4: lcd.print("Nis");break;
        case 5: lcd.print("May");break;
        case 6: lcd.print("Haz");break;
        case 7: lcd.print("Tem");break;
        case 8: lcd.print("Agu");break;
        case 9: lcd.print("Eyl");break;
        case 10: lcd.print("Eki");break;
        case 11: lcd.print("Kas");break;
        case 12: lcd.print("Ara");break;
}

lcd.print(".");
lcd.print(zamanRTC.year);       //yıl
lcd.print("  ");
// haftanın gününe göre gün isimlerini yazdırıyoruz
//lcd.print(zamanRTC.dayofweek); //haftanın kaçıncı günü olduğunu yazdırıyor
switch(zamanRTC.dayofweek)       //haftanın gününün adını yazdıralım
      { case 1: lcd.print("pts");break;
        case 2: lcd.print("sal");break;
        case 3: lcd.print("crs");break;
        case 4: lcd.print("prs");break;
        case 5: lcd.print("cum");break;
        case 6: lcd.print("cts");break;
        case 7: lcd.print("paz");break;
      }
lcd.print("    ");
//-------------------------LCD YAZDIRMA BİTTİ--------------------------------

delay( 1000); // görüntünün tazelenmesi için 1 saniye bekletiyoruz.
}

KULLANILAN PROGRAMLAR: Arduino Ide 1.8.9

Yorumlar