Wetterstation: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
<span "style=background-color: yellow"> Template, muss noch geändert werden</span> | <span "style=background-color: yellow">Template, muss noch geändert werden</span> | ||
== [[Datei:Icon_story.png|20px|Icon]] Raumtemperatur exakt messen? Ist doch eigentlich easy! == | == [[Datei:Icon_story.png|20px|Icon]] Raumtemperatur exakt messen? Ist doch eigentlich easy! == |
Version vom 16. Dezember 2021, 10:18 Uhr
Template, muss noch geändert werden
Raumtemperatur exakt messen? Ist doch eigentlich easy!
- „Sag mal Petra, ist dir auch so heiß wie mir?“
- „Äähhhm, … nein?! Aber wir könnten die Raumtemperatur mit dem microbit checken. Was meinst du, Marcel?“
- „Naja, der hat ja so einen Sensor auf der CPU, glaube ich. Aber wie messen wir dann den Raum?“
- „Marcel, das geht einfach mit 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, misst er dauerhaft und zeigt den Messwert als Graph.
- Wird die Taste A gedrückt, zeigt er den Wert als Zahl.
<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 Graph auf der LED Matrix angezeigt
</spoiler>
Materialien
- BBC micro:bit
- 3 Krokodilklemmen-Kabel (unterschiedliche Farben)
- 1 Thermistor 10 K <spoiler></spoiler>
- 1 Widerstand 10 kOhm (braun, schwarz, orange, gold) <spoiler>https://www.conrad.at/de/ratgeber/technik-einfach-erklaert/widerstands-farbcode.html#beispiel</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
Zeitaufwand
- ca. 2 Schulstunden zum Aufbau der Schaltung und Kailbrieren des Messaufbaus
- ca. 2 Schulstunden zum Entwickeln des Programmes und für erste Messungen
Schwierigkeitsgrad
Kompetenzen
Du lernst
- vernetztes und fachübergreifendes Denken
- das Formulieren und Kodieren von Abläufen in formalen Algorithmen
- das Arbeiten mit Pins und Krokoklemmen-Kabel
- Sensordaten zu lesen, zu interpretieren, und umzurechnen
- die Steigung einer Geraden mit 2-Punkt-Kalibrierung ausrechnen
Unterrichtsfächer
INF, BU, WE
Tipps und Hilfestellung
Ziel
Der micro:bit soll die Umgebungstemperatur messen und mit einem Graph und auf Knopfdruck darstellen.<spoiler>
- Zu Beginn wollen wir nur zwei Widerstandswerte und Temperaturen (innen/ außen) messen
- Dann berechnen wir die Steigung der Geraden und denn Nullpunkt, was durch diese zwei Messpunkte vordefiniert ist
- Nach Kalibrierung der Schaltung kann der micro:bit jede beliebige Temperatur messen und anzeigen
- Verschwende keine Energie und optimiere deinen Code, je weinger Zeilen desto besser
</spoiler>
Erforderliche Programmierblöcke
- beim Start <spoiler text="Block *">
leer
* 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> - zeichne Balkendiagramm <spoiler text="Block *">
led.plotBarGraph(0,0)
* Der Block "beim Start" wird systembedingt mit angezeigt. </spoiler>
Eckpfeiler zur Programmierung
- Durch Ansteuern eines Pins gibt dieser einen Strom aus.
- Wir lesen die Spannung an einem weiteren Pin aus und bilden diesen Wert in einer Variable ab.
- Variablen können auf der LED Matrix grafisch dargestellt werden.
- Die Werte der Variablen können auch als Zahl auf der LED Matrix dargestellt werden. In unserem Fall nur dann, wenn der Knopf A gedrückt wird.
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 gleiche Werte?
- Vergleiche die Werte unterschiedlicher Blumentöpfe.
- Hast du aussagekräftige Werte bekommen? Kannst du damit eine Skala erstellen?
- 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 beim Überschreiten eines Schwellenwertes
- Smileys anstelle des Graphen bei der Ausgabe der Feuchtigkeit
- Feuchtigkeitswerte zu anderen micro:bits senden
- Bau eines Pflanzenwächters mit Bewässerungsautomatik <spoiler>(https://youtu.be/7eC_VjH1eP0, https://makecode.microbit.org/projects/plant-watering)</spoiler>