Hallo zusammen,
ich würde euch gerne shcon wieder um Hilfe bitten (:
und zwar möchte ich mehrere DS18B20 auslesen und zwar wenn es geht ohne die lib.
bisher lese ich einen so aus:
float DS18B20()
{
byte data[12];
byte addr[8];
// überprüfen ob Sensor angeschlossen
if ( !HT.search(addr))
{
HT.reset_search();
return 999.9; // Fehlercode
}
HT.reset();
HT.select(addr);
HT.write(0x44, 1);
byte present = HT.reset();
HT.select(addr);
HT.write(0xBE);
for (int i = 0; i < 12; i++) // 12 bytes
{
data = HT.read();
- }*
- HT.reset_search();*
- byte high = data[1];*
- byte low = data[0];*
- float SensorRead = ((high << 8) | low);*
- float Temperatur = SensorRead / 16;*
- return Temperatur;*
}
ich vermute mal, dabei wird einfach nach dem Nächstbesten gesucht und der dann ausgelesen.....
ich habe jetzt folgende Adressen ermittelt:
Device is a DS18B20 : 0x28, 0xFF, 0x40, 0xA4, 0x64, 0x15, 00x2, 0x92
Device is a DS18B20 : 0x28, 0xFF, 0xA8, 0xCD, 0x64, 0x15, 00x2, 0x75
Device is a DS18B20 : 0x28, 0xFF, 0x39, 0x83, 00x1, 0x15, 00x3, 0x34
Device is a DS18B20 : 0x28, 0xFF, 0x6B, 0xF3, 0x64, 0x15, 00x2, 0x44
Ich verstehe jetzt nur nicht, wie ich diese Adressen anstelle von "addr" verwenden kann.....
hab schon gesucht, aber das meiste war mit lib und in der lib selber hab ich auch keine Antwort gefunden....
liegt sicher an der falschen Deklarierung oder so... mit bytes usw kenn ich mich noch nicht ganz so gut aus.