Wetterstation: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Oliver.kastner (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
Martin.teufel (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(107 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
  <span "style=background-color: yellow">Template, muss noch geändert werden</span>
== [[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:Dht22_full.png|right|x500px|border|Detailansicht der digtalen Schaltung]]
[[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. Das könnten wir doch gleich einmal messen. Meinst du das geht mit dem micro:bit?“
:„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 und Temperatur messen. Mit ein paar Krokoklemmen-Kabeln ist das gleich erledigt.
::„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.
Der BBC micro:bit dient als Messgerät für die Luftfeuchtigkeit und Raumtemperatur, ohne dabei die CPU-Abwärme mit zu messen. <spoiler>
::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.
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>
::Wird die Taste A gedrückt, zeigt er den Wert der Temperatur als Zahl.
*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 B gedrückt, zeigt er den Wert der Luftfeuchtigkeit als Zahl.
*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 Sensoren (Bauteil DHT11/ DHT22) aufgebaut.
*Dazu wird ein Stromkreis mit Krokoklemmen und dem 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.
*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 angezeigt werden.
*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.
*Dieser Wert wird auch als Graph auf Konsole im Browserfenster angezeigt.
*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>


Zeile 28: Zeile 31:
* 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/ DHT22 <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]</spoiler>
* 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 Schulstunde zur Erklärung und zum Aufbau und der digitalen Schaltung
* 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 - 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 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 44:
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==


Das solltest du breits können
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
* vernetztes und fachübergreifendes Denken
* 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-Kabel
 
* Sensordaten zu lesen, zu interpretieren, und umzurechnen
* '''Sensordaten digital''' einzulesen und zu interpretieren
* die [https://de.wikipedia.org/wiki/Steigung#Steigung_einer_Geraden Steigung einer Geraden] mit 2-Punkt-Kalibrierung ausrechnen
* Erweiterungen von Dritten in Makcode einzubinden und zu verwenden
<spoiler>[[File:Wiki slope in 2d.svg|thumb left|Wiki Steigung in 2D]]</spoiler>
* 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 ==
INF, BU, WE
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 mit einem Graph und auf Knopfdruck darstellen.<spoiler>
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.
* 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===
===Erforderliche Programmierblöcke===
<ol>
<ol>
<li>[[Schleifen|beim Start]] <spoiler text="Block *"> <pre id=mc00>leer</pre> <br/><br/> <span style="color:#FFFFFF; background:#717171">* Der Block "leer" wird systembedingt mit angezeigt. </spoiler>
<li>[[Schleifen|beim Start]] <spoiler text="Block"> [[Datei:beim_start_leer.png|180px]] </spoiler>
<li>[[Variablen|Variable]] <spoiler text="Block *"> <pre id=mc02>let TempWert = 0</pre> <br/><br/> <span style="color:#FFFFFF; background:#1E90FF">* Der Block "beim Start" wird systembedingt mit angezeigt.</span> </spoiler>
<li>[[LED|zeige LEDs]] <spoiler text="Block"> [[Datei:zeige_led.png|180px]] </spoiler>
<li>pausiere <spoiler text="Block"> <pre id=mc01>basic.pause()</pre> <br/><br/> <span style="color:#FFFFFF; background:#1E90FF">* Der Block "beim Start" wird systembedingt mit angezeigt.</span> </spoiler>
<li>pausiere <spoiler text="Block"> [[Datei:Pausiere_100.png|250px]] </spoiler>
<li>[[Schleifen|Wenn Knopf A gedrückt]] <spoiler text="Block"> <pre id=mc03>input.onButtonPressed(Button.A, function () {})</pre></spoiler>
<li>[[Schleifen|wenn Knopf A gedrückt]] <spoiler text="Block"> [[Datei:wenn_knopf_a.png|300px]] </spoiler>
<li>analoge Werte von Pin in [[Variablen|Variable]] einlesen <spoiler text="Block *"> <pre id=mc04>TempWert = pins.analogReadPin(AnalogPin.P0)</pre> <br/><br/> <span style="color:#FFFFFF; background:#1E90FF">* Der Block "beim Start" wird systembedingt mit angezeigt.</span> </spoiler>
<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 Zahl<spoiler text="Block *"> <pre id=mc05>basic.showNumber()</pre> <br/><br/> <span style="color:#FFFFFF; background:#1E90FF">* Der Block "beim Start" wird systembedingt mit angezeigt.</span> </spoiler>
<li>zeige Text <spoiler text="Block"> [[Datei:zeige_text.png|180px]] </spoiler>
<li>zeichne Balkendiagramm <spoiler text="Block *"> <pre id=mc06>led.plotBarGraph(0,0)</pre> <br/><br/> <span style="color:#FFFFFF; background:#1E90FF">* Der Block "beim Start" wird systembedingt mit angezeigt.</span> </spoiler>
</ol>
</ol>


===Eckpfeiler zur Programmierung===
===Eckpfeiler zur Programmierung===
:<ol>
:<ol>
:<li>Durch Ansteuern eines Pins gibt dieser einen Strom aus.</li>
:<li>Durch Ansteuern des digitalen Sensors über einen Pin übergibt dieser die aktuellen Messwerte an den BBC micro:bit.</li>
:<li>Wir lesen die Spannung an einem weiteren Pin aus und bilden diesen Wert in einer Variable ab.</li>
:<li>Wir lesen danach entweder die Temperatur oder die Luftfeuchtigkeit und geben diese Werte jeweils auf Knopfdruck aus.</li>
:<li>Variablen können auf der LED Matrix grafisch dargestellt werden.</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>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.</li>
</ol>
</ol>


===[[Temperatur_(digital)_und_Luftfeuchtigkeit_Lösung|Schritt für Schritt zur Lösung]]===
===[[Wetterstation_Lösung|Schritt für Schritt zur Lösung]]===
:Hinweise zur Lösungsfindung und die Lösung findest du auf der [[Temperatur_(digital)_und_Luftfeuchtigkeit_Lösung|Lösungsseite zu diesem Beispiel]].
: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:bits und deren elektronische Temperaturschaltung (Thermistor + Widerstand) gleiche Werte?
# 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 103: Zeile 100:


* Audioalarm bei Unter- bzw. Überschreiten eines Schwellenwertes (Komfortzone)
* Audioalarm bei Unter- bzw. Überschreiten eines Schwellenwertes (Komfortzone)
* Smileys bei angenehmen Temperaturen, Eiszapfen und Kochtopf bei Überschreiten der "angenehmen Zone".
* Smileys bei angenehmen Sensorwerten, Eiszapfen und Kochtopf bei Über- bzw. Unterschreiten der "angenehmen Zone".
* Temperaturwerte zu anderen micro:bits senden - Außentemperatur, Kühlschranktemperatur, etc.
* 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

Icon Luftfeuchtigkeit und Raumtemperatur exakt messen, geht das?

Detailansicht der digitalen Schaltung
Detailansicht der digitalen Schaltung
„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?“

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 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>

Icon 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>DHT22
    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

Icon 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>

Icon Schwierigkeitsgrad

borderlessborderlessborderless

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

  • 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

Icon Unterrichtsfächer

Informatik, Physik, Technisches Werken

Icon 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

  1. beim Start <spoiler text="Block"> </spoiler>
  2. zeige LEDs <spoiler text="Block"> </spoiler>
  3. pausiere <spoiler text="Block"> </spoiler>
  4. wenn Knopf A gedrückt <spoiler text="Block"> </spoiler>
  5. 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>
  6. zeige Text <spoiler text="Block"> </spoiler>

Eckpfeiler zur Programmierung

  1. Durch Ansteuern des digitalen Sensors über einen Pin übergibt dieser die aktuellen Messwerte an den BBC micro:bit.
  2. Wir lesen danach entweder die Temperatur oder die Luftfeuchtigkeit und geben diese Werte jeweils auf Knopfdruck aus.
  3. Wenn der Knopf A gedrückt wird, soll die Temperatur erscheinen. Und bei Drücken von Knopf B soll die Luftfeuchtigkeit angezeigt werden.
  4. Schritt für Schritt zur Lösung

    Hinweise zur Lösungsfindung und die Lösung findest du auf der Lösungsseite zu diesem Beispiel.

    Icon Präsentation und Reflexion

    1. Stelle dein Ergebnis vor!
    2. Was kann dein Messgerät? Messen andere BBC micro:bit und deren externe Sensoren (DHT11/DHT22) gleiche Werte?
    3. Vergleiche die Werte von unterschiedlichen Orten - innen, außen, Schatten, Sonne, Kühlschrank, etc.
    4. Hast du aussagekräftige Werte bekommen? Stimmen die BBC micro:bit Werte mit denen des externen Thermometers/ Hygrometers halbwegs überein?
    5. Was hat dir bei der Entwicklung deines Produkts gefallen?
    6. Welche Schwierigkeiten hattest du? Wie konntest du sie lösen?
    7. Erläutere, wie dein Programm aussieht!
    8. Was war bei dieser Aufgabe interessant für dich?

    Icon 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.