i2C Temperatursensor von Conrad

Lässt sich der i2C Temperatursensor von Conrad mit dem Arduino ansprechen?
Ich bekomme nur einen konstant gleichmäßigen Wert (1857) übermittelt.

#include <Wire.h>
#define address 0x48

void setup()
{
Wire.begin();
Serial.begin(9600);
}

void loop()
{
Wire.beginTransmission(address);
Wire.write(0x00);
Wire.requestFrom(address, 1);
int temperature;
if (Wire.available()) {
temperature = Wire.read();
}
Wire.endTransmission();
Serial.println("-----------");
Serial.println(temperature);
delay(1000);
}

Thomas

Willkommen! Es wäre hilfreich, wenn du zumindest die Bestellnummer nennen könntest, noch besser wäre natürlich auch noch ein Link zum Produkt. I2C nämlich funktioniert unabhängig vom Händler, daher ist die Angabe "Temperatursensor von Conrad" weitestgehend nutzlos. :D Wir könne ja noch nicht einmal sagen, ob du den Sensor richtig angeschlossen hast... Ein Bild oder Schaltplan vom Aufbau, die Nennung des verwendeten Arduino, Versionsnummer der IDE usw. gehören zu einer Fragestellung einfach mit dazu. Alles Andere wird zu Spielereien mit Kristallkugeln.

Wenn du keinen Sensor anschliesst, gibt dein Sketch auch jede Sekunde etwas aus. Das wird vermutlich auch konstant sein. Vielleicht sogar 1857 …
Wenn Wire.read() jemals funktioniert hätte, sollte der Wert eigentlich < 256 sein.

Wer hat dir denn die address=0x48 verraten ? Hast du mal den I2C Scanner gegen Ende von Nick Gammon’s super I2C Seite ausprobiert?

Hallo,
vielen Dank für die Antwort. Also jetzt präziser:
Ich habe einen Arduino Mega 2560,
IDE 1.01
Der Temperatursensor ist unter

zu finden.
Ich habe SDA an Pin 20 und SCL an Pin 21 angeschlossen.
Außerdem 5 V und Gnd an die Arduino-Boardversorgung.

Thomas

Die Standardadresse für Temperatursensoren sollen mit 1001 beginnen und somit blieben noch acht Möglichkeiten offen. Alle acht Möglichkeiten habe ich durchprobiert. Dann habe ich noch versucht den i2c Scanner von Kurt Tod laufen zu lassen. Er ließ sich jedoch in IDE nicht ausführen. Ich werde jetzt mal den Scanner von Nick Gammon ausprobieren.

Thomas

Wunderbar! Der Scanner funktioniert. Die Adresse lautet: 0x4F Jetzt bekomme ich als Rückmeldung den Wert 9. Leider ganz egal ob ich den Sensor erwärme oder nicht. Thomas

Der DS1631 der da verbaut ist, lässt sich ja in verschiedenen Modi betreiben und liefert 2 Byte zurück. Wie genau hast Du den denn konfiguriert? Vielleicht solltest Du erst mal ins Datenblatt schauen, um Dir die ganzen Optionen anzuschauen.
Wie sieht es überhaupt mit Pull-Up Widerständen an den SDA und SCL-Leitungen aus?