Der TC1046 ist ein winziger Temperatursensor im dreipoligen SOT23B-Gehäuse mit Spannungsausgang, der sehr einfach an einen analogen Eingang z. B. des Arduino angeschlossen wird. Die Betriebsspannung ist 3,3 Volt (empfohlen 2,7 bis 4,4 Volt)! 5 Volt zerstört den Sensor zwar (noch) nicht, das geschieht erst bei 7 Volt (absolutes Maximum)! Die empfohlene Betriebsspannung ist also 3,3 Volt.
Die Ausgangsspannung berechnet sich laut Datenblatt mit der Formel Vout = (6.25 mV je Grad Celsius) + 424 mV und ist im Bereich von -40 Grad bis +125 Grad Celsius linear. Ein kleiner Sketch sieht so aus:
int sensorPin = A0; // beim Arduino an Pin A0 (analoger Eingang) int sensorValue = 0; float vadc; float celsius;
Der TC1047 im selben Gehäuse ist sehr ähnlich dem TC1046, jedoch berechnet sich die Temperatur etwas anders. Es existieren zwei Varianten des Sensors, die unterschiedliche Spannungsfestigkeit aufweisen: TC1047 arbeitet bei 2,7 bis 4,4 Volt, der TC1047A von 2,5 bis 5,5 Volt. Die Ausgangsspannung berechnet sich so: Vout = 10 mV je Grad Celsius + 500 mV. Im Sketch kann man das so formulieren:
// Temperatur berechnen // -------------------- float Temperatur_berechnen() { // Spannung = Vcc / 1024 * ADC-Rohwert float Vadc = ((3.3f / 1024.0) * sensorValue; // Volt float t = (Vadc /0.01) - 50.0; // Temperatur in Celsius return t; }
Statt eines Arduino kann man selbstverständlich jeden anderen Microcontrolller mit integriertem AD-Wandler verwenden. Das obige Programm ist für einen 10-Bit-ADC geschrieben, wie er z. B. im Atmel/Microchip ATMega328P oder ATMega328PB vorhanden ist.