Tutorial: Arduino Cactus NTC 100K Temperatur Sensor

Einleitung

In diesem Tutorial werden wir hohe Temperaturen mit einem NTC 100K Thermistor messen und auf dem seriellen Monitor ausgeben. arduino-cactus-ntc-100k-temperatur-sensor-verkabelung

Ein NTC Thermistor ist ein temperaturabhängiger Widerstand, der im Gegensatz zu einem DHT11 Temperatursensor bei höheren Temperaturen eingesetzt werden kann.

Temperaturbereiche

NTC 100K ThermistorDHT11DHT20NTC 10K Thermistor
Minimum -55° bis 150 °C 0° bis 50° -40° bis 80°  -55° bis 150 °C
Toleranz ca. ±0,4° ±2°±0,2°  ca. ±0,4°

Teileliste

Für dieses Tutorial benötigen wir die folgenden Teile.

Verkabelung

Die Verkabelung sollte wie folgt aussehen:

  • NTC 100K Thermistor an einen Anlog Input und an VCC vom Atmega
  • 100K Widerstand an den selben Analog Input und an GND vom Atmega (Beachtet die Reihenfolge, siehe Teilströme von Parallelwiderständen)
Arduino Cactus NTC Thermistor Verkabelung
Arduino Cactus NTC Thermistor Verkabelung

Code

Der Code ist nicht ganz leicht zu verstehen, was er prinzipiell macht, werde ich dennoch erklären. Hierzu muss uns bewusst werden, dass ein NTC Thermistor einen Temperaturabhängigen Widerstand aufweist. Bei einer bestimmten Temperatur (meisten 20° Celsius) weißt unser Thermistor einen Widerstand von 100K Ohm auf. Dies können wir uns zu nutze machen, indem wir den Widerstand vom Thermistor messen. Da die temperaturabhängige Widerstandskurve linear ist, können wir so Rückschlüsse auf die Temperatur ziehen.

Den unten stehenden Code findet ihr wieder auf Github.

//This is a simple example to read and convert the value of a 100K Ohm NTC Thermistor. 
//You can find the tutorial on http://derpade.de/
//@author Patrick Hausmann <privat@patrick-designs.de>

#include <math.h>

double convertRawToTemperature(int raw, bool celsius) 
{
 double temperatureInF;
 
 temperatureInF = log(10000.0*((1024.0/raw-1))); 
 temperatureInF = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * temperatureInF * temperatureInF ))* temperatureInF );
 temperatureInF = temperatureInF - 273.15;          
 
 if (celsius==false) temperatureInF = (temperatureInF * 9.0)/ 5.0 + 32.0; 
 
 return temperatureInF;
}

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

void loop() 
{             
  int rawTemperatur;
  double temperaturInF;
  double temperaturInC;   
           
  rawTemperatur = analogRead(A10);
        
  temperaturInF = convertRawToTemperature(rawTemperatur, false);   
  temperaturInC = convertRawToTemperature(rawTemperatur, true); 
  
  Serial.print("Temperature: ");
  Serial.print(temperaturInF);   
  Serial.print("° F; ");
  Serial.print(temperaturInC);   
  Serial.println("° C");
  delay(50);            
}

Alle Tutorials zum Cactus Rev 2

  1. Tutorial: Arduino Cactus NTC 100K Temperatur Sensor
  2. Tutorial: Arduino Cactus Soil Moisture und Wasserpumpe ansteuern
  3. Tutorial: Arduino Cactus Ultraschallsensor
  4. Tutorial: Arduino Cactus Rev 2 Soil Moisture Sensor
  5. Tutorial: Cactus Rev 2 Atmega32u4 ESP8266 Websocket
  6. Tutorial: Sketch/Firmware auf ESP8266 über ein Atmega32u4 hochladen
  7. Tutorial: Cactus Rev 2 ESP8266 flashen
  8. Tutorial: Cactus Rev 2 Atmega32u4 ESP8266-03 - Getting Started
Zusammenfassung
Tutorial: Arduino Cactus NTC 100K Temperatur Sensor
Artikeltitel
Tutorial: Arduino Cactus NTC 100K Temperatur Sensor
Beschreibung
In diesem Tutorial werden wir einen 100K NTC Thermistor auslesen und so de aktuelle Temperatur auf dem seriellen Monitor ausgeben.
Autor

Kommentare

Eingehende Suchbegriffe zum Artikel:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.