<?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=12&amp;t=5241&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-07T11:40:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=12&amp;t=5241&amp;mode</id>
<entry>
<author><name><![CDATA[pikczu]]></name></author>
<updated>2014-09-07T11:40:29+01:00</updated>
<published>2014-09-07T11:40:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94557#p94557</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94557#p94557"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94557#p94557"><![CDATA[
hahaha racja<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=154">pikczu</a> — 7 wrz 2014, o 11:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pikczu]]></name></author>
<updated>2014-09-07T11:05:14+01:00</updated>
<published>2014-09-07T11:05:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94553#p94553</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94553#p94553"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94553#p94553"><![CDATA[
Popraw deklaracje procesora bo są różne.<br />Czy schemat jest dokładnie taki jak dołączyłeś??? <br />Jeśli tak to nie masz ani jednego kondensatora wiec raz może pracować raz nie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=154">pikczu</a> — 7 wrz 2014, o 11:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slawek3000]]></name></author>
<updated>2014-09-07T07:06:17+01:00</updated>
<published>2014-09-07T07:06:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94534#p94534</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94534#p94534"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=94534#p94534"><![CDATA[
Tutaj, masz dobry program do obsługi kilku DS18B20<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=988">slawek3000</a> — 7 wrz 2014, o 07:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2013-12-23T17:32:47+01:00</updated>
<published>2013-12-23T17:32:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62153#p62153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62153#p62153"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62153#p62153"><![CDATA[
Niestety po zakończeniu programu i skompilowaniu program dalej nie wykrywa ds.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 23 gru 2013, o 17:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2013-12-23T12:18:22+01:00</updated>
<published>2013-12-23T12:18:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62129#p62129</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62129#p62129"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62129#p62129"><![CDATA[
Tylko widzisz mi właśnie chodzi o ten program a nie o inny gdyż na innym programie czujniki są wykrywane poprawnie<br /><br />Na tym programie wszystko jest ok<br />[syntax=basic4gl]$regfile = &quot;m8def.DAT&quot;                                      'deklaracja procesora, w tym wypadku Atmega8<br />$crystal = 1000000                                          'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza)<br />'Deklaracja portów od wyświetlacza LCD<br />Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5<br /><br />Config Lcd = 16 * 2                                         'ustawiamy typ wyświetlacza (soft jest dostosowany do pracy z wyświetlaczem 2x20, przy pracy z innym wyświetlaczem trzeba będzie skorygować wyświetlanie znaków)<br /><br />'*************************************WAŻNE**********************************************<br />'Pamiętać o podłączeniu rezystora podciągającego o wartości 4.7kohm między linią DQ a VCC<br />Config 1wire = Portd.5                                      'deklaracja portu na którym będą podpięte DS18b20<br /><br />Dim I1 As Integer , Ss As String * 6<br />Dim I2 As Integer<br /><br /><br />Dim Dsid1(8) As Byte<br />Dim Dsid2(8) As Byte<br />Dim B As Byte                                               'deklaracja zmiennej do odczytu kodów ID<br />Dim W As Byte                                               'deklaracja zmiennej do odczytu ilośc czujników<br /><br />Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32             'znak stopnia Celsjusza<br />Deflcdchar 1 , 4 , 21 , 14 , 27 , 14 , 21 , 4 , 32          'znak zewnętrzna<br />Deflcdchar 2 , 16 , 0 , 23 , 21 , 21 , 21 , 21 , 32         'znak wewnętrzna<br /><br />Cursor Off                                                  'Wyłącza kursor<br />Cls                                                         'Funkcja CLS czyści ekran<br />Lcd &quot;   Termometr    &quot; ;                                    'ekran startowy (pojawia się tylko podczas włączania urządzenia)<br />Lowerline<br />Lcd &quot;      2007      &quot;<br />Wait 5<br />Cls<br />W = 1wirecount()<br />Lcd &quot;Ilosc czujnikow:&quot;                                      'Informuje ile czujników jest podpiętych do układu (pojawia się tylko podczas włączania urządzenia)<br />Waitms 500<br />Lcd W<br />Wait 3<br />Cls                                                         'Znajdź pierwszy czujnik podpięty do portu<br />Dsid1(1) = 1wsearchfirst()                                  'Znajdź kolejny czujnik podpięty do portu<br />Dsid2(1) = 1wsearchnext()<br /><br />'*******************Odczyt numerów ID czujników temperatury*********************<br /><br />If Dsid1(8) = Crc8(dsid1(1) , 7) Then                       'ta opcja pojawia się tylko przy włączaniu urządzenia<br /> Locate 1 , 1<br /> Lcd &quot;CRC OK Termo1 ID&quot;<br /> Wait 1<br /> Locate 1 , 1<br /> For B = 1 To 8<br /> Lcd Hex(dsid1(b))<br /> Next<br />End If<br />Wait 2<br /><br />If Dsid2(8) = Crc8(dsid2(1) , 7) Then<br /> Locate 2 , 1<br /> Lcd &quot;CRC OK Termo2 ID&quot;<br /> Wait 1<br /> Locate 2 , 1<br /> For B = 1 To 8<br /> Lcd Hex(dsid2(b))<br /> Next<br />End If<br />Wait 2<br /><br />Cls<br /><br />'*******************koniec odczytu ID czujników temperatury*********************<br /><br />Do<br />   1wreset<br />   1wwrite &amp;H55<br />   1wverify Dsid1(1)                                        'wysyłamy adres pierwszego czujnika<br />   1wwrite &amp;HBE<br />   I1 = 1wread(2)<br />'---------------------------------<br />   1wreset<br />   1wwrite &amp;H55<br />   1wverify Dsid2(1)                                        'wysylam adres drugiego czujnika<br />   1wwrite &amp;HBE<br />   I2 = 1wread(2)<br />'--------konwersja temp dla wszystkich dsow<br />   1wreset<br />   1wwrite &amp;HCC<br />   1wwrite &amp;H44<br />Wait 1<br /><br />'****Jeśli pracujesz z wyświetlaczem innym niż 2x20 to tutaj trzeba wprowadzić zmiany w LOCATE********<br /><br />   I1 = I1 * 10<br />   I1 = I1 / 16<br />   If I1 &gt; 0 Then                                           'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot;  0.0&quot;)<br />   Locate 1 , 1                                             'Pozycja wyświetlania nazwy i temperatury (1.1 -&gt; 1 linia 1 kolumna, 2.10 -&gt; 2 linia 10 kolumna itd)<br />   Lcd Chr(1) ; Ss ; Chr(0) ;<br />   Else<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 1 , 1                                             'Pozycja wyświetlania nazwy i temperatury (1.1 -&gt; 1 linia 1 kolumna, 2.10 -&gt; 2 linia 10 kolumna itd)<br />   Lcd Chr(1) ; Ss ; Chr(0) ;<br />   End If<br /><br />   I2 = I2 * 10<br />   I2 = I2 / 16<br />   If I2 &gt; 0 Then<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot;  0.0&quot;)<br />   Locate 1 , 10<br />   Lcd Chr(2) ; Ss ; Chr(0) ;<br />   Else<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 1 , 10<br />   Lcd Chr(2) ; Ss ; Chr(0)<br />   End If<br /><br /><br />   Loop[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 23 gru 2013, o 12:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2013-12-23T10:49:19+01:00</updated>
<published>2013-12-23T10:49:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62120#p62120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62120#p62120"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62120#p62120"><![CDATA[
Niestety porada z rezystorem się nie powiodła dalej jest widoczny jeden ds<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 23 gru 2013, o 10:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BARTB]]></name></author>
<updated>2013-12-23T08:55:10+01:00</updated>
<published>2013-12-23T08:55:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62114#p62114</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62114#p62114"/>
<title type="html"><![CDATA[Re: Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62114#p62114"><![CDATA[
nie sprawdzałem kodu, ale może dam małą porade sprzętową:<br />przy wiekszej liczbie DSów na magistrali trzeba zmniejszyć rezystor pullup. <br />Na schemacie masz standardowe 4,7K tak jak chce producent, jednak w rzeczywistości im więcej czujników tym mniejszy musi byc rezystor, ja przy 10 czujnikach kiedyś musiałem dać 2.1K żeby zaczęło działać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1542">BARTB</a> — 23 gru 2013, o 08:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2013-12-22T20:15:12+01:00</updated>
<published>2013-12-22T20:15:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62077#p62077</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62077#p62077"/>
<title type="html"><![CDATA[Termometr wykrywa tylko jeden czujnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5241&amp;p=62077#p62077"><![CDATA[
Co może być tego przyczyną gdyż na innym sofcie są wykrywane dwa czujniki. <br /><a href="http://forum.atnel.pl/_obrazki/o/858/e6b569a27793f4851537c544d1c80cb4.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/858/e6b569a27793f4851537c544d1c80cb4.jpg" alt="Obrazek" /></a><br /><br /><br /><br />[syntax=basic4gl]$regfile = &quot;m8adef.dat&quot;<br />$crystal = 1000000<br />$hwstack = 40<br />$swstack = 16<br />$framesize = 32<br />'Deklaracja portów od wyświetlacza LCD<br />Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5<br /><br />Config Lcd = 16 * 2                                         'ustawiamy typ wyświetlacza (soft jest dostosowany do pracy z wyświetlaczem 2x20, przy pracy z innym wyświetlaczem trzeba będzie skorygować wyświetlanie znaków)<br /><br />'*************************************WAŻNE**********************************************<br />'Pamiętać o podłączeniu rezystora podciągającego o wartości 4.7kohm między linią DQ a VCC<br />Config 1wire = Portd.5                                      'deklaracja portu na którym będą podpięte DS18b20<br /><br />Dim I1 As Integer , Ss As String * 6<br />Dim I2 As Integer<br />Dim I11 As Integer                                          ' przechowuje poprzednią wartoś temp<br />Dim I22 As Integer                                          ' przechowuje poprzednią wartoś temp<br /><br />Dim Dsid1(8) As Byte<br />Dim Dsid2(8) As Byte<br />Dim B As Byte                                               'deklaracja zmiennej do odczytu kodów ID<br />Dim W As Byte                                               'deklaracja zmiennej do odczytu ilośc czujników<br /><br />Deflcdchar 0 , 8 , 20 , 8 , 32 , 32 , 32 , 32 , 32          'znak stopnia Celsjusza<br />Deflcdchar 1 , 32 , 4 , 14 , 21 , 4 , 4 , 4 , 32            ' strzałka góra<br />Deflcdchar 2 , 32 , 4 , 4 , 4 , 21 , 14 , 4 , 32            ' strzałka dół<br /><br /><br />Cursor Off                                                  'Wyłącza kursor<br />Cls                                                         'Funkcja CLS czyści ekran<br />Lcd &quot;   Termometr&quot; ;                                        'ekran startowy (pojawia się tylko podczas włączania urządzenia)<br />Lowerline<br />Lcd &quot;   2xDS18B20&quot;<br />Wait 5<br />Cls<br /><br />W = 1wirecount()<br />Lcd &quot;Czujniki:&quot;                                             'Informuje ile czujników jest podpiętych do układu (pojawia się tylko podczas włączania urządzenia)<br />Waitms 500<br />Lcd W<br />Wait 3<br />Cls                                                         'Znajdź pierwszy czujnik podpięty do portu<br />Dsid1(1) = 1wsearchfirst()                                  'Znajdź kolejny czujnik podpięty do portu<br />Dsid2(1) = 1wsearchnext()<br /><br />'*******************Odczyt numerów ID czujników temperatury*********************<br /><br />If Dsid1(8) = Crc8(dsid1(1) , 7) Then                       'ta opcja pojawia się tylko przy włączaniu urządzenia<br /> Locate 1 , 1<br /> Lcd &quot;OK Czujnik 1 ID&quot;<br /> Wait 1<br /> Locate 1 , 1<br /> For B = 1 To 8<br /> Lcd Hex(dsid1(b))<br /> Next<br />End If<br />Wait 2<br /><br />If Dsid2(8) = Crc8(dsid2(1) , 7) Then<br /> Locate 2 , 1<br /> Lcd &quot;OK Czujnik 2 ID&quot;<br /> Wait 1<br /> Locate 2 , 1<br /> For B = 1 To 8<br /> Lcd Hex(dsid2(b))<br /> Next<br />End If<br />Wait 2<br /><br />'*******************koniec odczytu ID czujników temperatury*********************<br /><br />Do<br />   1wreset<br />   1wwrite &amp;H55<br />   1wverify Dsid1(1)                                        'wysyłamy adres pierwszego czujnika<br />   1wwrite &amp;HBE<br />   I1 = 1wread(2)<br />'---------------------------------<br />   1wreset<br />   1wwrite &amp;H55<br />   1wverify Dsid2(1)                                        'wysylam adres drugiego czujnika<br />   1wwrite &amp;HBE<br />   I2 = 1wread(2)<br />'--------konwersja temp dla wszystkich dsow<br />   1wreset<br />   1wwrite &amp;HCC<br />   1wwrite &amp;H44<br />Wait 1<br /><br />'****Jeśli pracujesz z wyświetlaczem innym niż 2x20 to tutaj trzeba wprowadzić zmiany w LOCATE********<br /><br />   I1 = I1 * 10<br />   I1 = I1 / 16<br />   If I1 &gt;= I11 Then<br />   I11 = I1<br />   If I1 &gt; 0 Then<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 1 , 1<br />   Lcd &quot;Wewnatrz   &quot; ; Ss ; Chr(0) ; Chr(1) ;<br />   Else<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot;0.0&quot;)<br />   Locate 1 , 1<br />   Lcd &quot;Wewnatrz   &quot; ; Ss ; Chr(0) ; Chr(1) ;<br />   End If<br />   Else<br />   I11 = I1<br />   If I1 &gt; 0 Then<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 1 , 1<br />   Lcd &quot;Wewnatrz   &quot; ; Ss ; Chr(0) ; Chr(2) ;<br />   Else<br />   Ss = Str(i1)<br />   Ss = Format(ss , &quot;0.0&quot;)<br />   Locate 1 , 1<br />   Lcd &quot;Wewnatrz   &quot; ; Ss ; Chr(0) ; Chr(2) ;<br />   End If<br />   End If<br /><br /><br />   I2 = I2 * 10<br />   I2 = I2 / 16<br />   If I2 &gt;= I22 Then<br />   I22 = I2<br />   If I2 &gt; 0 Then<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 2 , 1<br />   Lcd &quot;Zewnatrz   &quot; ; Ss ; Chr(0) ; Chr(1) ;<br />   Else<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot;0.0&quot;)<br />   Locate 2 , 1<br />   Lcd &quot;Zewnatrz   &quot; ; Ss ; Chr(0) ; Chr(1) ;<br />   End If<br />   Else<br />   I22 = I2<br />   If I1 &gt; 0 Then<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot; 0.0&quot;)<br />   Locate 2 , 1<br />   Lcd &quot;Zewnatrz   &quot; ; Ss ; Chr(0) ; Chr(2) ;<br />   Else<br />   Ss = Str(i2)<br />   Ss = Format(ss , &quot;0.0&quot;)<br />   Locate 2 , 1<br />   Lcd &quot;Zewnatrz   &quot; ; Ss ; Chr(0) ; Chr(2) ;<br />   End If<br />   End If<br /><br />Loop[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 22 gru 2013, o 20:15</p><hr />
]]></content>
</entry>
</feed>