ds1302 saniye dengesizliği (gına geldi).

Başlatan baran123, 01 Mart 2014, 17:48:10

baran123

Merhaba arkadaşlar saat devresi yaptım saniyede bazen 2 şer artma oluyor bunu çözümü var mı çok aradım ama yok bazende olmuyor bu hata ve saniye biraz hızlı gibi bunu normaline nasıl eiştlerim okumadan sonraki delay kaç olmalı
diğer sorum ise 3 butonla saat tarih ayarını nasıl yaparım +,-,mode diye düşündüm saniye ilerlerken mode butonuna bastıgımda saat in ayarını yapmak istiyorum ama saat üzerine geldiğimi göstermesi için o alanı yanıp sonmesını nasıl ayarlıyabilirim ve yazdırma bölümündeki 223 sayısı nedir kodlar aşşağıda kolay gelsin

edit = ds18b20 de okudugum sıcaklık tam sayı virgüllü okumuyor nedeni nedir sizce

float temp;

while(TRUE)
{      
if(input(btn5)==1)
{
   delay_ms(50);
   rtc_set_datetime(01,03,13,6,17,25);
}

temp=ds1820_read();
rtc_get_time(hour,minute,second);
rtc_get_date(day,mounth,year,day_of_the_week);
printf(lcd_putc,"\f%02d:%02d:%02d  ",hour,minute,second);
            
switch(day_of_the_week)
{
   case 1: printf(lcd_putc,"P.TESI"); break;
   case 2: printf(lcd_putc,"SALI"); break;
   case 3: printf(lcd_putc,"CARSA."); break;
   case 4: printf(lcd_putc,"PERSE."); break;
   case 5: printf(lcd_putc,"CUMA"); break;
   case 6: printf(lcd_putc,"C.TESI"); break;
   case 7: printf(lcd_putc,"PAZAR"); break;
}            
printf(lcd_putc,"\n%02d:%02d:%02d  %0.0F%cC",day,mounth,year,temp,223);
delay_ms(150);
}


zerog26

tavsiyem saat kristalini bir bakir tel ile saseye lehimle ve uzerine sicak silikon ile kapla ;) kendimde bu tip problemler ile karsilasmistim bu sekilde gidermistim....

Mucit23

O 150ms delayı kaldır.  Gerek yok. Zaten sıcaklık okuması yeterince zaman alır.

baran123

#3
delayı kaldırdım saniye yardırdı gidiyor valla hızlandı iyice.
edit : 125 yaptım suanlık güzel

ahmet_zxc

Alıntı yapılan: zerog26 - 01 Mart 2014, 18:52:44
tavsiyem saat kristalini bir bakir tel ile saseye lehimle ve uzerine sicak silikon ile kapla ;) kendimde bu tip problemler ile karsilasmistim bu sekilde gidermistim....

sıcak silikonun sapmayla nasıl bir ilişkisi var..??

baran123

Alıntı yapılan: ahmet_zxc - 01 Mart 2014, 20:07:42
sıcak silikonun sapmayla nasıl bir ilişkisi var..??
bende onu anlamadım denesemmi sizce ?

tekosis

#6
Alıntı yapılan: baranekrem9 - 01 Mart 2014, 17:48:10

edit = ds18b20 de okudugum sıcaklık tam sayı virgüllü okumuyor nedeni nedir sizce

temp=ds1820_read();

yukarıda yazılı olan ds1820_read() fonksiyonunu incelemeniz gerekir. ayrıca bu sensörün bilgi yapraklarıda tabloda(sayfa 4) sensörden 16 bitlik veri geldiği görülüyor. bu bitlerden en düşük değerlikli olan ilk dört bit virgülden sonraki ondalıklı kısmı, yüksek değerlikli son dört bit negatif ya da pozitif olduğunu geri kalan ortadaki 8 bit ise sıcaklık değerinin ondalıksız kısmını veriyor. kullandığınız fonksiyonu bu bilgilere göre incelerseniz sıcaklık okumadaki hatanızı görürsünüz. ayrıca saat entegresinin kristalinin dışını şaselemeniz ve entegrenin bilgi yapraklarında yazan baskı devre tasarımı kurallarına(sayfa 5) uymanız çok önemli.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Recep METE

#7
Alıntı yapılan: baranekrem9 - 01 Mart 2014, 17:48:10
edit = ds18b20 de okudugum sıcaklık tam sayı virgüllü okumuyor nedeni nedir sizce


Arkadaşım kodun içinde birde şu değişkliği yapıp denermisin.
"printf(lcd_putc,"\fSICAKLIK=%1.1F%cC",sicaklik_degeri,223);
delay_ms(500);"

mesaj birleştirme:: 01 Mart 2014, 23:23:47

"yazdırma bölümündeki 223 sayısı nedir"




Arkadaşım sorunun yanıtı:223      ' ° işareti
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

baran123

Alıntı yapılan: semfero - 01 Mart 2014, 23:08:21
Arkadaşım kodun içinde birde şu değişkliği yapıp denermisin.
"printf(lcd_putc,"\fSICAKLIK=%1.1F%cC",sicaklik_degeri,223);
delay_ms(500);"

mesaj birleştirme:: 01 Mart 2014, 23:23:47

"yazdırma bölümündeki 223 sayısı nedir"




Arkadaşım sorunun yanıtı:223      ' ° işareti

teşekkürler yaptım oldu işareti de anladım.