The Queens Cupcake: Unterschied zwischen den Versionen
Zeile 106: | Zeile 106: | ||
* Kannst du Erklären, warum die Variable "tolerance" benötigt? Warum brauchen wir Sie? | * Kannst du Erklären, warum die Variable "tolerance" benötigt? Warum brauchen wir Sie? | ||
* Welche Auswirkungen hätte es auf das Spiel, wenn die Variable "tolerance" den Wert 500 statt 200 hätte? Wäre das Spiel einfacher oder | * Welche Auswirkungen hätte es auf das Spiel, wenn die Variable "tolerance" den Wert 500 statt 200 hätte? Wäre das Spiel einfacher oder schwieriger? | ||
==[[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung == | ==[[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung == |
Version vom 17. November 2021, 10:58 Uhr
Geschichte
Aufgabenstellung
Pass auf, dass der Cupcake nicht vom silbernen Tablett rutscht, wenn er serviert wird! In diesem Spiel wird der Cupcake durch ein leuchtendes LED am Micro:bit simuliert. Das silberne Tablett stellt den 5x5 LED-Raster des Micro:bits dar. Der Spieler oder die Spielerin müssen den Micro:bit flach auf dem Handrücken im Raum herumtragen und sicherstellen, dass er so flach wie möglich bleibt. Mithilfe des Beschleunigungssensors stellt unser Programm fest, ob sich der Micro:bit neigt (vorwärts, rückwärts, links oder rechts). Wenn das der Fall ist, bewegt sich der Cupcake (leuchtendes LED) auf dem silbernen Tablett (5x5 LED-Raster) in die richtige Richtung. Das Spiel endet, wenn das leuchtende LED am Rand des LED-Rasters ist und der Micro:bit weiter geneigt wird.
Materialien
- Ein BBC Micro:bit
Zeitaufwand
- 1-2 Unterrichtseinheit(en)
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits
- Bedingte Anweisungen kennen
- Wissen, was Variablen sind und wofür sie benötigt werden
Beim Programmieren lernst bzw. übst du
- Variablen zu erstellen
- Schleifen zu verwenden
- Bedingungen zu verwenden
Bei dieser Aufgabe lernst du auch
- ein neues Programm zu erstellen
Unterrichtsfächer
- Informatik
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
- Kannst du Erklären, warum die Variable "tolerance" benötigt? Warum brauchen wir Sie?
- Welche Auswirkungen hätte es auf das Spiel, wenn die Variable "tolerance" den Wert 500 statt 200 hätte? Wäre das Spiel einfacher oder schwieriger?
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.
- Ein Micro:bit soll so programmiert werden, dass er die Temperatur misst. Bei Tastendruck "A" soll die kleinste gemessene Temperatur angezeigt werden und "B" das Maximum.