Wetterstation: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(111 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== [[Datei:Icon_story.png|20px|Icon]] Luftfeuchtigkeit und Raumtemperatur exakt messen, geht das? == | == [[Datei:Icon_story.png|20px|Icon]] Luftfeuchtigkeit und Raumtemperatur exakt messen, geht das? == | ||
[[Datei: | [[Datei:Dht22_full.png|right|x500px|border|Detailansicht der digitalen Schaltung]] | ||
:„Sag mal Bernhard, sind dein Augen auch so trocken?“ | :„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, eigentlich schon! Ich glaube, das muss wohl am ständigen Heizen in der kalten Jahreszeit und der daraus folgenden niedrigen Luftfeuchtigkeit liegen. Was meinst du, Martina?“ | ||
:„Ja, genau. | :„Ja, genau. Da könnten wir doch gleich einmal Temperatur und Luftfeuchtigkeit messen. Meinst du das geht mit dem BBC micro:bit?“ | ||
::„Martina, das geht schon. Einfach einen externen Sensor an den micro:bit anhängen und schon können wir Luftfeuchtigkeit | ::„Martina, das geht schon. Einfach einen externen Sensor an den BBC micro:bit anhängen und schon können wir Temperatur und Luftfeuchtigkeit messen. Mit ein paar Krokoklemmen-Kabeln ist das gleich erledigt. | ||
:„Wenn das so einfach geht, dann lass uns das doch gleich ausprobieren, Bernhard. Einverstanden?“ | :„Wenn das so einfach geht, dann lass uns das doch gleich ausprobieren, Bernhard. Einverstanden?“ | ||
== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung== | == [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung== | ||
Der BBC micro:bit dient als Messgerät für die Luftfeuchtigkeit und Raumtemperatur, ohne dabei die CPU-Abwärme mit zu messen. <spoiler> | |||
Warum ist es wichtig die CPU-Abwärme nicht mit zu messen? Das wird im Beispiel [[Temperatur-Kontrolle#Raumtemperatur_exakt_messen.3F_Ist_doch_eigentlich_easy.21| Temperatur-Kontrolle in der Einleitung]] genauer erklärt.</spoiler> | |||
*Sobald der BBC micro:bit mit Strom versorgt ist und sich an die Umgebungstemperatur angepasst hat, misst er dauerhaft und zeigt die Messwerte als Graph in der Konsole des Browsers. | |||
*Wird die Taste A gedrückt, zeigt er den Wert der Temperatur als Text. | |||
*Wird die Taste B gedrückt, zeigt er den Wert der Luftfeuchtigkeit als Text. | |||
<spoiler> | <spoiler> | ||
*Zur Ermittlung der Luftfeuchtigkeit und Temperatur wird eine digitale Schaltung aufgebaut. [[Datei:Dht11-22-fritzing.png|none|500px]] | *Zur Ermittlung der Luftfeuchtigkeit und Temperatur wird eine digitale Schaltung aufgebaut. [[Datei:Dht11-22-fritzing.png|none|500px]] | ||
*Dazu wird ein Stromkreis mit Krokoklemmen und | *Dazu wird ein Stromkreis mit Krokoklemmen und dem Bauteil (DHT11/ DHT22) aufgebaut. | ||
*Der Strom | *ACHTUNG: Pass auf, dass dabei die drei PINS des Bauteils immer sauber getrennt bleiben. Du kannst auch mal ein kleines Stück des Verpackungsmaterials zur Trennung der Pins verwenden (siehe Bild rechts oben). | ||
*Es kann nun der Bauteil angesteuert werden und je nach Funktion die aktuelle Temperatur oder die gemessene Luftfeuchtigkeit | *Der Strom des BBC micro:bit gelangt über Kabel an die Sensoren im Bauteil und wieder zurück an den Stromeingang PIN 0 des BBC micro:bit. | ||
* | *Es kann nun der Bauteil angesteuert werden und je nach Funktion können verschiedene Werte abgefragt und angezeigt werden. | ||
*Die Erweiterung von Makecode zur Ansteuerung des Bauteils mit dem BBC micro:bit funktioniert mit beiden Versionen des externen Sensors (DHT11/ DHT22). Es muss beim Programmieren nur der verwendete Sensor im Drop-down Menü des Blocks zur Ansteuerung korrekt ausgewählt werden. | |||
*VORTEIL: Du musst nicht kalibrieren, dies ist im Bauteil schon digital integriert. Eine Abfrage der Sensoren liefert direkt die aktuelle Temperatur oder die gemessene Luftfeuchtigkeit! | |||
*Diese Werte können auch als Graph auf der Konsole des Browserfensters bei der Web-USB Verbindung angezeigt werden. Die Konsole funktioniert nur in Chromium-basierenden Browsern. | |||
[[Datei:web-usb_graph.png|none|thumb]] | |||
</spoiler> | </spoiler> | ||
== [[Datei:icon_material.png|20px|Icon]] Materialien == | == [[Datei:icon_material.png|20px|Icon]] Materialien == | ||
* BBC micro:bit | * BBC micro:bit | ||
* 3 Krokodilklemmen-Kabel (unterschiedliche Farben) <spoiler>Einkaufsvorschlag: [https://www.conrad.at/de/p/voltcraft-ks-280-0-1-messleitungs-set-abgreifklemmen-abgreifklemmen-0-28-m-schwarz-rot-gelb-gruen-weiss-1-set-108489.html erhältlich bei Fa. Conrad]</spoiler> | * 3 Krokodilklemmen-Kabel (unterschiedliche Farben) <spoiler>Einkaufsvorschlag: [https://www.conrad.at/de/p/voltcraft-ks-280-0-1-messleitungs-set-abgreifklemmen-abgreifklemmen-0-28-m-schwarz-rot-gelb-gruen-weiss-1-set-108489.html erhältlich bei Fa. Conrad]</spoiler> | ||
* 1 digitaler Sensor DHT11 | * 1 digitaler Sensor DHT11 (blau) oder DHT22 (weiss) <spoiler>[[Datei:Dht22.png||x300px|border|DHT22]] <br>Einkaufsvorschlag: [https://www.conrad.at/de/p/joy-it-sen-dht22-temperatur-sensor-1-st-passend-fuer-entwicklungskits-arduino-asus-asus-tinker-board-banana-pi-b-2159178.html erhältlich bei Fa. Conrad]<br><br>ACHTUNG, die Anschlüsse der drei PINs des Sensors können je nach Hersteller variieren! <br>Bitte achte darauf, dass die Anschlüsse ''Minus'' auf '''GND''' und ''Plus'' auf '''3V''' angeklemmt werden. Der ''dritte PIN'' des Sensors gehört dann auf '''PIN 0''' des BBC micro:bit angelschossen.</spoiler> | ||
* etwas Zeit bei plötzlichem Temperaturwechsel zur Akklimatisierung | * etwas Zeit bei plötzlichem Temperaturwechsel zur Akklimatisierung | ||
== [[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 der digitalen Schaltung | ||
* ca. 1-2 Schulstunden zum Entwickeln des Programmes und für erste Messungen <spoiler>Achtung! Jeweils ca. 5 | * ca. 1-2 Schulstunden zum Entwickeln des Programmes und für erste Messungen <spoiler>Achtung! Jeweils ca. 5 Minuten zur Anpassung an die jeweilige Umgebungstemperatur mit einrechnen!</spoiler> | ||
== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad == | == [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad == | ||
Zeile 41: | Zeile 43: | ||
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | == [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | ||
Du solltest bereits: | |||
* eine '''Variable''' erstellen und '''Werte zuweisen''' können | |||
* Programmbefehle den '''Knöpfen A und B''' zuordnen können | |||
* einen '''Text anzeigen''' können | |||
* eine '''Anzeige der LEDs''' selbst zeichnen können | |||
Du lernst | Du lernst | ||
* das Formulieren und Kodieren von Abläufen in formalen Algorithmen (Informatik) | |||
* das Formulieren und Kodieren von Abläufen in formalen Algorithmen | * das Arbeiten mit Pins und Krokoklemmen-Kabeln (Technisches Werken) | ||
* das Arbeiten mit Pins und Krokoklemmen- | |||
* Sensordaten | * '''Sensordaten digital''' einzulesen und zu interpretieren | ||
* | * Erweiterungen von Dritten in Makcode einzubinden und zu verwenden | ||
* Daten in der '''Konsole des Browsers''' bei angeschlossenem BBC micro:bit auszugeben | |||
== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer == | == [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer == | ||
Informatik, Physik, Technisches Werken | |||
== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung == | == [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung == | ||
===Ziel=== | ===Ziel=== | ||
Der micro:bit soll die Umgebungstemperatur messen und | Der BBC micro:bit soll die Umgebungstemperatur und Luftfeuchtigkeit messen und dauerhaft in der Konsole als Graph darstellen.<spoiler>Um die Anzeige der Sensordaten in der Konsole zu aktivieren muss im orangen Block [[:Datei:Dht11-22-block-fertig.png|'''Query DHT22''']] die Einstellung '''Serial output''' auf '''wahr''' gesetzt werden.</spoiler>Auf Knopfdruck A erscheint zusätzlich im [[Anzeige|Display]] die Temperatur und auf Knopfdruck B die Luftfeuchtigkeit. | ||
</spoiler> | |||
===Erforderliche Programmierblöcke=== | ===Erforderliche Programmierblöcke=== | ||
<ol> | <ol> | ||
<li>[[Schleifen|beim Start]] <spoiler text="Block | <li>[[Schleifen|beim Start]] <spoiler text="Block"> [[Datei:beim_start_leer.png|180px]] </spoiler> | ||
<li>[[ | <li>[[LED|zeige LEDs]] <spoiler text="Block"> [[Datei:zeige_led.png|180px]] </spoiler> | ||
<li>pausiere <spoiler text="Block"> | <li>pausiere <spoiler text="Block"> [[Datei:Pausiere_100.png|250px]] </spoiler> | ||
<li>[[Schleifen| | <li>[[Schleifen|wenn Knopf A gedrückt]] <spoiler text="Block"> [[Datei:wenn_knopf_a.png|300px]] </spoiler> | ||
<li> | <li>digitale Werte von Sensor-Pin einlesen (Erweiterung DHT11/DHT22) <spoiler text="Block"> [[Datei:Dht11-22-block-fertig.png|340px]] Dieser Block muss zuvor hinzugefügt werden [[Datei:Iconmonstr-arrow-20re-120.png|20px]] "Fortgeschritten" [[Datei:Iconmonstr-arrow-20re-120.png|20px]] "Erweiterungen" [[Datei:Iconmonstr-arrow-20re-120.png|20px]] "suchen/ eingeben: DHT11".</spoiler> | ||
<li>zeige Text <spoiler text="Block"> [[Datei:zeige_text.png|180px]] </spoiler> | |||
<li> | |||
</ol> | </ol> | ||
===Eckpfeiler zur Programmierung=== | ===Eckpfeiler zur Programmierung=== | ||
:<ol> | :<ol> | ||
:<li>Durch Ansteuern | :<li>Durch Ansteuern des digitalen Sensors über einen Pin übergibt dieser die aktuellen Messwerte an den BBC micro:bit.</li> | ||
:<li>Wir lesen die | :<li>Wir lesen danach entweder die Temperatur oder die Luftfeuchtigkeit und geben diese Werte jeweils auf Knopfdruck aus.</li> | ||
:<li>Wenn der Knopf A gedrückt wird, soll die Temperatur erscheinen. Und bei Drücken von Knopf B soll die Luftfeuchtigkeit angezeigt werden.</li> | |||
:<li> | |||
</ol> | </ol> | ||
===[[ | ===[[Wetterstation_Lösung|Schritt für Schritt zur Lösung]]=== | ||
:Hinweise zur Lösungsfindung und die Lösung findest du auf der [[ | :Hinweise zur Lösungsfindung und die Lösung findest du auf der [[Wetterstation_Lösung|Lösungsseite zu diesem Beispiel]]. | ||
== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion == | == [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion == | ||
# Stelle dein Ergebnis vor! | # Stelle dein Ergebnis vor! | ||
# Was kann dein Messgerät? Messen andere micro: | # Was kann dein Messgerät? Messen andere BBC micro:bit und deren externe Sensoren (DHT11/DHT22) gleiche Werte? | ||
# Vergleiche die Werte von unterschiedlichen Orten - innen, außen, Schatten, Sonne, Kühlschrank, etc. | # 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? | # Hast du aussagekräftige Werte bekommen? Stimmen die BBC micro:bit Werte mit denen des externen Thermometers/ Hygrometers halbwegs überein? | ||
# Was hat dir bei der Entwicklung deines Produkts gefallen? | # Was hat dir bei der Entwicklung deines Produkts gefallen? | ||
# Welche Schwierigkeiten hattest du? Wie konntest du sie lösen? | # Welche Schwierigkeiten hattest du? Wie konntest du sie lösen? | ||
Zeile 99: | Zeile 100: | ||
* Audioalarm bei Unter- bzw. Überschreiten eines Schwellenwertes (Komfortzone) | * Audioalarm bei Unter- bzw. Überschreiten eines Schwellenwertes (Komfortzone) | ||
* Smileys bei angenehmen | * Smileys bei angenehmen Sensorwerten, Eiszapfen und Kochtopf bei Über- bzw. Unterschreiten der "angenehmen Zone". | ||
* | * Sensorwerte zu anderen BBC micro:bit senden - Außentemperatur, Kühlschranktemperatur, etc. | ||
<htmlet>makecode_embed</htmlet> | <htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 30. März 2022, 09:24 Uhr
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 und der daraus folgenden niedrigen Luftfeuchtigkeit liegen. Was meinst du, Martina?“
- „Ja, genau. Da könnten wir doch gleich einmal Temperatur und Luftfeuchtigkeit messen. Meinst du das geht mit dem BBC micro:bit?“
- „Martina, das geht schon. Einfach einen externen Sensor an den BBC micro:bit anhängen und schon können wir Temperatur und Luftfeuchtigkeit 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. <spoiler> Warum ist es wichtig die CPU-Abwärme nicht mit zu messen? Das wird im Beispiel Temperatur-Kontrolle in der Einleitung genauer erklärt.</spoiler>
- Sobald der BBC micro:bit mit Strom versorgt ist und sich an die Umgebungstemperatur angepasst hat, misst er dauerhaft und zeigt die Messwerte als Graph in der Konsole des Browsers.
- Wird die Taste A gedrückt, zeigt er den Wert der Temperatur als Text.
- Wird die Taste B gedrückt, zeigt er den Wert der Luftfeuchtigkeit als Text.
<spoiler>
- Zur Ermittlung der Luftfeuchtigkeit und Temperatur wird eine digitale Schaltung aufgebaut.
- Dazu wird ein Stromkreis mit Krokoklemmen und dem Bauteil (DHT11/ DHT22) aufgebaut.
- ACHTUNG: Pass auf, dass dabei die drei PINS des Bauteils immer sauber getrennt bleiben. Du kannst auch mal ein kleines Stück des Verpackungsmaterials zur Trennung der Pins verwenden (siehe Bild rechts oben).
- Der Strom des BBC micro:bit gelangt über Kabel an die Sensoren im Bauteil und wieder zurück an den Stromeingang PIN 0 des BBC micro:bit.
- Es kann nun der Bauteil angesteuert werden und je nach Funktion können verschiedene Werte abgefragt und angezeigt werden.
- Die Erweiterung von Makecode zur Ansteuerung des Bauteils mit dem BBC micro:bit funktioniert mit beiden Versionen des externen Sensors (DHT11/ DHT22). Es muss beim Programmieren nur der verwendete Sensor im Drop-down Menü des Blocks zur Ansteuerung korrekt ausgewählt werden.
- VORTEIL: Du musst nicht kalibrieren, dies ist im Bauteil schon digital integriert. Eine Abfrage der Sensoren liefert direkt die aktuelle Temperatur oder die gemessene Luftfeuchtigkeit!
- Diese Werte können auch als Graph auf der Konsole des Browserfensters bei der Web-USB Verbindung angezeigt werden. Die Konsole funktioniert nur in Chromium-basierenden Browsern.
</spoiler>
Materialien
- BBC micro:bit
- 3 Krokodilklemmen-Kabel (unterschiedliche Farben) <spoiler>Einkaufsvorschlag: erhältlich bei Fa. Conrad</spoiler>
- 1 digitaler Sensor DHT11 (blau) oder DHT22 (weiss) <spoiler>
Einkaufsvorschlag: erhältlich bei Fa. Conrad
ACHTUNG, die Anschlüsse der drei PINs des Sensors können je nach Hersteller variieren!
Bitte achte darauf, dass die Anschlüsse Minus auf GND und Plus auf 3V angeklemmt werden. Der dritte PIN des Sensors gehört dann auf PIN 0 des BBC micro:bit angelschossen.</spoiler> - etwas Zeit bei plötzlichem Temperaturwechsel zur Akklimatisierung
Zeitaufwand
- ca. 1 Schulstunde zur Erklärung und zum Aufbau der digitalen Schaltung
- ca. 1-2 Schulstunden zum Entwickeln des Programmes und für erste Messungen <spoiler>Achtung! Jeweils ca. 5 Minuten zur Anpassung an die jeweilige Umgebungstemperatur mit einrechnen!</spoiler>
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits:
- eine Variable erstellen und Werte zuweisen können
- Programmbefehle den Knöpfen A und B zuordnen können
- einen Text anzeigen können
- eine Anzeige der LEDs selbst zeichnen können
Du lernst
- das Formulieren und Kodieren von Abläufen in formalen Algorithmen (Informatik)
- das Arbeiten mit Pins und Krokoklemmen-Kabeln (Technisches Werken)
- Sensordaten digital einzulesen und zu interpretieren
- Erweiterungen von Dritten in Makcode einzubinden und zu verwenden
- Daten in der Konsole des Browsers bei angeschlossenem BBC micro:bit auszugeben
Unterrichtsfächer
Informatik, Physik, Technisches Werken
Tipps und Hilfestellung
Ziel
Der BBC micro:bit soll die Umgebungstemperatur und Luftfeuchtigkeit messen und dauerhaft in der Konsole als Graph darstellen.<spoiler>Um die Anzeige der Sensordaten in der Konsole zu aktivieren muss im orangen Block Query DHT22 die Einstellung Serial output auf wahr gesetzt werden.</spoiler>Auf Knopfdruck A erscheint zusätzlich im Display die Temperatur und auf Knopfdruck B die Luftfeuchtigkeit.
Erforderliche Programmierblöcke
- beim Start <spoiler text="Block"> </spoiler>
- zeige LEDs <spoiler text="Block"> </spoiler>
- pausiere <spoiler text="Block"> </spoiler>
- wenn Knopf A gedrückt <spoiler text="Block"> </spoiler>
- digitale Werte von Sensor-Pin einlesen (Erweiterung DHT11/DHT22) <spoiler text="Block"> Dieser Block muss zuvor hinzugefügt werden "Fortgeschritten" "Erweiterungen" "suchen/ eingeben: DHT11".</spoiler>
- zeige Text <spoiler text="Block"> </spoiler>
Eckpfeiler zur Programmierung
- Durch Ansteuern des digitalen Sensors über einen Pin übergibt dieser die aktuellen Messwerte an den BBC micro:bit.
- Wir lesen danach entweder die Temperatur oder die Luftfeuchtigkeit und geben diese Werte jeweils auf Knopfdruck aus.
- Wenn der Knopf A gedrückt wird, soll die Temperatur erscheinen. Und bei Drücken von Knopf B soll die Luftfeuchtigkeit angezeigt werden.
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 BBC micro:bit und deren externe Sensoren (DHT11/DHT22) gleiche Werte?
- Vergleiche die Werte von unterschiedlichen Orten - innen, außen, Schatten, Sonne, Kühlschrank, etc.
- Hast du aussagekräftige Werte bekommen? Stimmen die BBC micro:bit Werte mit denen des externen Thermometers/ Hygrometers 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 Sensorwerten, Eiszapfen und Kochtopf bei Über- bzw. Unterschreiten der "angenehmen Zone".
- Sensorwerte zu anderen BBC micro:bit senden - Außentemperatur, Kühlschranktemperatur, etc.