Sensirion Fehleranzeige implementieren

Hallo Liebe Community,

also absoluter Arduino Neuling, habe ich bereits meine ersten Stolpersteine zu überwinden.
Ich möchte einen Sensirion Sensor SHT21 auslesen. Durch die bereitgestellte Libary und das Beispielprogramm klappt dies super. Als Mikrocontroller dient ein UNO.

Jetzt möchte ich gern, sobald der Sensor vom Stecker abgezogen wird (um einen defekt zu simulieren), dass ein Fehler als Ausgabe kommt. Ich würde mich freuen, wenn mir jemand einen kleinen Denkanstoß geben kann, damit ich mein Problem selber löse. Vielen Dank!

Wenn man das Programm so nutzt und den Sensor abzieht werden keine Daten mehr übertragen, was ja auch logisch ist :slight_smile: aber wenn ich diesen wieder anstecke setzt die Datenübertragung nicht fort. Das wäre das Ziel, dass dies geschieht.

Hier das Programm:

#include <SHT2x.h>
#include <Wire.h>

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

}

void loop() {
  Serial.print("Humidity: ");
  Serial.println(SHT2x.GetHumidity());
  Serial.print("Temperature(C): ");
  Serial.println(SHT2x.GetTemperature());
  Serial.println();
  delay(1000);

}

Verdrahtet habe ich nach diesem Vorbild.

Falls noch mehr Informationen nötig sind, bitte kurz schreiben, was benötigt wird.

VG

Wenn Du diese Library nutzt, da gibt es ein Beispiel um die Seriennummer des Sensors anzufragen. Das würde ich nutzen, um zu erkennen ob der Sensor angeschlossen ist, oder halt nicht.

P.S. Bitte setze Deinen Sketch in Codetags.
Anklickbare Links (für Tabletuser) auf genutzte Librarys sind hier auch gern gesehen.

Super, vielen Dank. Das werde ich mal ausprobieren!

Beim nächsten Mal dann auch in Codetags :slight_smile:

Das kannst Du nachträglich auch immer noch ändern :wink:

Hallo Kriccemis,
dass der Sensor nach abstecken und erneutem wiederanstecken den Betrieb (Datenaustausch) wieder aufnimmt, dürfte sich als nicht ganz einfach erweisen, da der I2C-Bus nicht von Haus aus HotPlug-fähig ist.
Wie Du dieses problem lösen kannst , weiss ich im Moment auch grad nicht.

LG Stefan

Notfalls halt den ganz harten (bösen) Weg gehen:
Ausgabe, dass Sensor nicht gefunden wird.... oder LED Blinken oder sonst was...
gleichzeitig auf Tasteneingabe warten und danach den Arduino neu starten (natürlich erst nach Verbinden eines neuen Sensors)

Habe mir die Lib mal angesehen...

Die interessiert sich überhaupt nicht dafür, ob die Kommunikation geklappt oder versagt hat.

Merke:
Einige Wire Methoden melden Erfolg oder Versagen.
Die Lib ignoriert das vollständig.