Temperatur-Kontrolle
Raumtemperatur exakt messen? Ist doch eigentlich easy!
- „Sag mal Petra, ist dir auch so heiß wie mir?“
- „Äähhhm, … nein?! Aber vielleicht können wir die Raumtemperatur mit dem microbit checken. Was meinst du, Marcel?“
- „Ja, genau. Der microbit hat ja einen Temperatursensor eingebaut, den könnten wir doch dazu verwenden. Oder?“
- „Hmmm. Sitzt der Sensor nicht direkt auf der CPU und erwärmt sich dadurch sobald der microbit Strom hat?“
- „Oh, stimmt und dann messen wir ungenau. Aber wie messen wir dann den exakt die Raumtermperatur, Petra?“
- „Marcel, ich glaube ich habe schon eine Idee.
- Dazu benötigen wir einem externen Sensor, der weit genug von der CPU entfernt ist - z.B. mit Krokoklemmen-Kabeln.
- Lass uns das doch gleich ausprobieren, einverstanden?“
Aufgabenstellung
Der BBC micro:bit dient als Messgerät für die echte Raumtemperatur ohne dabei die CPU Abwärme mit zu messen.
- Sobald der micro:bit mit Strom versorgt ist und sich an die Umgebungstemperatur angepasst hat (ca. 5-10 Min.), misst er diese dauerhaft.
- Wird die Taste B gedrückt, zeigt er den Messwert der Spannung (0 - 3 Volt) als Zahl an.
- Durch Erfassen von zwei Messpunkten, kann die elektronische Schaltung kalibriert werden.
- Nach Kalbrierung und Umformung in eine Temperaturberechnung kann die Temperatur in Grad Celsius angezeigt werden.
- Bei Drücken der Taste A zeigt der micro:bit die umgerechnete Temperatur an.
<spoiler>
- Zur Ermittlung der Temperatur wird eine analoge Schaltung (vgl. Thermometer mit Quecksilber) aufgebaut.
- Dazu wird ein Stromkreis mit Krokoklemmen und Sensoren aufgebaut.
- Der Strom vom micro:bit gelangt über Kabel und Sensoren vom Stromausgang an einen Stromeingang des micro:bit.
- Es kann nun temperaturabhängig gemessen werden, wie viel davon vom ursprünglichen Strom tatsächlich in den micro:bit zurück kommt.
- Dieser Wert wird als auf der LED Matrix angezeigt und nach Kalibrierung in eine Temperatur umgewandelt angezeigt.
</spoiler>
Materialien
- BBC micro:bit
- 3 Krokodilklemmen-Kabel (unterschiedliche Farben) <spoiler>Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler>
- 1 Thermistor 10 K <spoiler>
Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler>
- 1 Widerstand 10 kOhm (braun, schwarz, orange, gold) <spoiler>https://www.conrad.at/de/ratgeber/technik-einfach-erklaert/widerstands-farbcode.html#beispiel
Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler>
- 1 Thermometer zum Kalibrieren der analogen Schaltung
- 2 unterschiedliche Temperaturmessungen (mind. 10 Grad Celsius Unterschied) z.B. Zimmer und Kühlschrank
- etwas Zeit bei plötzlichem Temperaturwechsel zur Akklimatisierung (5-10 Min.)
Zeitaufwand
- ca. 2 Schulstunden zum Aufbau der Schaltung und Kailbrieren des Messaufbaus <spoiler>Die Bestimmung der Steigung einer Geraden, sollte extra vorbereitet und zeitlich vor diesem Experiment durchgenommen werden!</spoiler>
- ca. 1-2 Schulstunden zum Entwickeln des Programmes und für erste Messungen <spoiler>Achtung! Jeweils ca. 5 - 10 Minuten zur Anpassung an die jeweilige Umgebungstemperatur mit einrechnen!</spoiler>
Schwierigkeitsgrad
Kompetenzen
Das solltest du bereits können:
- eine Zahl aufrunden und abrunden können (Mathematik)
- eine Zahl um eine Kommastelle nach links und rechts verschieben können (Mathematik)
- eine Variable erstellen und Werte zuweisen können
- Programmbefehle den Knöpfen A und B zuordnen können
- eine Zahl anzeigen können
- eine Anzeige der LEDs selbst zeichnen können
Du lernst
- die Steigung einer Geraden mit 2-Punkt-Kalibrierung auszurechnen (Mathematik) <spoiler></spoiler>
- das Formulieren und Kodieren von Abläufen in formalen Algorithmen (Informatik)
- das Arbeiten mit Pins und Krokoklemmen-Kabel (Technisches Werken)
- Sensordaten analog einzulesen und zu interpretieren
- mit Variablen zu rechnen durch Anwendung von mathematischen Operationen (+ - x ÷)
- das Ergebnis einer mathematischen Operation zu runden
- selbst ermittelte Werte einer Kalibrierung zur Umrechnung von Messwerten einzusetzen
Unterrichtsfächer
INF, M, Physik, TW
Tipps und Hilfestellung
Ziel
Der micro:bit soll die Umgebungstemperatur messen, den Messwert auf Knopfdruck anzeigen und die daraus errechnete Temperatur auf Druck des anderen Knopfs im Display anzeigen.
<spoiler>
- Zu Beginn wollen wir nur zwei Widerstandswerte (0-1023) und Temperaturen (innen/ außen) mit dem Thermometer messen.
- Durch Drücken des Knopfs B wird der aktuelle Messwert (0-1023) angezeigt. Dies wird für die Innen- und Außentemperatur (oder Kühlschrank) gemacht.
- Dann berechnen wir die Steigung der Geraden aus den zwei Messpunktwerten und denn Nullpunkt z.B. mit Geogebra ==> Kalibrierung
- Nach Kalibrierung der Schaltung kann der micro:bit jede beliebige Temperatur messen und anzeigen (Wartezeit für Thermistor ca. 5-10 Min.)
- Durch Drücken des Knopfs A wird die umgerechnete Temperatur angezeigt.
- Verschwende keine Energie und optimiere deinen Code, je weniger Zeilen desto besser. Probiere so wenig Zeilen wie möglich zu verwenden.
</spoiler>
Erforderliche Programmierblöcke
- beim Start <spoiler text="Block *">
Start
* Der Block "leer" wird systembedingt mit angezeigt. </spoiler> - Variable <spoiler text="Block *">
let TempWert = 0
* Der Block "beim Start" wird systembedingt mit angezeigt. </spoiler> - pausiere <spoiler text="Block">
basic.pause()
* Der Block "beim Start" wird systembedingt mit angezeigt. </spoiler> - wenn Knopf A gedrückt <spoiler text="Block">
input.onButtonPressed(Button.A, function () {})
</spoiler> - analoge Werte von Pin in Variable einlesen <spoiler text="Block *">
TempWert = pins.analogReadPin(AnalogPin.P0)
* Der Block "beim Start" wird systembedingt mit angezeigt. </spoiler> - zeige Zahl<spoiler text="Block *">
basic.showNumber()
* Der Block "beim Start" wird systembedingt mit angezeigt. </spoiler>
Eckpfeiler zur Programmierung
- Durch Auslesen des analogen Spannungswertes eines Pins kann der micro:bit als Messgerät verwendet werden.
- Die Spannung des micro:bits von 3 Volt wird durch die elektronische Schaltung (Thermistor + Widerstand) und etwas Wartezeit (ca. 5-10 Min.) auf die aktuelle Temperatur eingestellt.
- Dann lesen wir die Spannung an PIN 0 aus und bilden diesen Wert in einer Variable ab.
- Den Spannungswert der Variablen geben wir zur Kalibrierung bei Drücken des Knopfs B im Display aus.
- Die eingelesene Variable muss nur noch in eine Temperatur umgewandelt werden,
- Der umgerechnete Wert wird durch Drücken des Knopfs A im Display angezeigt.
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und die Lösung findest du auf der Lösungsseite zu diesem Beispiel.
Präsentation und Reflexion
- Stelle dein Ergebnis vor!
- Was kann dein Messgerät? Messen andere micro:bits und deren elektronische Temperaturschaltung (Thermistor + Widerstand) gleiche Werte?
- Vergleiche die Werte von unterschiedlichen Orten - innen, außen, Schatten, Sonne, Kühlschrank, etc.
- Hast du aussagekräftige Werte bekommen? Stimmen die micro:bit Werte mit denen des externen Thermometers halbwegs überein?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest du? Wie konntest du sie lösen?
- Erläutere, wie dein Programm aussieht!
- Was war bei dieser Aufgabe interessant für dich?
Weiterentwicklung
- Audioalarm bei Unter- bzw. Überschreiten eines Schwellenwertes (Komfortzone)
- Smileys bei angenehmen Temperaturen, Eiszapfen und Kochtopf bei Überschreiten der "angenehmen Zone".
- Temperaturwerte zu anderen micro:bits senden - Außentemperatur, Kühlschranktemperatur, etc.