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
Yorum Gönder