interessante projekte mit dem bbc micro:bit · projekt 1 „nachrichten ... reihenfolge auf der...
TRANSCRIPT
Heerdegen-Leitner & Heerdegen, 2018 Seite 1 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Interessante Projekte
mit dem
BBC Micro:bit Projekt 1
„Nachrichten senden und empfangen 1“
(Einzelne Buchstaben senden und empfangen)
Schritt 1: Start
.) Eine Variable mit dem Namen „ABC“ hat als Inhalt die 26 Buchstaben des Alphabets und die
Zeichen „!“ und „?“. (Eine Folge von Zeichen, z.B. von Buchstaben nennt man einen String.) Man
sagt, die Variable „ABC“ ist eine Stringvariable.
.) Die Fungkgruppe ist 0, alle Micro:bits die dieser Funkgruppe angehören, können die gesendete
Nachricht später empfangen.
Schritt 2: Wählen eines Buchstabens mittels Tastendruck - aufsteigend
.) Nun soll durch Drücken der Taste B aus den 26 Buchstaben und den 2 Zeichen eines
ermittelt werden. Jedem Zeichen entspricht eine Zahl zwischen 1 und 28. Die Zahl gibt
die Position des Buchstabens oder des Zeichens in der Stringvariablen an. (A hat Position
1, B die Position 2 etc.)
.) Der Inhalt einer Variablen „Position“ soll sich bei jedem Drücken der B-Taste um 1
erhöhen. So werden nacheinander die Buchstaben des Alphabets in aufsteigender
Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben
auswählen!
.) Ist der Inhalt von „Position“ größer als 28, wird der Inhalt wieder auf 1 gesetzt. Die
Möglichkeit, einen Buchstaben auszuwählen, beginnt wieder bei Position 1 (Buchstabe A).
Heerdegen-Leitner & Heerdegen, 2018 Seite 2 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Der so ermittelte Buchstabe, das so ermittelte Zeichen, wird in einer Variablen
„Buchstabe“ gespeichert.
.) Auf unserer LED-Matrix wird dieser Buchstabe dann ausgegeben.
Schritt 3: Wählen eines Buchstabens mittels Tastendruck – absteigend
.) Möchte ich, dass die Buchstaben und Zeichen in absteigender Reihenfolge auf der LED-
Matrix dargestellt werden, verändern wir das vorherige Script folgendermaßen:
.) Der Inhalt der Variablen „Position“ wird sich bei jedem Drücken der A-Taste um 1
verringern. So werden nacheinander die Buchstaben des Alphabets in absteigender
Reihenfolge auf der LED-Matrix dargestellt und so kann ich wiederum einen beliebigen
Buchstaben auswählen!
.) Ist der Inhalt von „Position“ kleiner als 1, wird der Inhalt wieder auf 28 gesetzt. Die
Möglichkeit, einen Buchstaben auszuwählen, beginnt wieder bei Position 28 (Zeichen „?“).
Heerdegen-Leitner & Heerdegen, 2018 Seite 3 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Der so ermittelte Buchstabe, das so ermittelte Zeichen, wird wieder in der Variablen
„Buchstabe“ gespeichert.
.) Auf unserer LED-Matrix wird dieser Buchstabe dann ausgegeben.
.) Dieses Verfahren lässt uns ganz rasch mit den Tasten A und B im Alphabet hin und
her navigieren!
Schritt 4: Senden der Nachricht
.) Bei gleichzeitigem Drücken der Tasten A und B wird der so ermittelte Buchstabe
gesendet!
Schritt 5: Empfangen der Nachricht
.) Der Befehlsblock „wenn Datenpaket empfangen receivedString“ wartet auf ein
Datenpaket, das von einem Micro:bit über eine Bluetoothverbindung an einen anderen
Micro:bit (oder auch an mehrere) gesendet wurde. Der (Die) Micro:bit(s) müssen alle
der selben Funkgruppe (in unserem Fall der Gruppe 0, siehe Startblock) angehören!
.) Dabei ist „recivedString“ eine Variable, die als Inhalt in unserem Fall den Buchstaben
hat, der gesendet wurde.
.) Der Befehl „zeige Zeichenfolge RecivedString“ stellt nun den gesendetet Buchstaben
auf unserer LED-Matrix dar.
Heerdegen-Leitner & Heerdegen, 2018 Seite 4 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Schritt 6: Zu beachten
.) Das vollständige Programm muss auf beide Micro:bits überspielt werden! So können die beiden
User sowohl Sender als auch Empfänger sein. Es kann mit diesem Programm nur jeweils ein
Buchstabe gesendet werden! Sende ich die Buchstaben eines Wortes hintereinander, kann ich sehr
wohl kleinere Nachrichten senden. Der Empfänger kann danach auf die Nachricht antworten.
Interessanter wird es, wenn wir im nächsten Projekt das Programm so abändern, das ganze Wörter
und Sätze auf einmal gesendet werden können.
.) Möchte ich, dass nur ein User der Sender und der (die) andere (anderen) der (die) Empfänger
ist (sind), braucht der Sender nur folgende Skripte:
Heerdegen-Leitner & Heerdegen, 2018 Seite 5 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Für den (die) Empfänger genügen folgende beiden Skripte:
Video
Heerdegen-Leitner & Heerdegen, 2018 Seite 6 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Projekt 2
„Nachrichten senden und empfangen 2“
(Ganze Wörter und Sätze senden und empfangen)
Schritt 1: Start
.) Eine Variable mit dem Namen „ABC“ hat als Inhalt die 26 Buchstaben des Alphabets und die
Zeichen „!“ und „?“. (Eine Folge von Zeichen, z.B. von Buchstaben nennt man einen String.) Man
sagt, die Variable „ABC“ ist eine Stringvariable.
.) Eine zweite Stringvariable mit Namen „Text“ hat als Inhalt vorerst einen leeren String. Später
sollen dieser Stringvariablen die ermittelten Zeichen hinzugefügt werden.
.) Die Fungkgruppe ist 0, alle Micro:bits die dieser Funkgruppe angehören, können die gesendete
Nachricht später empfangen.
Schritt 2: Wählen eines Buchstabens mittels Tastendruck – aufsteigend und
absteigend
Heerdegen-Leitner & Heerdegen, 2018 Seite 7 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Genau so wie bei Projekt 1 werden durch Drücken der A-Taste und der B-Taste die benötigten
Buchstaben ermittelt und auf dem Bildschirm ausgegeben!
Schritt 3: Zusammenfügen der einzelnen Buchstaben zu einem Wort (Satz)
.) Die Stringvariable „Text“ ist beim Start leer.
.) Nun werden durch gleichzeitiges Drücken der A-Taste und der B-Taste die ermittelten
Buchstaben in die Stringvariable „Text“ befördert. Dies so lange, bis das fertige Wort (der
fertige Satz) als Inhalt von „Text“ abgelegt ist.
Schritt 4: Senden der Nachricht
.) Der Micro:bit verfügt über einen Lagesensor. Da die Tasten A und B bereits belegt sind, müssen
wir uns etwas anderes für das Senden überlegen.
Heerdegen-Leitner & Heerdegen, 2018 Seite 8 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Wenn der Micro:bit mit dem Display nach unten gerichtet wird, wird der Inhalt von „Text“
gesendet.
.) Danach wird der Bildschirminhalt gelöscht.
.) Zum Schluss wird der nun abgesendete Text aus der Variablen „Text“ gelöscht. Dies deshalb,
damit beim nächsten Senden nur der neue Text und der alte Text nicht noch einmal dazu gesendet
wird.
Schritt 5: Empfangen der Nachricht
.) Der bereits empfangene Text ist in der Variablen „alter Text“ gespeichert. Bevor der neue Text
auf dem Display ausgegeben wird, wird die Variable „alterText“ geleert, damit er nicht noch einmal
zusammen mit dem neuen Text ausgegeben wird.
Schritt 6: Zu beachten
.) Das vollständige Programm muss natürlich wieder auf beide (auf alle) Micro:bits überspielt
werden! So können die beiden (alle) User sowohl Sender als auch Empfänger sein.
.) Möchte ich, dass nur ein User der Sender und der (die) andere (anderen) der (die) Empfänger
ist (sind), braucht der Sender nur folgende Skripte:
Heerdegen-Leitner & Heerdegen, 2018 Seite 9 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Heerdegen-Leitner & Heerdegen, 2018 Seite 10 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Für den (die) Empfänger genügen folgende beiden Skripte:
Video
Heerdegen-Leitner & Heerdegen, 2018 Seite 11 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Projekt 3
„Nachrichten senden und empfangen 3“
(Einsatz eines Potentiometers)
Schritt 1: Start
.) Eine Variable „Letzteposition“ wird auf 0 gesetzt.
.) Unsere Stringvariable mit Namen „Text“ hat als Inhalt vorerst einen leeren String. (Ein String
ist eine Folge von Zeichen, z.B. von Buchstaben.) Später sollen dieser Stringvariablen die
ermittelten Zeichen hinzugefügt werden.
.) Die Fungkgruppe ist 0, alle Micro:bits die dieser Funkgruppe angehören, können die gesendete
Nachricht später empfangen.
Schritt 2: Wählen eines Buchstabens über ein Potentiometer
.) Das Potentiometer ist ein variabler Widerstand mit einem Drehknopf. Durch Drehen des Knopfes
kann man den Widerstand ändern. Der Micro:bit kann die sich durch Drehen des Knopfes ändernde
Eingangsspannung an den Pins 0, 1 und 2 ablesen und sie als analogen Wert zwischen 0 und 1023
abbilden. Im unserem Beispiel erhält die Variable „Potentiometer“ den gerade aktuellen Wert von
Pin 0 nach dem Drehen des Potentiometerknopfes.
.) Da wir 26 Zeichen in unserem Alphabet haben, und die Zeichen „ ? “ und „ ! “ und das Zeichen
„ * “ als Ersatz für ein Leerzeichen noch dazu nehmen, also 29 Zeichen verwenden, wandeln wir
den Bereich von 0 bis 1023 in einen Bereich von 0 bis 29 um.
Heerdegen-Leitner & Heerdegen, 2018 Seite 12 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Je nachdem, wie groß die Eingangsspannung an Pin 0 nun ist, wird nun der analoge Wert von Pin
0 (eine Zahl zwischen 0 und 29) in der Variablen „Position“ als Zahl gespeichert.
.) Die so ermittelte Zahl entspricht der Position eines der 29 Zeichen (26 Buchstaben
und 3 Zeichen). Dieses Zeichen (z.B. 5 = E) wird nun in einer Variablen „Buchstabe“
gespeichert.
.) Um zu wissen, ob der Benutzer das Potentiometer weit genug gedreht hat, um das
aktuelle Zeichen zu ändern, müssen wir die Position des letzten Zeichens speichern, um
es zu vergleichen. („ändere Letzteposition auf Position“)
.) Der so ermittelte Buchstabe wird auf dem Bildschirm ausgegeben.
Heerdegen-Leitner & Heerdegen, 2018 Seite 13 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Schritt 3: Zusammenfassung der Zeichen zu einem Text
.) Die Stringvariable „Text“ ist beim Start leer.
.) Nun wird durch Drücken der A-Taste der ermittelte Buchstabe in die Stringvariable
„Text“ befördert. Dies so lange, bis das fertige Wort (der fertige Satz) als Inhalt von
„Text“ abgelegt ist.
Schritt 4: Senden der Nachricht
.) Wenn die B-Taste gedrückt wird, wird der Inhalt von „Text“ gesendet.
.) Der Text erscheint als Laufschrift auf dem Display.
.) Zum Schluss wird der nun abgesendete Text aus der Variablen „Text“ gelöscht. Dies
deshalb, damit beim nächsten Senden nur der neue Text und der alte Text nicht noch
einmal dazu gesendet wird.
Schritt 5: Empfangen der Nachricht
.) Ein zweiter Micro:bit ist der Empfänger! Jetzt müssen wir nur unsere Nachricht
empfangen. Besonders wenn wir in mehreren Teams arbeiten, ist es sehr wichtig, dass wir
dieselbe Funkgruppe einstellen.
Heerdegen-Leitner & Heerdegen, 2018 Seite 14 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
.) Der Befehl „zeige Zeichenfolge RecivedString“ stellt nun den gesendetet Text auf
der LED-Matrix des Empfängers dar.
Schritt 6: Verkabelung
Das folgende Bild zeigt, wie der Sender mit dem Potentiometer verbunden wird:
Heerdegen-Leitner & Heerdegen, 2018 Seite 15 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien
Video