Frostwächter

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen

Icon Geschichte

Es war einmal...

Icon Aufgabenstellung

Mithilfe von zwei BBC Micro:bit soll die Temperatur gemessen und angezeigt werden. Dazu schickt ein BBC Micro:bit dauerhaft die Temperatur an einem 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.

Icon Materialien

  • Zwei BBC Micro:bit (Version V2 oder V1 mit Lautsprecher für die Soundausgabe)

Icon Zeitaufwand

  • 1-2 Unterrichtseinheit(en)

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Du solltest bereits

  • Daten mit dem Micro:bit übertragen können
  • Bedingte Anweisungen kennen


Beim Programmieren lernst bzw. übst du

Bei dieser Aufgabe lernst du auch

  • ein neues Programm zu erstellen

Icon Unterrichtsfächer

  • Werken
  • Informatik
  • Physik

Icon 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

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

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.