Der Calliope mini ist bereits mit einem Temperaturfühler auf der Platine ausgerüstet. Um die Temperatur in Flüssigkeiten zu messen, benötigen wir aber einen externen Fühler. Hierzu kann ein analoger Sensor vom Typ LM35 genutzt werden.
HintergrundwissenTemperaturfühler mit einem analogen Ausgangsignal übertragen die gemessene Temperatur in Form eines Spannungspegels an den angeschlossenen Microcontroller. Diese Spannung wird unter Bezug auf die Versorgungsspannung des Messsystems auf einen Werte zwischen 0 und 1024 normiert. Dieser Wert kann dann über eine typenabhängige Berechnung in eine Temperatur umgewandelt werden. Der Temperaturfühler LM35 weist für den Temperaturbereich von 0…150 °C (bzw. 0…100 °C für den LM35DZ) eine Steigerung des Spannungssignals von 10 mV pro Kelvin auf. Die Berechnung des Temperaturwertes in °C erfolgt daher entsprechend folgender Formel:
In diesem Beispiel wird der Sensor direkt über den Calliope mit Spannung versorgt. Daher beträgt die Referenzspannung 3,3 V. Die Offsettemperatur dient der Verschiebung der gemessenen Temperaturen. In unserem Messbereich einer üblichen Raumtemperatur und einer Versorgungsspannung von 3,3 V sollte die gemessene Temperatur um 3 K nach unten korrigiert werden.
Bei Verwendung höherer Versorgungsspannungen ist unter Umständen eine höhere Genauigkeit über einen größeren Messbereich erzielbar. Im Datenblatt zum LM35 wird der Spannungsbereich mit 4 V bis 30 V angegeben. Bei einer Versorgung mit 5 V kann der Aufbau mit einer externen Spannungsquelle verwendet werden.
ZubehörFür das aufgeführte Beispiel werden nur wenige Komponenten benötigt. Die Energieversorgung über das Batteriepack liefert für den LM35 zu geringe Spannungen. Daher ist eine Versorgung über den USB-Port zu gewährleisten. Hierzu genügt der Anschluss an einen PC, Laptop oder eine Powerbank, welche 5 V Ausgangsspannung bereitstellt.
SchaltungsaufbauDer LM35 wird in einer wasserdichten Ausführung mit einer Anschlussleitung von mindestens 1 m geliefert. Die drei Adern unterteilen sich in Spannung (rot), Masse (blau) und Signal (weiß). Die Farbcodierung kann, je nach Hersteller, abweichend sein. Spannung und Masse werden mit dem Plus bzw Minus-Kontakt verbunden und das Signal an Pin 1 geklemmt. Die Spannungsversorgung erfolgt in diesem Beispiel über eine Powerbank.
ProgrammcodeDas Codebeispiel ist mit dem Open Roberta Lab erstellt worden. Es ist aber prinzipiell auch mit anderen Editoren umsetzbar. Das Programm hat die Aufgabe, bei Betätigung der Taste A, den analogen Wert von Pin 1 zu lesen und die errechnete Temperatur über die LED-Matrix auszugeben.
Zu Beginn werden die Variablen deklariert. Die Konstanten zur Versorgungsspannung, dem Proportionalitätsfaktor (hier in V/K) und dem Offset sind an dieser Stelle anpassbar. In einer unendlichen Schleife wird dann nach Betätigung der Taste A der Wert an Pin 1 gelesen und nach Umrechnung in die Variable Temperatur geschrieben. Der Wert wird dann über die LED-Matrix ausgegeben.
Comments