Eigentlich enthält der Calliope mini selbst einen Temperatursensor. Der befindet sich aber im Prozessor und misst dessen Temperatur. Er kann also nicht die Außentemperatur messen, da sich der Prozessor selber erwärmt.
Aus diesem Grund kommt ein externer Schaltkreis zum Einsatz: der TMP36. Er enthält eine umfangreiche Schaltung und wird trotzdem nur über drei Anschlüsse beschaltet. Zwei Anschlüsse sind für die Versorgungsspannung vorgesehen und der dritte Anschluss liefert eine zur Temperatur proportionale Spannung. Dabei gelten die folgenden einfachen Regeln
Das heißt, bei 20°C liefert der Chip eine Ausgangsspannung von 0,7 V (700 mV).
Der TMP36 wird mit den entsprechenden Anschlüssen des Calliope mini verbunden. Der Anschluss P1 hat auf der Steckerleiste die Bezeichnung C1!
Hinweis: Der TMP36 reagiert auf eine Verpolung der Anschlüsse mit einem schnellen Tod!
Als erstes wird einfach nur die Spannung in mV angezeigt, die der TMP36 am Ausgang liefert. Dazu wird in der Roboterkonfiguration P1 als analoger Eingang S festgelegt.
Die Anzeige der Spannung erfolgt mit Hilfe Anzeigefunktion auf dem 4-Digit-Display.
Bei Zimmertemperatur sollte auf der Anzeige etwas zwischen 700 und 800 erscheinen.
Als nächstes wird die Spannung in einen Temperaturwert umgerechnet. Das ist einfacher als gedacht: 0°C entsprechen 500 mV, 50 °C entsprechen 1000 mV. Das heißt aber, man muss vom Spannungswert nur 500 abziehen und hat einen Zahlenwert, der die Temperatur erkennen lässt.
Es hat sich aber gezeigt, dass der hier benutzte Calliope mini den Spannungswert nicht korrekt anzeigt. Vergleiche mit einem empfindlichen, geeichten Spannungsmesser haben gezeigt, dass in dem Bereich, in dem wir arbeiten, etwa 20 mV zu viel angezeigt werden. Deshalb werden von dem berechneten Wert noch 20 subtrahiert. Ansonsten zeigt das Thermometer 2 °C zu viel an.
Im Prinzip funktioniert die Temperaturanzeige jetzt schon. Aber da laufend die Temperatur gemessen und angezeigt wird, flackert die Anzeige. Unschön!
Man erkennt aber schon gut die wärmende Wirkung des Fingers.
Abhilfe schafft eine Liste aus zehn Elmenten, in die nach jeweils 0,5 s der aktuelle Temperaturwert den ältesten Eintrag ersetzt. Zur Anzeige kommt dann der Mittelwert der Liste.
Zum besseren Ablesen wird der Doppelpunkt der Anzeige permanent eingeschaltet und die ganze Anzeige um eine Stelle nach links gerückt.
Zur Anzeige von negative Temperaturen wird die RGB-LED genutzt: Ist die Temperatur kleiner als 0°C, leuchtet die LED in Blau, ansonsten in Rot.