Wetterstation: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 34: | Zeile 34: | ||
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand == | == [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand == | ||
* ca. 1 | * ca. 1 Schulstunde zur Erklärung und zum Aufbau und der digitalen Schaltung | ||
* 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> | * 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> | ||
Version vom 22. Dezember 2021, 16:33 Uhr
Template, muss noch geändert werden
Luftfeuchtigkeit und Raumtemperatur exakt messen, geht das?
- „Sag mal Bernhard, sind dein Augen auch so trocken?“
- „Ja, eigentlich schon! Ich glaube, das muss wohl am ständigen Heizen in der kalten Jahreszeit liegen. Was meinst du, Martina?“
- „Ja, genau. Das könnten wir doch gleich einmal messen. Meinst du das geht mit dem micro:bit?“
- „Martina, das geht schon. Einfach einen externen Sensor an den micro:bit anhängen und schon können wir Luftfeuchtigkeit und Temperatur messen. Mit ein paar Krokoklemmen-Kabeln ist das gleich erledigt.
- „Wenn das so einfach geht, dann lass uns das doch gleich ausprobieren, Bernhard. Einverstanden?“
Aufgabenstellung
- Der BBC micro:bit dient als Messgerät für die Luftfeuchtigkeit und 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 in der Konsole.
- Wird die Taste A gedrückt, zeigt er den Wert der Temperatur als Zahl.
- Wird die Taste B gedrückt, zeigt er den Wert der Luftfeuchtigkeit als Zahl.
<spoiler>
- Zur Ermittlung der Luftfeuchtigkeit und Temperatur wird eine digitale Schaltung aufgebaut.
- Dazu wird ein Stromkreis mit Krokoklemmen und Sensoren (Bauteil DHT11/ DHT22) aufgebaut.
- Der Strom vom micro:bit gelangt über Kabel an die Sensoren im Bauteil und wieder zurück an einen Stromeingang des micro:bit.
- Es kann nun der Bauteil angesteuert werden und je nach Funktion die aktuelle Temperatur oder die gemessene Luftfeuchtigkeit angezeigt werden.
- Dieser Wert wird auch als Graph auf Konsole im Browserfenster angezeigt.
</spoiler>
Materialien
- BBC micro:bit
- 3 Krokodilklemmen-Kabel (unterschiedliche Farben) <spoiler>Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler>
- 1 digitaler Sensor DHT11/ DHT22 <spoiler>
Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler> - etwas Zeit bei plötzlichem Temperaturwechsel zur Akklimatisierung
Zeitaufwand
- ca. 1 Schulstunde zur Erklärung und zum Aufbau und der digitalen Schaltung
- 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
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 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.