Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der...

15
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).

Transcript of Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der...

Page 1: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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).

Page 2: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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 „?“).

Page 3: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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.

Page 4: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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:

Page 5: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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

Page 6: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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

Page 7: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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.

Page 8: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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:

Page 9: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

Heerdegen-Leitner & Heerdegen, 2018 Seite 9 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien

Page 10: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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

Page 11: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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.

Page 12: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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.

Page 13: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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.

Page 14: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

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:

Page 15: Interessante Projekte mit dem BBC Micro:bit · Projekt 1 „Nachrichten ... Reihenfolge auf der LED-Matrix dargestellt und so kann ich einen beliebigen Buchstaben auswählen! .) Ist

Heerdegen-Leitner & Heerdegen, 2018 Seite 15 NTS 4 – GTNMS mit naturkundlich-technischem Schwerpunkt Schäffergasse 3, 1040 Wien

Video