DS18B20 Temperatur kontrollieren

Hallo ich versuche mit meinem Nano eine Nachfüllautomatik und gleichzeitig eine Temperatur Überwachung zu Basteln.
Nachfüllautomatik und Temp abfrage funktionieren.
Allerdings hätte ich es gerne das eine Led angeht wenn die Temperatur 23 oder 30 Grad verlässt.

#define Switch A0

void checkAlarm(DeviceAddress ONE_WIRE_BUS)
{
  if (sensors.hasAlarm(ONE_WIRE_BUS))
  {
    digitalWrite(LED_PIN, HIGH)
  }
}

Leider schmeist er den fehler [expected ',' or '...' before numeric constant] unter define one_wire_bus 10.

Warum tut er das :confused: Ist es den so richtig ? Neuling und versuche mich da reinzu fuchsen.
Mfg Eric

void checkAlarm(DeviceAddress ONE_WIRE_BUS)
{
  if (sensors.hasAlarm(ONE_WIRE_BUS))
  {
    digitalWrite(LED_PIN, HIGH)
  }
}

Du hast nicht verstanden wie die Adressen funktionieren

ONE_WIRE_BUS ist der Pin an dem der Bus angeschlossen ist. Mit den von den Sensoren festgelegten Adressen hat das nichts zu tun.
Die Adressen haben 8 Bytes. Da gibt es in der Library ein Beispiel um die Auszulesen

Und nach dem digitalWrite() fehlt ein Strichpunkt

Hallo,

du könntest den Messwert in einer Variablen ablegen. Die kannst Du dann ebenso auf dem Display anzeigen und mit if Abfragen die LED ein und ausschalten. Bei ein und ausschalten der led solltest du eine Hysterese verwenden damit das Ding beim Schaltpunkt nicht ständig ein und aus geht.

versuch deinen Sketch mal in diesem Sinn zu ändern

Heinz

ungetestet

  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);
  lcd.setCursor(8, 1);
  //lcd.print(sensors.getTempCByIndex(0));
  lcd.print(temp);
  if (temp > 30 || temp <23) digitalWrite(led, HIGH);
  if (tenp < 29 || temp>24) digitalWrite(led, LOW);

Vielen Dank das hat funktioniert

Danke für die Rückmeldung
Heinz