NTC-Temperatursensor am Arduino auslesen
FunduinoZuletzt aktualisiert am
Temperatur mit einem Thermistor messen – mit einem Sensor und mit mehreren
Was ein NTC-Thermistor ist
Diese technischen Daten brauchst du
Schaltung aufbauen
Bibliothek einbinden
Temperatur auslesen
Temperatur eines NTC-Sensors auslesen
#include <Thermistor.h>
#include <NTC_Thermistor.h>
int Sensor_Pin = A0;
#define Referenzwiderstand 10000 // Widerstandswert des Widerstands, der mit dem NTC in Reihe geschaltet wurde
#define Nominalwiderstand 10000 // Widerstand des NTC bei Normaltemperatur
#define Nominaltemperatur 25 // Temperatur, bei der der NTC den angegebenen Widerstand hat
#define BWert 3950 // Beta-Koeffizient (zu finden im Datenblatt des NTC)
Thermistor* thermistor;
void setup()
{
Serial.begin(9600);
// Nun wird der Sensor mit den spezifischen Daten initialisiert.
thermistor = new NTC_Thermistor(Sensor_Pin, Referenzwiderstand, Nominalwiderstand, Nominaltemperatur, BWert);
}
void loop()
{
const double celsius = thermistor->readCelsius(); // Temperatur auslesen
Serial.print("Temperatur: "); // Ausgabe am seriellen Monitor - hier nur der Text
Serial.print(celsius); // Hier wird der Temperaturwert gesendet
Serial.println(" °C"); // Dahinter erscheint noch die Einheit
delay(1000); // Eine Sekunde Pause: ein Temperaturwert pro Sekunde
}Mehrere Sensoren gleichzeitig verwenden
Zwei NTC-Sensoren auslesen und mitteln
#include <Thermistor.h>
#include <NTC_Thermistor.h>
int Sensor_Pin1 = A0;
int Sensor_Pin2 = A1;
#define Referenzwiderstand 10000 // Widerstandswert des Widerstands, der mit dem NTC in Reihe geschaltet wurde
#define Nominalwiderstand 10000 // Widerstand des NTC bei Normaltemperatur
#define Nominaltemperatur 25 // Temperatur, bei der der NTC den angegebenen Widerstand hat
#define BWert 3950 // Beta-Koeffizient (zu finden im Datenblatt des NTC)
Thermistor* thermistor1;
Thermistor* thermistor2;
void setup()
{
Serial.begin(9600);
// Nun werden die beiden Sensoren mit den spezifischen Daten initialisiert.
thermistor1 = new NTC_Thermistor(Sensor_Pin1, Referenzwiderstand, Nominalwiderstand, Nominaltemperatur, BWert);
thermistor2 = new NTC_Thermistor(Sensor_Pin2, Referenzwiderstand, Nominalwiderstand, Nominaltemperatur, BWert);
}
void loop()
{
double celsius1 = 0;
double celsius2 = 0;
// 1000 Messwerte aufaddieren ...
for (int i = 0; i <= 999; i++)
{
celsius1 = celsius1 + thermistor1->readCelsius();
celsius2 = celsius2 + thermistor2->readCelsius();
}
// ... und durch 1000 teilen: das ergibt den Mittelwert.
celsius1 = celsius1 / 1000;
celsius2 = celsius2 / 1000;
Serial.print("Temperatur1: ");
Serial.print(celsius1);
Serial.print(" °C ");
Serial.print("Temperatur2: ");
Serial.print(celsius2);
Serial.println(" °C");
delay(100); // Eine zehntel Sekunde Pause
}Anleitung bewerten