Gewandempfehlung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 62: | Zeile 62: | ||
**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. | * 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"> | ||
<spoiler text="Block"> | |||
<pre id="pre02"> | <pre id="pre02"> | ||
radio.setGroup(47) | radio.setGroup(47) | ||
Zeile 70: | Zeile 69: | ||
</pre> | </pre> | ||
</spoiler> | </spoiler> | ||
* | * Block zum Senden der Temperatur | ||
* Blöcke zum Senden von Daten <spoiler text="Block"> | * Blöcke zum Senden von Daten <spoiler text="Block"> | ||
<pre id=" | <pre id="pre03"> | ||
let receivedNumber = 0 | |||
basic.forever(function () { | |||
receivedNumber = input.temperature() | |||
input. | radio.sendNumber(receivedNumber) | ||
radio. | |||
}) | }) | ||
</pre> | </pre> |
Version vom 25. Oktober 2021, 10:27 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
- Blöcke zum Senden von Daten <spoiler text="Block">
let receivedNumber = 0 basic.forever(function () { receivedNumber = input.temperature() radio.sendNumber(receivedNumber) })
</spoiler>
- Empfangen und Anzeigen von Daten <spoiler text="Block">
radio.onReceivedString(function(receivedString: string) { basic.showString(receivedString) })
</spoiler>
- Ausgeben von kurzem Sound <spoiler text="Block">
radio.onReceivedString(function(receivedString: string) { music.ringTone(Note.C) basic.pause(200) })
</spoiler>
- Ausgeben von langem Sound <spoiler text="Block">
radio.onReceivedString(function(receivedString: string) { music.ringTone(Note.C) basic.pause(600) })
</spoiler>
Eckpfeiler zur Umsetzung
- Versuche diese drei Zeichen (Strich, Punkt, Punkt) mit dem Micro:bit-Programm darzustellen auf dem Display darzustellen <spoiler text="Block">
input.onButtonPressed(Button.A, function () { basic.showLeds(` . . . . . . . . . . . . # . . . . . . . . . . . . `) }) input.onButtonPressed(Button.B, function () { basic.showLeds(` . . . . . . . . . . . # # # . . . . . . . . . . . `) })
</spoiler>
- Wenn gleiche Zeichen mehrmals hintereinander gesendet werden, kann man nicht erkennen, dass es mehrfach gesendet wurde (es wurde nur länger dargestellt): Sieh dir das Morsealphabet an, es bestehen manche Buchstaben beispielsweise aus 3 Punkten hintereinander, "...."
und dieses Bild 2 (ohne Zwischenphasen) <spoiler text="Bild2"> </spoiler>
- Du brauchst ein Lösung zur besseren Lesbarkeit <spoiler text="Tipp">
input.onButtonPressed(Button.A, function () { basic.showLeds(` . . . . . . . . . . . . . . . . . . . . . . . . . `) })
</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
- Welche Darstellungssymbole (-.) wurde für die beiden Morsezeichen auf dem Micro:bit gewählt, welche Darstellung könnte man noch verwenden?
- Wie habt ihr während der Übungen festgelegt, wer senden und wer empfangen darf?
- Wie funktionierte das Senden eines ganzen Wortes - habt ihr das versucht?
- Habt ihr das Senden und Empfangen auch in verschiedenen Räumen mit der Trennung von Sender und Empfänger probiert. Wenn ja, wie weit reicht das Signal des Micro:bit?
- Überlege, warum die Morsespezialistinnen diese rechts dargestellte Tabelle zum Nachschlagen der Morsezeichen lieber verwenden als die obere Liste? Suche beispielsweise das Zeichen .--- : es ist ein J.
- Welches wichtige Morsewort wird heute noch immer verwendet? Ein wichtiges Notsignal: ... --- ...
- Wie könnte man Morsesignale ganz ohne Computer, mit sehr einfachen Mitteln produzieren?
- Wie könnte man ein Morsegerät mit dem Micro:bit programmieren, das nur Lichtsignal aussendet?
- Wie könnte ein von euch entworfenes Gehäuse für den Micro:bit aussehen, damit dieser "besser in der Hand liegt"?
Weiterentwicklung
- Überlegt, wie man eine Bestätigung vom Empfänger programmieren könnte, damit der Sender immer weiß, dass das Zeichen richtig vom Empfänger gelesen werden konnte oder ob es wiederholt werden sollte und auch, ob das nächste gesendet werden kann.
- Wie könnte man gleich einen ganzen Buchstaben durch einen Tastendruck senden? Dh. man sendet gleich ein A oder B in Morsekodierung aus.
- Wie könnte man auf dem Sender-Micro:bit einen Buchstaben auswählen und dann wird er als Morsecode versendet (anstatt als Programmiererin jedes Mal den Buchstaben umzuprogrammieren)?
- Überlege andere Symbole für eine Geheimsprache - probiert diese auch auf dem Micro:bit aus.
Erweiterungsaufgabe
Analyse eines fremden Programmcodes:
- Ein Ausblick: Was stellt dieser komplizierte Programmcode dar? Arrays, die Supervariablen
- Es gibt Erweiterungsbeispiele mit dem Namen Morse 2, dort werden Anwendungen der hier gezeigten Beispiele dargestellt sein
- Es werden auch viele weitere neue Schritte des Programmierens gezeigt.
- Erweiterungsbeispiele: Morse2