1-Wire DS2408

Hallo,

ich wollte nur kurz fragen, ob vielleicht jemand nen Beispiel Code für nen
DS2408 hat, mit dem ich nen Port ein bzw ausschalten kann.

Am besten wäre, wenn nur die OneWire.h benutzt würde.

Vielen DANK

Goofy

Funktioniert mein Google besser als Deiner? :wink: :wink: :wink:

zum Download links der button mit "ZIP".
Grüße Uwe

Hallo,

das habe ich schon auch gefunden und glaub mir, ich habe fast komplett google durch.
Aber nicht alles was so angeboten wird funktioniert auch so :frowning:

Und vor allem nicht "Am besten wäre, wenn nur die OneWire.h benutzt würde."

Deswegen dachte ich dass ich hier mal freundlich frage :wink:

Gruß Goofy

Dass du die Google-Suche schon benutzt hast, ging nicht aus deiner Fragestellung hervor. Das sollte eigentlich eine Selbstverständlichkeit sein, ist es aber leider nicht immer...
Wenn du alle Anschlussprobleme ausschließen kannst, wie falsche Verdrahtung bzw. Beschaltung, an Pullupwiderstände für die I2C gedacht hast usw., ist die Zuhilfenahme einer Bibliothek trotzdem nicht verkehrt. Da diese im Klartext vorliegen, kann man ebenso gut die eingebauten Funktionen analysieren und in leicht abgewandelter Form in den eigenen Sketchen verwenden.

goofy79:
Hallo,

das habe ich schon auch gefunden und glaub mir, ich habe fast komplett google durch.
Aber nicht alles was so angeboten wird funktioniert auch so :frowning:

Und vor allem nicht "Am besten wäre, wenn nur die OneWire.h benutzt würde."

Deswegen dachte ich dass ich hier mal freundlich frage :wink:

Gruß Goofy

Daß einige Fehler in Bibiotheken und Beispielen sind muß ich Dir recht geben. Aus Ermangelung des DS2408 kann ich keine Kontrollen machen. Ich kann Dir nur Beispiele aufzeigen die ich finde.

Was funktioniert genau nicht?

Grüße Uwe

Ja klar, ich bin ja über jede Hilfe Dankbar und dass ich schon alles durchsucht habe, hätte ich
ja auch schreiben können :cold_sweat:

zu meinem Problem, ich möchte meine IOs mit dem DS2408 erweitern. Habe die Platine schon
gemacht alles verkabelt und ich finde den Chip auch, will heißen ich bekomme ne ID zurück.

Prinzipiell habe ich ja auch DS18B20 dran hängen und das funktioniert auch super.

Hier mal ein Beispielcode für nen DS18B20 der auch mit nem Sensor gut funktioniert und am selben Bus hängt der
DS2408 ... als Verkabelungstechnisch muss alles passen :slight_smile:

#include <OneWire.h>
OneWire ds(12); // on pin 12

byte sensor_1[8] = {0x28, 0x42, 0x37, 0x03, 0x03, 0x00, 0x00, 0xBC};
float temperatur;

void setup(void) {
// start serial port
Serial.begin(9600);
}

void loop(void) {
temperatur = ds18b20(sensor_1);
Serial.print(temperatur);
Serial.print(" C\n");
delay(1000);
}

//Funktionen
///////////////
// DS18B20 //
///////////////
float ds18b20(byte* address){
byte i;
byte data[12];
int HighByte, LowByte, TReading, SignBit, Tc_100, Whole, Fract;
float Temperatur;

ds.reset();
ds.select(address); //(addr)
ds.write(0x44,1); // start conversion, with parasite power on at the end

ds.reset();
ds.select(address);
ds.write(0xBE); // Read Scratchpad

for ( i = 0; i < 9; i++) { // we need 9 bytes
data = ds.read();

  • }*

  • LowByte = data[0];*

  • HighByte = data[1];*

  • TReading = ( HighByte << 8 ) + LowByte;*

  • Temperatur = (float)TReading / 16;*

  • return Temperatur;*
    }
    [/quote]
    Jetzt wäre nur die Frage was ich an den DS2408 schicken muss, damit ich nen Port auf HIGH bzw LOW setzte.
    Das Datenblatt wäre hier http://datasheets.maxim-ic.com/en/ds/DS2408.pdf
    Vielen DANK
    Gruß Goofy