Morse2
Übertragen von Geheimcode II
Hallo, wir sind Robi-x01 und Robi-x02 - wir werden uns in diesem Abschnitt einige erweiterte Programmabschnitte ansehen, wie wir beide noch besser und bequemer kommunizieren können.
- Du solltest auf jeden Fall auch im Team mit deinem Partner/deiner Partnerin arbeiten.
Aufgabenstellung
Versucht an "fremden" Programmen neue Funktionen selber zu entdecken. Am allermeisten lernt man dadurch, dass man Systeme, die etwas über dem eigenen Niveau liegen, analysiert, sie verändert und ausbaut. In diesem Beispiel werden Einzelfunktionen jetzt nicht mehr detailliert erklärt, sondern nur mehr in der Wirkung dargestellt.
- Zerlegt die folgenden Programme in Einzelbereiche und versucht durch kleine Änderung die Wirkung oder den Aufgabenbereich zu erkunden.
- Diskutiert den Sinn der einzelnen Programme und schlagt Änderungen vor.
- Ein Programm ist dann gelungen,
- wenn es mit möglichst wenig Programmcode auskommt
- wenn es keine Wiederholungen im Programmcode enthält
- wenn es gut lesbar ist
- wenn es ohne große Erklärungen seine Aufgaben erledigt
Materialien
- Zwei BBC Micro:bit (Version V2 oder V1 mit Lautsprecher oder Kopfhörer)
- Papier und Stift
- Das gedruckte Morsealphabet (ausdruckbar mit rechter Maustaste und Grafik kopieren und drucken)
Zeitaufwand
- 2 - 4 Unterrichtseinheit pro Programm - je nach Funktionsumfang
Schwierigkeitsgrad
und
Kompetenzen
Du solltest bereits
- wissen, wie man Daten mit dem Micro:bit anzeigen kann
- den Tastenfunktionen (A und B, A+B) verwenden können
- wissen, wie man 2 Micro:bits verbindet
- wissen, wie man zwischen Micro:bits Daten sendet und empfängt
- wissen, wie man Sound ausgibt
Beim Programmieren lernst bzw. übst du
- Arrays zu verwenden
- Operatoren zu verwenden
- Bedingungen zu verwenden
Unterrichtsfächer
- Werken
- Informatik
- Deutsch
- Physik
Programmsammlung
Öffnet beide aus eurem Team die folgenden Programme in Makecode und spielt diese auf den Micro:bit. Ihr braucht den Link Programmaufruf nur anklicken und man kann den jeweiligen Programmcode sehen, verändern und neu speichern. Die meisten Programme sollte man gleich auf zwei Computern aufrufen und schon geht es los: Diese Beispiele hier sind so gestaltet, dass Sender und Empfänger dasselbe Programm benutzen können. Im Einsatz in der Industrie werden die Sender und Empfänger meist verschiedene Aufgaben und somit verschiedene Programme haben.
Programm 1: "Der Morsecode-Beamer"
Programmaufruf
- Ein Spiel zu zweit
- Ihr braucht den Link "Programmaufruf" nur auf zwei Computern aufrufen und testet dann die Verbindung
- Einer ist Sender, der andere Empfänger
- Sender: Drücke Taste A für die Aufgabe
- Empfänger: Suche den empfangenen und angezeigten Buchstaben in der Morsetabelle
- Führt 10 Versuche durch und tauscht die Rollen
- Wie gut bist du im Erkennen des Morsecodes?
Programm 2: "Kommunikation mit Antwortbestätigung"
Programmaufruf
Versucht nun folgende Bedingen einzuhalten:
- Nur ein Micro:bit ist Sender - der andere ist Empfänger
- Gesendet wird mit der |Taste A| - geantwortet (bestätigt) wird mit |Taste B| (man sendet ein “ok”)
- Möchte man als Empfänger die Nachricht noch einmal - dann drückt man die |Tastenkombination A+B| (man sendet ein “no”)
- Dies versuchen wir nun in ein Programm zu fassen:
- Ganz besonders schwierig und realitätsnahe wird es, wenn ihr in verschiedene Räume geht
- Man sieht an diesem einfachen Beispiel, dass es extrem schwierig ist, eine Kommunikation aufzubauen, wenn Sender und Empfänger nicht in Sprech- und Sichtweite sind
- Sehr oft entstehen Probleme bei der Datenübertragung, wenn die Regeln nicht genau vereinbart wurden.
- Der Fachbegriff für das Erstellen dieser Regeln heißt Handshake
Eine aktuelle Anwendung in der Wissenschaft
- Amerikanische Weltraummission:
- Derzeit befindet sich ein Roboter auf dem Mars, dieser wird mit Befehlen von der Erde gesteuert
- Ein Befehl dauert vom Absenden von der Erde bis zum Empfänger auf dem Mars acht Minuten.
- Man kann sich vorstellen, dass hier sehr exakte Abmachungen getroffen werden müssen, wann sendet wer, wie ist die Antwort, …
- Auch alle Fotos vom Mars werden mit genauen Regel Zeichen-für-Zeichen zur Erde geschickt
- Es können über Signale nur Zahlen zwischen Systemen geschickt werden, wie beim Micro:bit muss die Gegenstelle das dann entschlüsseln und Befehle oder Bilder, ... umwandeln.
Programm 3: "Senden einer Nachrichtenzeile"
Programmaufruf
Verwende diesen einfachen Programmcode und ändere die Übertragungsnachricht.
- Eine ganze Zeile zu lesen (hier sind die Wortgrenzen mit einem # markiert) - normalerweise ist das eine längere Pause von etwa 3 Sekunden
- Was könnte man beim Empfänger noch gestalten, damit dieser mehr Zeit hat zum Lesen? Oder die Nachricht noch einmal ansehen kann?
- Diskutiert: Was hat noch nicht gut funktioniert, was ist zu verbessern?
Programm 4: "Zeigen eines Zufallsbuchstaben einer Liste"
Programmaufruf
- Wir werden in diesem Programm 26 Buchstaben verwenden - also brauchen wir eine Zufallszahl zwischen 0 und 25.
- Dabei greifen wir mit dem Befehl liste_buchstaben[zufall] auf ein Element der Buchstaben-Liste zu und zeigt den gefundenen Buchstaben an.
- Experimentiert mit diesem Befehl
Programm 5: "Sende ein zufälliges Morsezeichen zum Empfänger"
Programmaufruf =
- Ein zufälliges Morsezeichen zum Empfänger versenden
- Zwei Liste mit 26 Listenelementen
Programm 6: "Senden mit Handshake"
Programmaufruf
- Rollen tauschen** (immer die genaue Abstimmung mit dem Partner/der Partnerin)
- Merke: Die Taste A gehört immer dem Sender
- Erfindet selbst neue Spielregeln dazu
Programm 7: "Senden mit Tonausgabe"
Programmaufruf
- Einbau einer Zusatzfunktion zur Tonausgabe (Micro:bit V2 erforderlich oder ein angeschlossener Kopfhörer):
- Sobald ein Buchstabe den Empfänger erreicht, soll ein Ton gespielt werden
- Ebenso, wenn die Antwort bei Sender ankommt
Programm 8: "Senden von akustischen Morse-Signalen"
Programmaufruf
- Hierzu muss das empfangene Morsezeichen (receiveString) zerlegt und untersucht werden
- Es wird eine Schleife durch alle übertragenen Morsezeichen gestartet und analysiert,
- ob ein "." vorkommt: dann wird ein kurzer Ton gespielt
- ob ein "-" vorkommt: dann wird ein langer Ton gespielt
- ob ein Leerzeichen (Wortende) vorkommt -> Pause
Programm 9: "Senden von Lichtsignalen"
Programmaufruf
- Statt den optischen Signalen werden jetzt kurze und lange Lichtsignale gesendet.
- Sobald ein Morsecode gewählt ist, sollten das Zeichen **Punkt** ein kurzes Lichtsignal erzeugen und der **Strich** ein langes Lichtsignal
- Erreichen kann man dies, indem man eine alle 25 Lichtpunkte des Micro:bit verschieden lange aufleuchten lässt.
Programm 10: "Eine Tastatur zum Auswählen der Buchstaben"
Programmaufruf
- Statt dem zufälligen Auswählen eines Morsezeichens, wollen wir mit Hilfe einer "Tastatur" die Sende-Buchstaben auswählen können
- Dabei wird zwar keine richtige Tastatur ersetzen, aber eine Möglichkeit zur Auswahl eines Buchstabens: Durch Kippen des Micro:bit.
- Überlege: Wie kann man mit der Sensorik des Micro:bit ein Auswählen schaffen: Mit Licht, mit Sound, Neigung, ... ?
- Welche Werte liefern die einzelnen Sensoren des Micro:bit?
Präsentation und Reflexion
Allgemein
- Was könnte man bei jedem gezeigten Programm verändern/verbessern?
- Was war zu schwierig zu verstehen, ersucht die Lehrerin/den Lehrer um Unterstützung.
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 auf dem Sender-Micro:bit einen Buchstaben auswählen und er wird dann als Morsecode versendet, anstatt als Programmiererin das Programm jedesmal zu ändern
- Überlege andere Symbole für eine Geheimsprache zu Übertragung - probiert diese auch auf dem Micro:bit aus.
Erweiterungsaufgabe
- Schreibt zu zweit ein Programm mit einer eigenen Aufgabenstellung, wo die Kommunikation zwischen Micro:bits ein Rolle spielt.