Gewandempfehlung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== [[Datei:Icon_story.png|20px|Icon]] Geschichte == | == [[Datei:Icon_story.png|20px|Icon]] Geschichte == | ||
[[Datei: | [[Datei:Frostwaechter2.jpeg|400px|right]] | ||
Es war einmal... | Es war einmal... | ||
== [[Datei:Icon_gluehbirne.png|20px|Icon]] Aufgabenstellung == | == [[Datei:Icon_gluehbirne.png|20px|Icon]] Aufgabenstellung == | ||
Mithilfe von zwei BBC Micro:bit soll die Temperatur gemessen und angezeigt werden. Dazu soll ein BBC Micro:bit dauerhaft die Temperatur an einem zweiten schicken. Dieser soll die gemessene Temperatur anzeigen. | Mithilfe von zwei BBC Micro:bit soll die Temperatur gemessen und angezeigt werden. Dazu soll ein BBC Micro:bit dauerhaft die Temperatur an einem zweiten schicken. Dieser soll die gemessene Temperatur anzeigen. | ||
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. | ||
Zeile 11: | Zeile 10: | ||
== [[Datei:icon_material.png|20px|Icon]] Materialien == | == [[Datei:icon_material.png|20px|Icon]] Materialien == | ||
* Zwei BBC Micro:bit (Version V2 oder V1 mit Lautsprecher für die Soundausgabe) | * Zwei BBC Micro:bit (Version V2 oder V1 mit Lautsprecher für die Soundausgabe) | ||
Zeile 24: | Zeile 22: | ||
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | == [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen == | ||
Du solltest bereits | Du solltest bereits | ||
* Daten mit dem Micro:bit übertragen können | * Daten mit dem Micro:bit übertragen können | ||
Zeile 47: | Zeile 44: | ||
== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellungen == | == [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellungen == | ||
=== Erforderliche Programmierblöcke === | === Erforderliche Programmierblöcke === | ||
==== Ziel ==== | ==== Ziel ==== | ||
* Nach Programmstart | * Nach Programmstart soll ein beliebiges Symbol zeigen, dass der 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 alle 5 Minuten an einen weiteren Micro:bit gesendet werden. | ||
* Beim | * Beim einem weiteren Micro:bit soll die Temperatur angezeigt werden. | ||
* | * Falls die Temperatur unter 0 Grad sinkt, soll ein Alarmton beim Empfänger abgespielt werden. | ||
==== Blöcke ==== | ==== Blöcke ==== | ||
* Zwei Micro:bit sollen mit Funk verbunden werden <spoiler text="Block"> | * Zwei Micro:bit sollen mit Funk verbunden werden <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
radio.setGroup(47) | |||
radio.setGroup( | |||
</pre> | </pre> | ||
</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 ist möglich) | **Kein anderes Kommunikations-Paar in der Klasse darf diesen Kanal benutzen (Kanal 1 bis 255 ist möglich) | ||
* | * Beim Starten des Senders wird ein beliebiges Symbol angezeigt, um zu wissen, dass der 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) | |||
led.setBrightness(5) | |||
basic.showIcon(IconNames.Yes) | |||
</pre> | </pre> | ||
</spoiler> | </spoiler> | ||
* | * Block zum Senden der Temperatur <spoiler text="Block"> | ||
<pre id=" | <pre id="pre03"> | ||
let receivedNumber = 0 | |||
basic.forever(function () { | |||
receivedNumber = input.temperature() | |||
radio.sendNumber(receivedNumber) | |||
}) | }) | ||
</pre> | </pre> | ||
</spoiler> | </spoiler> | ||
* | * Block zum Empfangen und Anzeigen der Temperatur <spoiler text="Block"> | ||
<pre id=" | <pre id="pre04">radio.onReceivedNumber(function (receivedNumber) { | ||
radio. | basic.showNumber(receivedNumber) | ||
basic. | |||
}) | }) | ||
</pre> | </pre> | ||
</spoiler> | </spoiler> | ||
* Ausgeben | * Ausgeben des Sounds, wenn die Temperatur unter 0 Grad ist <spoiler text="Block"> | ||
<pre id=" | <pre id="pre04"> | ||
radio. | radio.onReceivedNumber(function (receivedNumber) { | ||
basic.showNumber(receivedNumber) | |||
if (receivedNumber < 0) { | |||
music.startMelody(music.builtInMelody(Melodies.Chase), MelodyOptions.Forever) | |||
} | |||
}) | }) | ||
}) | }) | ||
</pre> | </pre> | ||
Zeile 179: | Zeile 101: | ||
==[[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion == | ==[[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion == | ||
===Allgemein=== | ===Allgemein=== | ||
* Stelle dein Ergebnis vor! Was kann dein Produkt? | * Stelle dein Ergebnis vor! Was kann dein Produkt? | ||
Zeile 189: | Zeile 110: | ||
===Projektspezifisch=== | ===Projektspezifisch=== | ||
* Wie gut funktioniert der Temperatursensor im Vergleich zu einem gekauften Thermometer? | |||
* Wie | * Wie weit geht die Funkverbindung? | ||
* Wie | * Würdest du dich auf diesen Frostwächter verlassen? | ||
* Was müsste sich an diesem Programm verbessern, damit du ihn tatsächlich einsetzen kannst? | |||
* | |||
* | |||
==[[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung == | ==[[Datei:icon_plus.png|20px|Icon]] 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 bei gedrückter Taste "A" pausiert. |
Aktuelle Version vom 25. Oktober 2021, 11:23 Uhr
Geschichte
Es war einmal...
Aufgabenstellung
Mithilfe von zwei BBC Micro:bit soll die Temperatur gemessen und angezeigt werden. Dazu soll ein BBC Micro:bit dauerhaft die Temperatur an einem zweiten schicken. Dieser soll die gemessene Temperatur anzeigen. 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 Lautsprecher für die Soundausgabe)
Zeitaufwand
- 1-2 Unterrichtseinheit(en)
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits
- Daten mit dem Micro:bit übertragen können
- Bedingte Anweisungen kennen
Beim Programmieren lernst bzw. übst du
- Funkverbindungen aufzunehmen
- Funksignale zu empfangen
- Bedingungen zu verwenden
- die Soundausgabe zu verwenden
Bei dieser Aufgabe lernst du auch
- ein neues Programm zu erstellen
Unterrichtsfächer
- Werken
- Informatik
- Physik
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Nach Programmstart soll ein beliebiges Symbol zeigen, dass der 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 alle 5 Minuten an einen weiteren Micro:bit gesendet werden.
- Beim einem weiteren 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 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 ist möglich)
- Beim Starten des Senders wird ein beliebiges Symbol angezeigt, um zu wissen, dass der 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 ist <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? 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 geht die Funkverbindung?
- Würdest du dich auf diesen Frostwächter verlassen?
- Was müsste sich an diesem Programm verbessern, damit du ihn 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 bei gedrückter Taste "A" pausiert.