Go Down

Topic: 1-Wire DS2408 (Read 1 time) previous topic - next topic

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

uwefed

#1
Mar 11, 2012, 10:46 pm Last Edit: Mar 11, 2012, 10:55 pm by uwefed Reason: 1
Funktioniert mein Google besser als Deiner?  ;) ;) ;)
https://github.com/queezythegreat/arduino-ds2408
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 :(

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  ;)

Gruß Goofy

sth77

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.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

uwefed


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 :(

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  ;)

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  :smiley-roll-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 :)

Quote

#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;
}


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

Go Up