Frostwächter: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(16 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Datei:Frostwaechter2.jpeg|400px|right]] | [[Datei:Frostwaechter2.jpeg|400px|right]] | ||
„Aliza, hast du schon nachgeschaut, wie kalt es heute Nacht wird? Falls das Thermometer unter 0 Grad sinkt, muss ich unbedingt die Heizung im Gewächshaus einschalten – sonst erfrieren alle meine schönen Blumen!“ – „Ach, Papa, verlässt du dich wirklich auf die Wettervorhersage?“, Aliza schüttelt den Kopf. „Was soll ich denn sonst machen?“, antwortet dieser mit einem verzweifelten Blick. „Du weißt, wie sehr ich meine Pflanzen mag.“ Aliza überlegt kurz, dann lächelt sie. „Ich glaube, ich habe eine Idee – ich baue dir einen Frostwächter! Der misst dann immer die Temperatur und warnt dich, sollte es nur noch 0 Grad oder darunter haben!“ | |||
== [[Datei:Icon_gluehbirne.png|20px|Icon]] Aufgabenstellung == | == [[Datei:Icon_gluehbirne.png|20px|Icon]] Aufgabenstellung == | ||
Mithilfe von zwei BBC | Mithilfe von zwei BBC micro:bit wird die Temperatur gemessen und angezeigt. Dazu schickt ein BBC micro:bit dauerhaft die Temperatur an einen zweiten. Dieser zeigt die gemessene Temperatur an. | ||
Wenn die Temperatur unter 0 Grad fällt, soll ein Warnton ausgegeben werden. | Wenn die Temperatur unter 0 Grad fällt, soll ein Warnton ausgegeben werden. | ||
Der Akku soll dabei möglichst lange halten. | Der Akku soll dabei möglichst lange halten. | ||
== [[Datei:icon_material.png|20px|Icon]] Materialien == | == [[Datei:icon_material.png|20px|Icon]] Materialien == | ||
* Zwei BBC | * Zwei BBC micro:bit (Version V2 oder V1 mit externem Lautsprecher für die Soundausgabe) | ||
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand == | == [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand == | ||
* 1-2 Unterrichtseinheit(en) | * ca. 1-2 Unterrichtseinheit(en) | ||
== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad == | == [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad == | ||
[[Datei:SternGelb.png|30px|borderless]][[Datei: | [[Datei:SternGelb.png|30px|borderless]][[Datei:SternGelb.png|30px|borderless]][[Datei:SternLeer.png|30px|borderless]] | ||
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | == [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | ||
Du solltest bereits | Du solltest bereits: | ||
* Daten mit dem | * Daten mit dem BBC micro:bit übertragen können | ||
* Bedingte Anweisungen kennen | * Bedingte Anweisungen kennen | ||
Du lernst | |||
* [[Funkverbindungen]] zwischen zwei BBC micro:bit herzustellen | |||
* [[Funkverbindungen]] | |||
* [[Funksignale]] zu empfangen | * [[Funksignale]] zu empfangen | ||
* [[Bedingungen]] zu verwenden | * [[Bedingungen]] zu verwenden | ||
* die Soundausgabe zu verwenden | * die Soundausgabe zu verwenden | ||
== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer == | == [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer == | ||
Zeile 47: | Zeile 43: | ||
==== Ziel ==== | ==== Ziel ==== | ||
* Nach Programmstart soll ein beliebiges Symbol zeigen, dass der | * Nach Programmstart soll ein beliebiges Symbol zeigen, dass der BBC micro:bit, der die Temperatur misst, eingeschaltet ist. | ||
* Um den Akku zu schonen, soll dieses Symbol möglichst schwach leuchten. | * Um den Akku zu schonen, soll dieses Symbol möglichst schwach leuchten. | ||
* Die Temperatur soll fortlaufend gemessen werden und | * Die Temperatur soll fortlaufend gemessen werden und an einen weiteren BBC micro:bit gesendet werden. | ||
* | * Bei einem weiteren BBC micro:bit soll die Temperatur angezeigt werden. | ||
* Falls die Temperatur unter 0 Grad sinkt, soll ein Alarmton beim Empfänger abgespielt werden. | * Falls die Temperatur unter 0 Grad sinkt, soll ein Alarmton beim Empfänger abgespielt werden. | ||
==== Blöcke ==== | ==== Blöcke ==== | ||
* Zwei | * Zwei BBC micro:bit sollen mit Funk verbunden werden. <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
radio.setGroup(47) | radio.setGroup(47) | ||
Zeile 61: | Zeile 57: | ||
</spoiler> | </spoiler> | ||
**Der Funkkanal muss für beide gleich lauten. | **Der Funkkanal muss für beide gleich lauten. | ||
**Kein anderes Kommunikations-Paar in der Klasse darf diesen Kanal benutzen (Kanal 1 bis 255 | **Kein anderes Kommunikations-Paar in der Klasse darf diesen Kanal benutzen (Kanal 1 bis 255 sind möglich). | ||
* Beim Starten des Senders wird ein beliebiges Symbol angezeigt, um zu wissen, dass der | * Beim Starten des Senders wird ein beliebiges Symbol angezeigt, um zu wissen, dass der BBC micro:bit eingeschaltet ist. Mit diesem Befehl kannst du die Helligkeit des Displays verringern, um den Akku zu schonen.<spoiler text="Block"> | ||
<pre id="pre02"> | <pre id="pre02"> | ||
radio.setGroup(47) | radio.setGroup(47) | ||
Zeile 84: | Zeile 80: | ||
</pre> | </pre> | ||
</spoiler> | </spoiler> | ||
* Ausgeben des Sounds, wenn die Temperatur unter 0 Grad | * Ausgeben des Sounds, wenn die Temperatur unter 0 Grad erreicht <spoiler text="Block"> | ||
<pre id="pre04"> | <pre id="pre04"> | ||
radio.onReceivedNumber(function (receivedNumber) { | radio.onReceivedNumber(function (receivedNumber) { | ||
Zeile 98: | Zeile 94: | ||
===[[Frostwächter_Lösung|Schritt für Schritt zur Lösung]]=== | ===[[Frostwächter_Lösung|Schritt für Schritt zur Lösung]]=== | ||
:Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der [[Frostwächter_Lösung|Lösungsseite zu diesem Beispiel]] | :Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der [[Frostwächter_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 == | ||
Zeile 104: | Zeile 100: | ||
* Stelle dein Ergebnis vor! Was kann dein Produkt? | * Stelle dein Ergebnis vor! Was kann dein Produkt? | ||
* Was hat dir bei der Entwicklung deines Produkts gefallen? | * Was hat dir bei der Entwicklung deines Produkts gefallen? | ||
* Welche Schwierigkeiten hattest? Wie konntest du diese lösen? | * Welche Schwierigkeiten hattest du? Wie konntest du diese lösen? | ||
* Erläutere, wie du dein Produkt programmiert hast! | * Erläutere, wie du dein Produkt programmiert hast! | ||
* Was war bei dieser Aufgabe interessant für dich? | * Was war bei dieser Aufgabe interessant für dich? | ||
Zeile 111: | Zeile 107: | ||
* Wie gut funktioniert der Temperatursensor im Vergleich zu einem gekauften Thermometer? | * Wie gut funktioniert der Temperatursensor im Vergleich zu einem gekauften Thermometer? | ||
* Wie weit | * Wie weit reicht die Funkverbindung? | ||
* Würdest du dich auf diesen Frostwächter verlassen? | * Würdest du dich auf diesen Frostwächter verlassen? Begründe! | ||
* Was müsste sich an diesem Programm verbessern, damit du | * Was müsste sich an diesem Programm verbessern, damit du den Frostwächter tatsächlich einsetzen kannst? | ||
==[[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung == | ==[[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung == | ||
Zeile 120: | Zeile 116: | ||
== Erweiterungsaufgabe == | == Erweiterungsaufgabe == | ||
* Programmiere den Frostwächter so, dass der Warnton | * Programmiere den Frostwächter so, dass der Warnton nach dem Drücken der Taste "A" stoppt. | ||
* Ein | * Ein BBC micro:bit soll so programmiert werden, dass er die Temperatur misst. Bei Tastendruck "A" soll die kleinste gemessene Temperatur angezeigt werden und bei "B" das Maximum. | ||
<htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 30. März 2022, 07:09 Uhr
Geschichte
„Aliza, hast du schon nachgeschaut, wie kalt es heute Nacht wird? Falls das Thermometer unter 0 Grad sinkt, muss ich unbedingt die Heizung im Gewächshaus einschalten – sonst erfrieren alle meine schönen Blumen!“ – „Ach, Papa, verlässt du dich wirklich auf die Wettervorhersage?“, Aliza schüttelt den Kopf. „Was soll ich denn sonst machen?“, antwortet dieser mit einem verzweifelten Blick. „Du weißt, wie sehr ich meine Pflanzen mag.“ Aliza überlegt kurz, dann lächelt sie. „Ich glaube, ich habe eine Idee – ich baue dir einen Frostwächter! Der misst dann immer die Temperatur und warnt dich, sollte es nur noch 0 Grad oder darunter haben!“
Aufgabenstellung
Mithilfe von zwei BBC micro:bit wird die Temperatur gemessen und angezeigt. Dazu schickt ein BBC micro:bit dauerhaft die Temperatur an einen zweiten. Dieser zeigt die gemessene Temperatur an. Wenn die Temperatur unter 0 Grad fällt, soll ein Warnton ausgegeben werden. Der Akku soll dabei möglichst lange halten.
Materialien
- Zwei BBC micro:bit (Version V2 oder V1 mit externem Lautsprecher für die Soundausgabe)
Zeitaufwand
- ca. 1-2 Unterrichtseinheit(en)
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits:
- Daten mit dem BBC micro:bit übertragen können
- Bedingte Anweisungen kennen
Du lernst
- Funkverbindungen zwischen zwei BBC micro:bit herzustellen
- Funksignale zu empfangen
- Bedingungen zu verwenden
- die Soundausgabe zu verwenden
Unterrichtsfächer
- Werken
- Informatik
- Physik
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Nach Programmstart soll ein beliebiges Symbol zeigen, dass der BBC micro:bit, der die Temperatur misst, eingeschaltet ist.
- Um den Akku zu schonen, soll dieses Symbol möglichst schwach leuchten.
- Die Temperatur soll fortlaufend gemessen werden und an einen weiteren BBC micro:bit gesendet werden.
- Bei einem weiteren BBC micro:bit soll die Temperatur angezeigt werden.
- Falls die Temperatur unter 0 Grad sinkt, soll ein Alarmton beim Empfänger abgespielt werden.
Blöcke
- Zwei BBC micro:bit sollen mit Funk verbunden werden. <spoiler text="Block">
radio.setGroup(47)
</spoiler>
- Der Funkkanal muss für beide gleich lauten.
- Kein anderes Kommunikations-Paar in der Klasse darf diesen Kanal benutzen (Kanal 1 bis 255 sind möglich).
- Beim Starten des Senders wird ein beliebiges Symbol angezeigt, um zu wissen, dass der BBC micro:bit eingeschaltet ist. Mit diesem Befehl kannst du die Helligkeit des Displays verringern, um den Akku zu schonen.<spoiler text="Block">
radio.setGroup(47) led.setBrightness(5) basic.showIcon(IconNames.Yes)
</spoiler>
- Block zum Senden der Temperatur <spoiler text="Block">
let receivedNumber = 0 basic.forever(function () { receivedNumber = input.temperature() radio.sendNumber(receivedNumber) })
</spoiler>
- Block zum Empfangen und Anzeigen der Temperatur <spoiler text="Block">
radio.onReceivedNumber(function (receivedNumber) { basic.showNumber(receivedNumber) })
</spoiler>
- Ausgeben des Sounds, wenn die Temperatur unter 0 Grad erreicht <spoiler text="Block">
radio.onReceivedNumber(function (receivedNumber) { basic.showNumber(receivedNumber) if (receivedNumber < 0) { music.startMelody(music.builtInMelody(Melodies.Chase), MelodyOptions.Forever) } }) })
</spoiler>
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel.
Präsentation und Reflexion
Allgemein
- Stelle dein Ergebnis vor! Was kann dein Produkt?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest du? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Projektspezifisch
- Wie gut funktioniert der Temperatursensor im Vergleich zu einem gekauften Thermometer?
- Wie weit reicht die Funkverbindung?
- Würdest du dich auf diesen Frostwächter verlassen? Begründe!
- Was müsste sich an diesem Programm verbessern, damit du den Frostwächter tatsächlich einsetzen kannst?
Weiterentwicklung
- Überlege, ob es wirklich sinnvoll ist, die Temperatur dauerhaft an den Sender zu schicken? Wäre es nicht besser für den Akku, wenn das nur alle 5 Minuten passiert?
Erweiterungsaufgabe
- Programmiere den Frostwächter so, dass der Warnton nach dem Drücken der Taste "A" stoppt.
- Ein BBC micro:bit soll so programmiert werden, dass er die Temperatur misst. Bei Tastendruck "A" soll die kleinste gemessene Temperatur angezeigt werden und bei "B" das Maximum.