Arduino Uno + DS18B20 + LED

Hallo,
mein Plan ist es, mithilfe eines DS18B20 und einem Arduino Uno Temperaturen zu messen.
Das klappt auch soweit gut. Als Erweiterung soll aber bei einer Überschreitung von 20 Grad eine LED aufleuchten. Leider funktioniert das nicht.
Hier der Code

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress Temp1 = {0x28, 0x84, 0x17, 0x5F, 0x05, 0x00, 0x00, 0x72};

void setup(void)
{

// start serial port
Serial.begin(9600);

sensors.begin();
sensors.setResolution(Temp1, 10);
}

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
Serial.print(“Fehler bei Temperatur abfrage”);
} else {
Serial.print("C: ");
Serial.print(tempC);
}

int led = 13;
pinMode(led, OUTPUT);

if (tempC > 20)
{ digitalWrite(led,HIGH); }
else
{ digitalWrite(led,LOW); }
}

void loop(void)
{

Serial.print("…aktualisiert");
sensors.requestTemperatures();
Serial.println(“DONE”);

Serial.print("Temperatur (In Grad Celsius) ");
Serial.print(sensors.getTempCByIndex(0));

delay(50);

}

Woran liegt das?

Weil ein loop fast leer ist. Die ganzen Funktionen werden nicht aufgerufen

Wenn ich die if Schleife in´s loop schreibe, bekomme ich eine Fehlermedung.

Welche Fehlermeldung? Oder sollen wir raten?

Nein, ich war gerade am umschreiben. "tempC was not declared in this scope" was das bedeutet ist mir klar, nur wie ändere ich es?

Die Variable tempC gibt es nur innerhalb deiner Funktion printTemperature, ich würde die Funktion zu getTemperature umschreiben, dass sie einen Wert zurückgibt und tempC innerhalb der loop deklarieren.
Kleiner Tipp: Lies zumindest die Befehlsreferenz zu globalen und lokalen Variablen.

Okay, Danke.

Hier ein schnipsel , da könntest Du dich dran orientieren, ist aus meiner temperaturanzeige vom Riff-Aquarium

  float tempC = sensors.getTempC(deviceAddress);
  temp=tempC,0;
  
   // Temperatur auf LED`s anzeigen
   if ((temp < 20) or (temp > 27))
   {
   for (int i=0;i<19;i++)  {leds[i] = CHSV(255,255,50);} 
   }