Arduino Saat ve Takvim (Formatlı)

Arduino Uno, DS1302, I2C, LCD 1302A kullanarak yaptığımız bir saat ve takvim uygulaması. Saat 00:00:00 şeklinde formatlı  gösteriliyor. Tüm açıklamalar program içinde gösterilmiştir.








ARDUINO IDE KODLARI:

// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA
// SAAT-TAKVİM 
// ARDUINO & DS1302 & I2C LCD1602A
// DS1302 kitaplığımın seri bağlantı üzerinden saat ve tarih bilgilerini 
// hızlıca göndermek için nasıl kullanılacağına dair hızlı bir demo
// 
// DS1302'nin nasıl bağlanacağını bildiğinizi varsayıyoruz.
// DS1302:  CE pin    -> Arduino Digital 2  (RST)
//          I/O pin   -> Arduino Digital 3  (DAT)
//          SCLK pin  -> Arduino Digital 4  (CLK)
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
#include <DS1302.h>

// DS1302'yi başlatıp, Arduinoda bağlayacağımız pinleri tanımlıyoruz.
DS1302 rtc(2, 3, 4);

void setup()
{
  lcd.begin(16, 2);
  lcd.setBacklightPin(3,POSITIVE);
  lcd.setBacklight(HIGH);
 // Saati çalışma moduna ayarlayıp ve yazma korumasını devre dışı bırakıyoruz.
 rtc.halt(false);
 rtc.writeProtect(false);

//Giriş demomuzu yazdırıyoruz.
 lcd.setCursor(0, 0);
 lcd.print("  Kodla Gitsin  ");
 lcd.setCursor(0, 1);
 lcd.print(" Saat ve Takvim ");
 delay(2000);

// İlk yüklemenizde aşağıdaki üç satırı aktive edip DS1302'ye zamanı yazın.
// Doğru çalıştığını gördüğüzde, aşağıdaki satırları pasivize edip yazılımı tekrar gönderin.
// Aksi takdirde gücü kesip verdiğinizde ya da yeniden başlattığınızda zaman ayarınız yanlış olur.

// rtc.setDOW(MONDAY);          // Haftanın gününü pazartesi (MONDAY) gününe ayarla
// rtc.setTime(10, 34, 00);     // Saati 12:00:00 olarak ayarlayın (24 saat formatı)
// rtc.setDate(15, 7, 2019);   // Tarihi 15 Temmuz 2019 olarak ayarlayın
}

void loop()
{
 //LCD 1.satırı yazdırıyoruz
 lcd.setCursor(0, 0);  
 lcd.print("--- "); //saatin solundaki çizgileri gönderiyoruz. Saniye görseli oluşturmakiçin.
 // Send time
 lcd.print(rtc.getTimeStr());
 lcd.print(" ---"); //saatin sağındaki çizgileri gönderiyoruz

 //LCD 2.satırı yazdırıyoruz
 lcd.setCursor(0, 1); 
 // Send date
 lcd.print(rtc.getDateStr());
 lcd.print("  ");
 // Send Day-of-Week
 lcd.print(rtc.getDOWStr());

//aşağıdaki geciktirmelerle hem ekrandaki saati tazeliyoruz hem de çizgilerle saniye görseli oluşturuyoruz.
//çizgiler yarım saniye gözüküp yarım saniye sönüyor, böylece saniye efekti eldeediyoruz.

// Yarım saniye bekletiyoruz
delay (500);
//Saatin yanındaki çizgileri siliyoruz.Saniye görseli oluşturmak için
lcd.setCursor(0, 0);
lcd.print("    ");
lcd.setCursor(12, 0);
lcd.print("    ");

// Yarım saniye bekletiyoruz
delay (500);
}

KULLANILAN PROGRAMLAR: Arduino Ide 1.8.9



Yorumlar