In diesem Artikel zeige ich dir, wie du den TMP36 Temperatursensor mit einem ESP32 Mikrocontroller verwendest.
Der TMP36 ist ein kostengünstiger, niedrigspannungsbetriebener Temperatursensor. Er ist bereits in Celsius kalibriert, was die Verarbeitung der Sensordaten erleichtert.
Du wirst sehen, dass Temperaturmessung in vielen verschiedenen Anwendungen eine zentrale Rolle spielt.
Temperatursensoren schützen elektronische Geräte wie Laptops und Fernseher vor Überhitzung. Auch jede Batterie ist heutzutage mit einem Temperatursensor ausgestattet, um Überhitzung zu vermeiden.
In diesem Artikel vermittle ich dir alle wichtigen Informationen, die du über den TMP36 Temperatursensor wissen musst.
Ich zeige dir, wie du einen TMP36 Sensor mit dem ESP32 verwendest. Du erhältst eine Anschlussanleitung, Beispielcode für den ESP32 mit TMP36 und ich beantworte häufig gestellte Fragen zum TMP36.
Lass uns loslegen!
Benötigte Komponenten für das ESP32- und TMP36-Sensor-Projekt
Hardware-Komponenten
- Dupont wire x 1 Satz
- Micro USB Cable for ESP32 x 1
Software
Anleitung
Makerguides.com nimmt am Amazon Services LLC Associates Program teil, einem Partner-Werbeprogramm, das Websites ermöglicht, durch Werbung und Verlinkung zu Produkten auf Amazon.com Werbegebühren zu verdienen.
Grundlagen der TMP36 Sensoren
Lass uns die Details des TMP36 Temperatursensors verstehen. Das Wissen um die Feinheiten hilft dir, das Projekt sicher aufzubauen und zu entscheiden, ob der TMP36 die richtige Wahl ist.
Der TMP36 ist sowohl als dreipoliges Gehäuse als auch als SMD Small Outline Package erhältlich.

Der TMP36 IC ist einfach zu verwenden. Es gibt keine IC-Adressen, CRC-Berechnungen oder serielle Kommunikation usw.
- Du nutzt einfach einen ADC und liest den analogen Wert aus.
- Wandle den analogen Wert in eine Spannung um.
- Verwende die untenstehende Referenztabelle, um die Spannung in die Temperatur umzuwandeln.
Das war’s. Die Verwendung des TMP36 Sensors ist einfach und unkompliziert.
Neben dem TMP36 gibt es auch TMP35 und TMP37, die sehr ähnlich sind, aber subtile Unterschiede aufweisen, die ich in der folgenden Tabelle zusammengefasst habe:
| Sensor | Spannung bei 25 ℃ | Messbereich | Ausgangs-Skalenfaktor |
| TMP35 | 250 mV | 10 °C bis 125 ℃ | 10 mV/℃ |
| TMP36 | 750 mV | −40 °C bis +125 ℃ | 10 mV/℃ |
| TMP37 | 500 mV | 5 °C bis 100 ℃ | 20 mV/℃ |
Eigenschaften des TMP36 Sensors
Hier sind die wichtigsten Eigenschaften des TMP36 Sensors in einer Tabelle zusammengefasst:
| Parameter | Bereich |
| Betriebstemperaturbereich | -40 ℃ bis 125 ℃ |
| Temperaturgenauigkeit | ± 1 ℃ (typisch), ± 2 ℃ (maximal) |
| Versorgungsspannung | 2,7 V bis 5,5 V |
| Ausgang | 750 mV bei 25 ℃ |
| Versorgungsstrom | 50 uA |
| Standby-Strom | 0,5 uA |
| Langzeitstabilität | ± 0,4 ℃ |
| Ausgangsspannungsbereich | 100 mV bis 2 V |
Pinbelegung des TMP36 Sensors
Du kannst die folgende Referenz nutzen, um schnell die Pinbelegung des TMP36 Temperatursensor-ICs nachzuschlagen:

| Pin-Nummer | Pin | Beschreibung |
| 1 | +Vs | Versorgungsspannungs-Pin (2,7 V bis 5,5 V) |
| 2 | VOUT | Ausgang analoge Spannung |
| 3 | GND | Masseanschluss |
In der SMD-Version gibt es einen zusätzlichen Pin namens Shutdown. Mit diesem Pin kannst du den IC in den Schlafmodus versetzen und so Strom sparen.
Der Stromverbrauch sinkt dann auf 500 nA (was für ein batteriebetriebenes Gerät fantastisch ist!).
Wie leitet man die Temperatur aus VOUT des TMP36 ab?
Du kannst die folgende Grafik verwenden, um die gemessene analoge Spannung in die Temperatur umzuwandeln.

Wie du in der Grafik siehst, beträgt die Spannung bei 25 Grad 750 mV und bei 50 Grad 1 V.
Wenn du also vom ADC eine Spannung von 1 V abgelesen hast, schaust du in diese Grafik und beziehst dich auf die blaue Linie (die dem TMP36 Sensor entspricht).
Um den ADC-Wert in Spannung umzuwandeln, verwende die folgende Gleichung.
ADC_volts_in_mV = (ADC_reading) * 3300 / 1024;
Um die ADC-Spannung in Temperatur umzuwandeln, kannst du die folgende Formel verwenden.
temperature = (ADC_volts_in_mV – 500) / 10;
Shutdown-Pin-Funktion des TMP36 Sensors
Alle drei Varianten, TMP35, TMP36 und TMP37, verfügen über eine Shutdown-Funktion. Diese ist ein zusätzlicher Pin in den SMD-Versionen. Damit kannst du den Stromverbrauch auf 0,5 uA reduzieren.
Du solltest das Gehäuse sorgfältig wählen. Die dreipolige Version (TO-92) hat diesen Shutdown-Pin nicht.
Du musst den Shutdown-Pin auf Low setzen, um den IC in den Shutdown-Modus zu versetzen. Wenn du einen GPIO verwendest, sende ein Logik-0. Dadurch wird der IC in den Schlafmodus versetzt.
Der Shutdown-Pin hat eine interne Pull-up-Widerstand zur Versorgungsspannung im TMP36. Daher kannst du den Shutdown-Pin auch mit einem Open-Drain-Pin ansteuern.
Im Shutdown-Modus ist die Ausgangsspannung nicht mehr gültig.
Außerdem benötigt der Sensor eine gewisse Zeit, um in den Shutdown-Modus zu wechseln. Die folgende Grafik zeigt die erwartete Zeit bis zum Abschalten des IC.

Bei Raumtemperatur beträgt die Ansprechzeit etwa 265 µs, variiert jedoch mit der Umgebungstemperatur. Dies solltest du in deinem Code berücksichtigen, wenn du die Shutdown-Funktion nutzt.
Anwendungen des TMP36 Sensors
Der TMP36 ist ein primärer Sensor zur Temperaturmessung und wird in vielen Bereichen eingesetzt, darunter:
- HLK-Systeme – Heizungs-, Lüftungs- und Klimaanlagen sind stark auf die Raumtemperatur angewiesen. Der TMP36 ist eine wertvolle Lösung für diese Systeme.
- Lebensmittelverarbeitung – Du benötigst ein Temperaturüberwachungssystem, um sicherzustellen, dass Lebensmittel nicht verderben und bei der richtigen Temperatur gegart werden. Den TMP36 kannst du in solchen Anwendungen einsetzen.
- Medizinische Geräte – Du kannst den Sensor verwenden, um die Temperatur von Patienten zu überwachen und sicherzustellen, dass Intensivstationen und andere kritische Bereiche temperaturgeregelt sind, um Komfort und Genauigkeit bei Behandlungsverfahren zu gewährleisten.
- Industrielle Prozesse: Mehrere industrielle Prozesse nutzen den TMP36 Sensor, um sicherzustellen, dass Bauteile bei der richtigen Temperatur gefertigt werden und so die Produktionsgenauigkeit gewährleistet ist.
Temperaturschwankungen können bei bestimmten Prozessen zu Maß- oder Farbabweichungen führen. Daher ist es wichtig, die Temperatur zu überwachen und zu kontrollieren.
Für welche Anwendung nutzt du den TMP36 Sensor? Lass es uns im Kommentarbereich wissen.
Anschluss des TMP36 Sensors an den ESP32
Ich zeige dir, wie du ein Projekt mit ESP32 und dem TMP36 Temperatursensor aufbaust. Fangen wir mit den Hardwareverbindungen an.
Schritt 1: Schließe die Hardwareverbindungen an

Der TMP36 ist nur ein 3-Pin-IC. Die Einfachheit der Verbindung wird im folgenden Diagramm deutlich.
Beginne mit den Masseverbindungen. Wenn du andere Pins verwenden möchtest, passe den Code entsprechend an.
Versorge das gesamte System erst mit Strom, wenn alle Verbindungen abgeschlossen sind.
Schritt 2: Programmiere den ESP32 mit dem folgenden Code
Folge dem nächsten Schritt, um die Code-Implementierung zu verstehen. Du kannst den untenstehenden Code verwenden, um das ESP32-Modul und den angeschlossenen TMP36 Sensor zu testen.
Wenn du noch nie einen ESP32 mit deiner Arduino IDE verwendet hast, lies unser Tutorial Install ESP32 core in Arduino IDE.
const int tempPin = 2; //analog input pin constant
int tempVal; // temperature sensor raw readings
float volts; // variable for storing voltage
float temp; // actual temperature variable
void setup()
{
// start the serial port at 9600 baud
Serial.begin(9600);
}
void loop()
{
//read the temp sensor and store it in tempVal
tempVal = analogRead(tempPin);
volts = tempVal / 1023.0;
temp = (volts - 0.5) * 100 ;
Serial.print(" Temperature is: ");
Serial.print(temp); // in the same line print the temperature
Serial.println (" degrees C"); // still in the same line print degrees C, then go to next line.
delay(1000); // wait for 1 second or 1000 milliseconds before taking the next reading.
}
Schritt 3: Code-Durchgang
Lass uns den Code durchgehen. Dieses Beispiel testet TMP36 Sensoren. Der Code liest die Temperatur aus und gibt sie im seriellen Terminal aus.
const int tempPin = 2; //analog input pin constant
Zuerst definieren wir eine konstante Ganzzahlvariable tempPin mit dem Wert 2. Dies ist der Pin, an den wir den TMP36 Temperatursensor angeschlossen haben.
int tempVal; // temperature sensor raw readings float volts; // variable for storing voltage float temp; // actual temperature variable
Die Variable tempVal wird als Ganzzahl deklariert, um den rohen analogen Wert vom Temperatursensor zu speichern.
Die Variable volts speichert den aus tempVal berechneten Spannungswert. Die Variable temp speichert den tatsächlichen Temperaturwert.
In der setup()-Funktion rufen wir Serial.begin() auf, um mit einer Baudrate von 9600 zu kommunizieren.
volts = tempVal / 1023.0;
Die obige Zeile wandelt den gelesenen analogen Wert in Spannung um.
temp = (volts - 0.5) * 100;
Die folgende Zeile ist der Schlüssel im Code. Wir subtrahieren 500 mV von der gemessenen Spannung.
Warum? Siehe den Grundlagen-Abschnitt dieses Artikels für detaillierte Informationen.
Wie du weißt, fügt der Sensor einen Offset von 500 mV hinzu. Das ermöglicht es, auch negative Temperaturbereiche als positive Spannung zu lesen.
Abschließend wird die Temperatur im seriellen Terminal angezeigt. Ich hoffe, die Code-Erklärung war hilfreich. Ich hoffe, du wirst den TMP36 bald in deinen Projekten einsetzen.
Häufig gestellte Fragen zu TMP36 Sensoren
Ich habe eine Liste der häufigsten Fragen zu Projekten mit ESP32 und TMP36 Sensoren zusammengestellt.
Was ist der TMP36?
Der TMP36 ist ein niedrigspannungsbetriebener, präziser analoger Temperatursensor, der Temperaturen von -40°C bis +125°C messen kann. Er liefert eine Spannung, die linear zur Temperatur in Grad Celsius proportional ist.
Wie hoch ist die Ausgangsspannung des TMP36 Sensors?
Die Ausgangsspannung des TMP36 variiert linear mit der Temperatur und hat einen Skalenfaktor von 10 mV/°C.
Beispiel: Bei 25°C beträgt die Ausgangsspannung 0,25 V. Du kannst die untenstehende Grafik nutzen, um die erwartete Ausgangsspannung für die jeweilige Temperatur zu finden. (Grafik b).

Wie groß ist der Betriebsspannungsbereich des TMP36?
Der Betriebsspannungsbereich des TMP36 liegt zwischen 2,7 V und 5,5 V.
Wie genau ist der TMP36 Sensor IC?
Die Genauigkeit des TMP36 beträgt typischerweise ±1 °C bei 25 °C. Über den Temperaturbereich von -40°C bis +125 °C liegt der maximale Fehler bei ±2 °C.
Wie hoch ist die Auflösung des TMP36 Temperatursensors?
Die Auflösung des TMP36 Temperatursensors beträgt 0,1°C.
Wie kann ich den TMP36 an einen Mikrocontroller anschließen?
Du kannst den TMP36 an jeden MCU mit einem ADC-Eingang anschließen, da der TMP36 eine analoge Ausgangsspannung liefert (entsprechend der gemessenen Temperatur in Grad Celsius).
Der ESP32 hat einen eingebauten ADC, ebenso wie Arduino UNO und die meisten anderen MCUs.
Wofür wird der TMP36 eingesetzt?
Der TMP36 kann in verschiedenen Anwendungen eingesetzt werden, z. B. zur Temperaturmessung in elektronischen Geräten, Wetterstationen, Lebensmittelverarbeitung, Logistik und HLK-Systemen.
Kann der TMP36 für Hochtemperaturmessungen verwendet werden?
Der TMP36 ist für Hochtemperaturmessungen ungeeignet, da er nur Temperaturen bis +125 °C messen kann.
Wenn du Temperaturen im Bereich von 200 oder 400 Grad messen möchtest, solltest du Thermoelemente verwenden. Diese sind speziell für hohe Temperaturen ausgelegt.
Welchen Gehäusetyp hat der TMP36?
Der TMP36 ist in verschiedenen Gehäusen erhältlich: 3-Pin (TO-92), 5-Pin IC (SOT23) und sogar 8-Pin IC (SOIC).
Siehe das folgende Bild, um die verschiedenen verfügbaren Pin-Versionen des TMP36 zu verstehen. Mein Favorit ist die TO-92-Version mit drei Pins.

Fazit
Ich habe in diesem Artikel alle wichtigen Informationen über den TMP36 Sensor behandelt. Du hast vollständige Informationen über die Funktionsweise des TMP36 Temperatursensors und die Vorteile seiner Verwendung in zukünftigen Temperaturmessprojekten erhalten.
Das ESP32 Anschlussdiagramm und der Beispielcode haben dir geholfen, deine Verbindungen zu testen und das Projekt schneller aufzubauen. Wenn du weitere Fragen zu den Sensoren hast, poste sie bitte im Kommentarbereich.
Ich habe TMP36 Sensoren verwendet, um die thermische Leistung einer Test-PCB zu untersuchen. Ich nutzte 6 TMP36 Sensoren, um die Temperatur an verschiedenen Punkten der Test-PCB zu überwachen.
Du kannst den TMP36 in vielen verschiedenen ESP32-Projekten einsetzen und ihn mit verschiedenen Anzeigeeinheiten verbinden, um die Daten anzuzeigen.
Lass uns wissen, ob es noch etwas gibt, das ich in zukünftigen Artikeln behandeln soll.


