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.:
<font color="#00979c">void</font><font color="#000000">mon_info</font><font color="#000000">(</font><font color="#00979c">void</font><font color="#000000">)</font><font color="#000000">{</font> <font color="#00979c">char</font><font color="#000000">wd</font><font color="#000000">[</font><font color="#000000">7</font><font color="#000000">]</font><font color="#000000">[</font><font color="#000000">3</font><font color="#000000">]</font><font color="#434f54">=</font><font color="#000000">{</font><font color="#00979c">"So"</font><font color="#434f54">,</font><font color="#00979c">"Mo"</font><font color="#434f54">,</font><font color="#00979c">"Tu"</font><font color="#434f54">,</font><font color="#00979c">"We"</font><font color="#434f54">,</font><font color="#00979c">"Th"</font><font color="#434f54">,</font><font color="#00979c">"Fr"</font><font color="#434f54">,</font><font color="#00979c">"Sa"</font><font color="#000000">}</font><font color="#000000">;</font> <font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">getTime</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#00979c">"RTC date: "</font><font color="#000000">)</font><font color="#000000">;</font> <font color="#000000">mon_print_date</font><font color="#000000">(</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">year</font><font color="#434f54">,</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">month</font><font color="#434f54">,</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">day</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#00979c">" "</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#000000">wd</font><font color="#000000">[</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">dow</font><font color="#000000">]</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#00979c">" time: "</font><font color="#000000">)</font><font color="#000000">;</font> <font color="#000000">mon_print_time</font><font color="#000000">(</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">hour</font><font color="#434f54">,</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">minute</font><font color="#434f54">,</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">second</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">println</font><font color="#000000">(</font><font color="#00979c">""</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">cdn</font><font color="#434f54">,</font><font color="#00979c">DEC</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#00979c">" days or "</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#000000">RTC</font><font color="#434f54">.</font><font color="#d35400">time2000</font><font color="#434f54">,</font><font color="#00979c">DEC</font><font color="#000000">)</font><font color="#000000">;</font> **<font color="#d35400">Serial</font>** <font color="#434f54">.</font><font color="#d35400">println</font><font color="#000000">(</font><font color="#00979c">" seconds since 2000-01-01 00:00:00"</font><font color="#000000">)</font><font color="#000000">;</font><font color="#000000">}</font>
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.
http://datasheets.maximintegrated.com/en/ds/DS1307.pdf şunuda şuara koyayım lazım olur ![]()