DS1307 ile Haftanın Günü Sorunu
  • Arkadaşlar Arduino UNO ile DS1307 müdülü ve 2x16 LCD ekran bağlatılarını yaptım saat ve tarih değerlerini ekrana yazdırıyorum lakin weekday haftanın günü değerini ise almak istediğimde sürekli Thursday değerini alıyorum. Önce DS1307 tarih değerlerini set ediyorum sonra başka bir program atarak arduino ya değerleri ds1307 den çekip ekrana yazdırıyorum. Benim projem var bu projede haftanın bazı günlerinde işlem yapmam gerekiyor ve bu nedenle haftanın gününü almalıyım.Bu şekilde bir uygulaması olan arkadaşalr varsa yardımlarını bekliyorum.
  • RTC.dow pazar için 0 cumartesi için 6 döndürür. Aslında "DS1307_Monitor" örnek kodu incelendiğinde zaten görülüyor.:

    void mon_info(void)
    {
     char wd[7][3] = { "So", "Mo", "Tu", "We", "Th", "Fr", "Sa" };
     RTC.getTime();
     Serial.print("RTC date: ");
     mon_print_date(RTC.year, RTC.month, RTC.day);
     Serial.print(" ");
     Serial.print(wd[RTC.dow]);
     Serial.print("  time: ");
     mon_print_time(RTC.hour, RTC.minute, RTC.second);
     Serial.println("");
     Serial.print(RTC.cdn, DEC);
     Serial.print(" days or ");
     Serial.print(RTC.time2000, DEC);
     Serial.println(" seconds since 2000-01-01 00:00:00");
    }

  • Yazdırmadan önce getTime() fonksiyonunu çağırınca güncellemesi gerekir haftanın gününü de.
  • Yazma ve okuma kodlarını yolla birde ilk önce yazdırma için yükleme yapıyorsun sonra tekrar okuma için program yüklüyorsun anladım kadarı ile
    2. yazdırmadan sonra reset atıyor olabilir.
  • Kodlara bakmak lazım. Ayrı modül mü. Datalogger mı? . Hangi kütüphenin hangi versiyonu kullanılıyor. Örnek kodlar düzgün çalışıyor mu?
  • En iyisi kütühanenin .cpp dosyasın açın inceleyin. hangi fonksiyon ne parametreler alıyor. ne yapıyor öğrendikten sonra kendi kodunuzu yazabilir veya haır kodu isteğinize göre düzenleyebilirsiniz. Bunun için orta düzeyde C++ okuru omak gerekiyor.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.