<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=5706&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-01-27T22:33:12+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5706&amp;mode</id>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-01-27T22:33:12+01:00</updated>
<published>2014-01-27T22:33:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5706&amp;p=66998#p66998</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5706&amp;p=66998#p66998"/>
<title type="html"><![CDATA[Attiny2313 DS18B20 błędny pomiar]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5706&amp;p=66998#p66998"><![CDATA[
Mam problem z czujnikami w ujemnej temperaturze. Podpięty jest tylko jeden czujnik wewnątrz wskazuje poprawną temperaturę <br />natomiast jak wystawie go za okno gdzie na zwykłym termometrze jest temp -10stopni to czujnik pokazuje mi -2,4stopnia<br />a jak wstawię inny na podmiane to pokazuje około -5stopni. Wklejam kod ale w tak prostym kodzie chyba sie nie da nic pokręcic.<br />Jaka może być przyczyna?<br /><br />[syntax=c]* main.c<br /> *<br /> *<br /> *<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br /><br /><br />uint8_t czujniki_cnt;/* ilość czujników na magistrali */<br />uint8_t subzero, cel, cel_fract_bits;<br />uint8_t temp, temp1, temp2, temp3;// zmienna pomocnicze<br /><br /><br />int main(void) {<br />czujniki_cnt = search_sensors();<br />DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br />_delay_ms(750);                                      /* czekamy 750ms na dokonanie konwersji przez podłączone czujniki */<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) );<br /><br />// ****** inicjalizacja *********<br />d_led_init();   // inicjalizacja wyświetlacza multipleksowanego<br /><br />sei();// włączenie globalnego zezwolenia na przerwania<br /><br />uint16_t licznik=2;<br /><br />//**********************  pętla główna<br />while(1)<br />{<br />licznik--;<br />_delay_ms(100);<br />if(licznik&gt;9999) licznik=0;<br />if(licznik == 2) licznik=0;<br />if(!licznik) licznik=2;<br />if(licznik == 2)<br />{<br />DS18X20_start_meas(DS18X20_POWER_EXTERN, NULL);<br />}<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) )<br />{<br />if(subzero)cy1=11;<br />else cy1=NIC;<br />cy2= cel/10;<br />if(cy2==0)cy2=NIC;<br />cy3= cel%10;<br />cy4= cel_fract_bits;<br /><br />}<br />else { cy1=8; cy2=8;}<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 27 sty 2014, o 22:33</p><hr />
]]></content>
</entry>
</feed>