RTC modülünü kullanarak yapılan bir kronometre uygulamasıdır. Program örnek olarak verilmiştir. Geliştirmeye açıktır.

 

/*

LCD modül ile RTC modülü kullanımı

www.robotkursu.com

*/

#include <virtuabotixRTC.h>

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int analogDeger=0;

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// RTC bağlantı uçları
//SCLK -> 9, Data -> 8, RST -> 7
virtuabotixRTC myRTC(9, 8, 7);

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

lcd.begin(16,2); // LCD 16 karakter 2 satır
lcd.clear();
lcd.setCursor ( 3, 0);
lcd.print(” ARDUINO “);
lcd.setCursor (4, 1 );
lcd.print(“DERSLERI “);
delay ( 1500 );
lcd.clear();
lcd.setCursor ( 6, 0); // LCD 1. satır 6. karakter hücresine getiriliyor
lcd.print(“www. “); // www. yazdırılıyor

lcd.setCursor ( 1, 1 ); // kursör 2. satır 1. karakter hücresine getiriliyor
lcd.print(“robotkursu.com “); // robotkursu yazdırılıyor

delay ( 1000 ); // 1 sn bekleme yapılıyor

lcd.clear();

}

void loop()
{
lcd.clear();
myRTC.updateTime();
lcd.setCursor (3, 0);
lcd.print(“KRONOMETRE “);
int x = (myRTC.seconds); // burada sadece saniye değeri okunup işleme tabi tutuluyor.

int y =60-x; // 60 tan geri sayması işlemi yapılıyor
lcd.setCursor ( 2, 1);
lcd.print(“00 : 00 : ” );   // saat ve dakika için bir işlem yapmayacağımız için görsel olarak rakamlar yazılıyor.

lcd.print(y);
delay( 1000);
}
void ayar ()
{

// tarihi aşağıda belirtilen biçimde girebiliyorsunuz. O andaki tarih saati girin.
// saniye, dakika, saat, haftanın günü, ayın günü, ay, yıl (haftanın günü pazartesi 1 olarak başlıyor)
myRTC.setDS1302Time(58, 0, 0,6, 11, 02, 2017);
myRTC.updateTime();
}