<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem onewire</title>
<link>https://forum.pasja-informatyki.pl/tag/onewire</link>
<description>Powered by Question2Answer</description>
<item>
<title>Arduino czujnik temperatury - pobranie adresu</title>
<link>https://forum.pasja-informatyki.pl/412996/arduino-czujnik-temperatury-pobranie-adresu</link>
<description>

&lt;p&gt;Witam&lt;/p&gt;



&lt;p&gt;Chciałbym zapisać w tablicy adresy wszystkich czujników którę są podpięte. Niby spoko ale program daje różne wyniki w zależności czy są podłączone 2 czujniki czy jeden. Korzystam z&amp;nbsp;DS18B20. Jak są podłączone oba to pokazuje że ich adresy to&amp;nbsp;&lt;/p&gt;



&lt;p&gt;281BCE730A000008
&lt;br&gt;
00281BCE730A008B&lt;/p&gt;



&lt;p&gt;A kiedy podłączam je pojedynczo to jeden czujnik ma adres&amp;nbsp;281BCE730A000A00 a drugi&amp;nbsp;28783F3A0A000A00
&lt;br&gt;
To kod programu&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;OneWire.h&amp;gt;
#include &amp;lt;DallasTemperature.h&amp;gt;

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&amp;amp;oneWire);
DeviceAddress insideThermometer;
byte** tablicaAdresow;
byte liczbaCzujnikow;

void setup() {
  delay(1000);
   Serial.begin(9600);
   Serial.println(&quot;Stacja meterologiczna konsola&quot;);

   Serial.println(&quot;Szukanie czujnikow ...&quot;);
   sensors.begin();
   Serial.print(&quot;Znaleziono &quot;);
   liczbaCzujnikow = sensors.getDeviceCount();
   Serial.print(liczbaCzujnikow, DEC);
   Serial.println(&quot; czujnikow.&quot;);


  // Must be called before search()
  byte adresses[8];
  tablicaAdresow = new byte*[liczbaCzujnikow];
  for(int i = 0;i&amp;lt;liczbaCzujnikow;i++)
  {
    tablicaAdresow[i] = new byte[8];
  }
  byte licznik = 0;
  oneWire.reset_search();
  while(oneWire.search(adresses))
  {
    strcpy(tablicaAdresow[licznik],adresses);
  }
printAdresses();
}

void loop() {

}

void printAdresses()
{
  for(int j = 0;j&amp;lt;liczbaCzujnikow;j++)
  {
  for (uint8_t i = 0; i &amp;lt; 8; i++)
  {
    if (tablicaAdresow[j][i] &amp;lt; 16) Serial.print(&quot;0&quot;);
    Serial.print(tablicaAdresow[j][i], HEX);
  }
  Serial.println();
  }
}
&lt;/pre&gt;



&lt;p&gt;Proszę o pomoc&amp;nbsp;&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/412996/arduino-czujnik-temperatury-pobranie-adresu</guid>
<pubDate>Sat, 09 Feb 2019 19:27:33 +0000</pubDate>
</item>
</channel>
</rss>