#define NTC_PIN 25 // Pin, an dem der NTC-Sensor angeschlossen ist
#define REFERENCE_RESISTOR 10000.0 // Widerstand des Referenzwiderstands (in Ohm)
#define NOMINAL_RESISTANCE 10000.0 // Nennwiderstand des NTC-Sensors (in Ohm)
#define NOMINAL_TEMPERATURE 25.0 // Nenntemperatur des NTC-Sensors (in Grad Celsius)
#define TEMPERATURE_COEFFICIENT 3950.0 // Temperaturkoeffizient des NTC-Sensors
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(NTC_PIN); // Lese den ADC-Wert
// Berechne den Widerstand des NTC-Sensors
float voltage = sensorValue * (3.3 / 4095.0); // Umrechnung des ADC-Werts in Spannung (3.3V ist die Referenzspannung des ESP32)
float resistance = REFERENCE_RESISTOR * (3.3 / voltage - 1.0);
// Berechne die Temperatur mit dem Steinhart-Hart Gleichung
float steinhart;
steinhart = resistance / NOMINAL_RESISTANCE; // (R/Ro)
steinhart = log(steinhart); // ln(R/Ro)
steinhart /= TEMPERATURE_COEFFICIENT; // 1/B * ln(R/Ro)
steinhart += 1.0 / (NOMINAL_TEMPERATURE + 273.15); // + (1/To)
steinhart = 1.0 / steinhart; // Invert
steinhart -= 273.15; // Konvertiere in Celsius
// Ausgabe der gemessenen Temperatur über die serielle Schnittstelle
Serial.print("Gemessene Temperatur: ");
Serial.print(steinhart);
Serial.println(" °C");
delay(1000); // Wartezeit zwischen den Messungen
}