Daha önceki yazımdaki projenin farklı bir versiyonu. Aslında arada büyük bir fark da yok. Yararlı olması dileğiyle.
ARDUINO IDE KODLARI:
/* kodlagitsin.blogspot.com
Saat,Takvim
DS 1302 RTC Modülü, I2C Modüllü 16x2 LCD, Arduino Uno
DS1302 CE pin -> Arduino Digital 2
DS1302 I/O pin -> Arduino Digital 3
DS1302 SCLK pin -> Arduino Digital 4
I2C LCD SCL pin -> Arduino A5
I2C LCD SDA pin -> Arduino A4
DS1302.cpp dosyası içinde günlerin ve ayların Türkçe gösterimlerini düzenleyebilirsiniz.
*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
#include <DS1302.h>
DS1302 rtc(2,3,4);
Time t;
void setup()
{
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
// Saati çalışma moduna ayarlıyoruz ve yazma korumasını devre dışı bırakıyoruz.
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9600);
// tc.setDOW(FRIDAY);
/* zaman ayarı:
ilk yüklemede aşağıdaki saat/tarih ayar satırlarını aktive edin saat ayarlarını doğru olarak girin.
ikinci yüklemede aktive ettiğiniz saat/tarih ayar satırlarına tekrar kapatın.
*/
// rtc.setTime(17, 53, 0); // saat ayarı 12:00:00 (24 saat formatnda)
// rtc.setDate(22,04, 2020); // tarih ayarı: gün,ay,yıl
// rtc.setDOW(3); // haftanın kaçıncı günü
}
void loop()
{
t = rtc.getTime();
lcd.setCursor(4, 0);
if (t.hour<10){lcd.print("0");} // tek haneli saat için başa 0 ekliyoruz.
lcd.print(t.hour);
lcd.print(":");
if (t.min<10){lcd.print("0");} // tek haneli dakika için başa 0 ekliyoruz.
lcd.print(t.min);
lcd.print(":");
if (t.sec<10){lcd.print("0");} // tek haneli saniye için başa 0 ekliyoruz.
lcd.print(t.sec);
lcd.setCursor(0, 1);
if (t.date<10){lcd.print("0");} // tek haneli gün için başa 0 ekliyoruz.
lcd.print(t.date);
lcd.print(".");
lcd.print(rtc.getMonthStr());
lcd.print(".");
lcd.print(t.year);
lcd.print(" ");
lcd.print(rtc.getDOWStr());
}
// ----------- kod sonu -------------
Kütüphane dosyalarına bir önceki yazıdan ulaşabilirsiniz veya buraya tıklayıp indirebilirsiniz. Hatırlatma: İndirdiğiniz paketteki .ino dosyası bahsettiğim yazıma aittir.
KULLANILAN PROGRAMLAYICI: Arduino 1.8.10


Hiç yorum yok:
Yorum Gönder