Skip to content

Instantly share code, notes, and snippets.

@RobolinkAkademi
Last active October 28, 2019 07:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RobolinkAkademi/647ec332ce60719d1b3ed02b7ab1aeda to your computer and use it in GitHub Desktop.
Save RobolinkAkademi/647ec332ce60719d1b3ed02b7ab1aeda to your computer and use it in GitHub Desktop.
tum_yil_icin_arduino_mufredati_33
#include <Wire.h> // Wire kütüphanesini ekliyoruz.
#include <DS1307new.h> // DS1307new kütüphanesini ekliyoruz.
// Değişkenler
uint16_t startAddr = 0x0000; // NV-RAM'de saklamak için başlangıç adresi
uint16_t lastAddr; // NV-RAM'de saklamak için yeni adres
uint16_t TimeIsSet = 0xaa55; // Saatin tekrar ayarlanmamasına yardımcı olur.
void setup()
{
Serial.begin(9600);
// Store startAddr in NV-RAM address 0x08
RTC.setRAM(0, (uint8_t *)&startAddr, sizeof(uint16_t));
RTC.getRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
if (TimeIsSet != 0xaa55)
// Saat ve tarih daha önce ayarlanmış mı kontrol ediyoruz. Eğer ayarlanmamışsa
// TimeIsSet değişkeni 0xaa55 değerine eşit değilse aşağıda girdiğimiz
// verilerle saati ayarlamış oluruz.
{
RTC.stopClock();
// Bu kısımdan sketchi yüklemeden önce tarih ve saati ayarlayabilirsiniz.
// Bir kez ayarlayıp yükledikten sonra tekrar tarih saat ayarı yapabilmek
// için entegreye bağlı batarya bağlantısı ve Arduinodan sağladığımız
// 5v enerjiyi kesip bir süre beklemek gerekiyor. Daha sonra programda tarih
// ve saati ayarladıktan sonra yüklediğinizde NV-RAMe ayarladığınız tarih ve
// saat bilgileri kaydedilecektir. İlk satırı (Yıl,Ay,Gün), ikinci satırı
// (Saat,Dakika,Saniye) formatında yazmanız gerekiyor.
RTC.fillByYMD(2018,9,28);
RTC.fillByHMS(15,59,0);
RTC.setTime();
TimeIsSet = 0xaa55;
RTC.setRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
RTC.startClock();
}
else
{
RTC.getTime();
}
Serial.println("DS1307new Kutuphanesi Test Programi");
Serial.println("Tarih Saat Formati SS:DD:ss GG-AA-YYY DDD");
Serial.println("Her saniye alt satira gecerek o anki zamani gosterir.");
Serial.println();
}
void loop()
{
RTC.getTime(); // Saat ve Tarih verilerini al
if (RTC.hour < 10)
{
Serial.print("0");
Serial.print(RTC.hour, DEC);
}
else
{
Serial.print(RTC.hour, DEC);
}
Serial.print(":");
if (RTC.minute < 10)
{
Serial.print("0");
Serial.print(RTC.minute, DEC);
}
else
{
Serial.print(RTC.minute, DEC);
}
Serial.print(":");
if (RTC.second < 10)
{
Serial.print("0");
Serial.print(RTC.second, DEC);
}
else
{
Serial.print(RTC.second, DEC);
}
Serial.print(" ");
if (RTC.day < 10)
{
Serial.print("0");
Serial.print(RTC.day, DEC);
}
else
{
Serial.print(RTC.day, DEC);
}
Serial.print("-");
if (RTC.month < 10)
{
Serial.print("0");
Serial.print(RTC.month, DEC);
}
else
{
Serial.print(RTC.month, DEC);
}
Serial.print("-");
Serial.print(RTC.year, DEC); // Yılda herhangi bir değişikliğe gerek yok
Serial.print(" ");
switch (RTC.dow) // Haftanın günü
{
case 1:
Serial.print("PZT");
break;
case 2:
Serial.print("SAL");
break;
case 3:
Serial.print("CAR");
break;
case 4:
Serial.print("PER");
break;
case 5:
Serial.print("CUM");
break;
case 6:
Serial.print("CTS");
break;
case 7:
Serial.print("PAZ");
break;
}
Serial.println();
delay(1000); // 1 saniye bekle
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment