18 Ocak 2025 Cumartesi

ARDUİNO

 

Real Time Clock Modules

Gerekli kütüphane: virtuabotixRTC.h


ilk yüklenilecek kod:

 birinci aşama >

(1. kod) 

 #include <virtuabotixRTC.h>

virtuabotixRTC myRTC(6,7,8);
void setup()
{
  Serial.begin(9600);
  myRTC.setDS1302Time(00,41,16,0,18,01,2025);
}

void loop()
{
  myRTC.updateTime();
  Serial.print(myRTC.dayofmonth);
  Serial.print("/");
  Serial.print(myRTC.month);
  Serial.print("/");
  Serial.print(myRTC.year);
  Serial.print("  ");
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);
  delay(1000);

} 


Bu aşamada kod içerisindeki 

myRTC.setDS1302Time(00,41,16,0,18,01,2025);

kısmına ("sabit 00", "anlık dakika", "anlık saat", "sabit 0", "anlık gün", "anlık ay", "anlık yıl") ; bilgileriyle doldurulur. Ardından kod, gerekli kütüphane yüklendikten sonra arduino içerisine yüklenir.

kod yüklendikten sonra Arduino IDE üzerinden seri port ekranı açılarak zamanlayıcının sorunsuz şekilde ilerlediği gözle görülerek kontrol edilir. 


ikinci aşama >

Hali hazırdaki kod üzerinden 

myRTC.setDS1302Time(00,41,16,0,18,01,2025);

kısmını bularak satırın başına "//" iki adet eğik çizgi eklenir.

 //myRTC.setDS1302Time(00,15,12,0,04,10,2020);  Yeni hali bu şekilde gözükür. 

İşlem sonrasında kod yeniden arduino cihazına yüklenerek seri port ekran kontrolü sağlanır. sağlıklı bir şekilde çalıştığı saat ve dakika kısmının ilerlediği gözlemlenir. 


üçüncü aşama >

#include <virtuabotixRTC.h>
virtuabotixRTC myRTC(6,7,8);

 yukarıdaki satırların altına 

String aylar[] = {"","Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"}; 

 Eklenerek sırasıyla aylar tanımlanır. Ardından kodun sonlarına doğru bulunan void loop kısmı aşağıdaki gibi güncellenir.

 myRTC.updateTime();
  Serial.print(myRTC.dayofmonth);
  Serial.print("/");
  Serial.print(myRTC.month);
  Serial.print("/");
  Serial.print(myRTC.year);
  Serial.print("  ");
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);

Yani kod finalde üçüncü aşamada bütünüyle aşağıdaki gibi olmalıdır.

 (2. kod)

#include <virtuabotixRTC.h>
virtuabotixRTC myRTC(6,7,8);

String aylar[] = {"","Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"};


void setup()
{
  Serial.begin(9600);
//myRTC.setDS1302Time(00,41,16,0,18,01,2025);
}

void loop()
{
  myRTC.updateTime();
  Serial.print(myRTC.dayofmonth);
  Serial.print(" ");
  Serial.print(aylar[myRTC.month]);
  Serial.print(" ");
  Serial.print(myRTC.year);
  Serial.print("  ");
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);
  delay(1000);

} 

 

Kod bütünüyle tamamlandıktan sonra yeniden arduino içerisine yüklenir. Seri port ekranı açılarak tanımlanan ayların yazdırılıp yazdırılmadığı kontrol edilir. İsteğe bağlı olarak arduino güç kaynağından kesilerek bir iki dakika kadar beklenir, ve yeniden güce bağlanılarak seri port ekranı ile anlık saat arasında elektrik kesintisi olmasına rağmen fark oluşup oluşmadığı kontrol edilir. 

Kod bu aşamadan sonra anlık olarak tarih ve saati göstererek çalışır. 




Kablolama ve Pin girişleri


Real Time Clock Modülü, toplamda 5 adet pin bağlantısına sahip bir gerçek zamanlı saat hesaplama modülüdür. pinleri sırasıyla vcc, gnd, clk, dat, rst dir.


 Yukarıdaki koda göre pinlerin bağlantı şeması şu şekildedir:

VCC > Arduino üzerindeki 5V veya 3.3V girişine

GND > Arduino üzerindeki GND girişine

CLK > Arduino üzerindeki D6 girişine

DAT > Arduino üzerindeki D7 girişine

RST > Arduino üzerindeki  D8 girişine

 


 

Hiç yorum yok:

Yorum Gönder

ARDUİNO

  Real Time Clock Modules Gerekli kütüphane: virtuabotixRTC.h ilk yüklenilecek kod:  birinci aşama > (1. kod)    #include <virtuaboti...