- Allgemeines und eine kurze Einführung zu Beetle Blocks
- EIS Karten Beetle Blocks
- #01 Beetle Blocks Crossing
- #02 Beetle Blocks Würfel im Käfig
- #03 Beetle Blocks Pokal
- #04 Beetle Blocks Schmuckstück
- #05 Beetle Blocks Noppenball
- #06 Beetle Blocks Spirale
- #07 Beetle Blocks Vase einfach
- #08 Beetle Blocks Vase kurvig
- #09 Beetle Blocks Zufällig einmalig
- #10 Beetle Blocks Große Zahlen bändigen den Zufall
#05b Senden/ Empfangen
Aktivität: Senden/ Empfangen – Bluetooth Datenübertragung
Schwierigkeitsgrad: Mittel
Man braucht dafür 2 Microbits, die sich in derselben Gruppe befinden.
Öffne https://makecode.microbit.org um den Editor zu starten. Du kannst entweder blockbasierend (Abbildungen links) oder in JavaScript (Abbildungen rechts) arbeiten.
Schritt 1 (Microbit A):
Wähle unter dem hellrosa gefärbten Begriff Funk den Block setze Gruppe 1 (radio.setGroup(1)) und ziehe ihn auf die leere Fläche rechts. Dort sind schon die blauen Klammern beim Start und dauerhaft vorbereitet. Anschließend lösche die Klammer dauerhaft, sie wird hier nicht benötigt. Ziehe dazu den Block auf die mittlere Blockbibliothek (Papierkorbsymbol erscheint) und lösche durch loslassen. Ändere die Gruppe auf z.B. 34
Schritt 2 (Microbit A):
Ziehe nun unter dem rosa gefärbten Begriff Eingabe den Block wenn Knopf A gedrückt (input.onButtonPressed(…)) auf die leere Fläche rechts und gib gleich den unter dem blau gefärbten Begriff Grundlagen befindlichen Block zeige LEDs (basic.showLeds(…)) dazu. Zeichne dort einen Pfeil nach rechts zur Anzeige der Kommunikationsrichtung ein. Etwa so…
Schritt 3 (Microbit A):
Nun warten wir 1000 ms mit dem blauen Block pausiere (ms) 100 (basic.pause(100)), fügen diesen unterhalb des zeige LEDs Blocks ein und ändern diesen auf 1000 ms. Danach senden wir an den zweiten Microbit die Zeichnfolge „diamond“ mit dem hellrosa Befehl sende Zeichenfolge “ “ (radio.sendString(“ „)) und ändern die Zeichenfolge auf diamond. Abschließend zeigen wir noch das soeben gesendete Symbol zur Kontrolle an, nämlich „Diamond“. Das erledigst du mit dem blauen Befehl zeige Symbol ♥ (basic.showIcon(…)) das du noch auf das Symbol ♦ umstellen musst.
Schritt 4 (Microbit A):
Nun warten wir nochmals 1000 ms mit dem blauen Block pausiere (ms) 1000 (basic.pause(1000)) und fügen diesen unterhalb des zeige Symbol ♦ Blocks ein. Danach zeigen wir das Ende der Übertragung mit zeige Symbol ü (basic.showIcon(…)) an, bevor wir nach weiteren 1000 ms pausieren alle LEDs durch den Block zeige LEDs (basic.showLeds(…)) löschen.
Super, du hast den ersten Teil zum Senden geschafft! Nun geht es weiter zum zweiten Teil, den zum Empfangen der Nachricht.
Schritt 5 (Microbit A):
Ziehe unter dem hellrosa gefärbten Begriff Funk den Block wenn Datenpaket empfangen recievedString (radio.onDataPacketReceived(…)) auf einen leeren Bereich der Fläche rechts und ändere receivedString in diamond. Danach zeigen wir die erfolgreiche Übertragung mit zeige Symbol ü (basic.showIcon(…)) an, bevor wir nach weiteren 1000 ms pausieren das empfangene Symbol anzeigen. Das macht der Block zeige Symbol ♥ (basic.showIcon(…)) den du noch auf das Symbol ♦ umstellen musst.
Gratuliere, nun bist du mit dem ersten Microbit des Beispiels Senden/ Empfangen fertig! Nimm dir nun den zweiten Microbit vor bzw. gehe zu deinem Teammitglied.
Schritt 6 (Microbit B):
Wiederhole Schritt 1 auf Microbit B.
Schritt 7 (Microbit B):
Wiederhole die Schritte 2 bis 4. Ändere den Block wenn Knopf A gedrückt (input.onButtonPressed(…)) auf Knopf B. Zeichne im Block zeige LEDs (basic.showLeds(…)) den Pfeil nach links zur Anzeige der Kommunikationsrichtung ein. Ändere den Block sende Zeichenfolge “ “ (radio.sendString(“ „)) auf die Zeichenfolge auf heart und zeige das Symbol mit dem Block zeige Symbol ♥ (basic.showIcon(…)) an.
Schritt 8 (Microbit B):
Wiederhole den Schritt 5. Ändere im Block wenn Datenpaket empfangen recievedString (radio.onDataPacketReceived(…)) receivedString in heart und zeige das Symbol mit dem Block zeige Symbol ♥ (basic.showIcon(…)) an.
Großartig, du hast es geschafft. Gratuliere!
Auf den nächsten beiden Bildern findest du das vollständige Programm für Microbit B (blockbasierend und JavaScript).
Und so sieht die Übertragung von A –> B in echt aus.
ICMB 2020 – micro:bit making video
ICMB 2020 – Flussdiagramme
Sehe Sie sich dieses Video an an und beantworten Sie die darin eingebetteten Fragen zu den im Flussdiagramm verwendeten Symbolen.
ICMB 2020 – fertiges Programm
Teil 1 – Vorbereitung und Spiel starten
Teil 2 – Die Reaktionszeit messen
ICMB 2020 – Tutorial 2
Flussdiagramm – Erklärvideo (optional)
Schritt für Schritt zur Lösung
Teil 2 – Die Reaktionszeit messen
Wenn die Taste B (Einspieler-Modus) gedrückt wird und „Running“ = wahr ist („Running“ wurde erst gegen Schluss des Programmteils 1 mit Taste A+B auf „wahr“ gesetzt), dann soll die Reaktionszeit angezeigt werden, ansonsten soll ein Symbol für Fehlstart angezeigt werden.
Nun soll zuerst die Variable „Running“ auf „falsch“ gesetzt werden, damit vom BBC micro:bit nicht mehr registriert wird, wenn später ein zweiter Spieler die andere Taste (A) drückt.
Als nächstes wird wieder die seit dem Einschalten des BBC Micro:bit vergangene Zeit („Laufzeit ms“) in Millisekunden ausgelesen und jetzt in der Variablen „Ende“ gespeichert.
Damit man später im Mehrspieler-Modus weiß, dass der mit der rechten Taste (B) verbundene Spieler zuerst reagiert hat, soll auf der LED-Matrix ein entsprechendes Symbol angezeigt werden und für eine Sekunde aufleuchten.
Die Zeit, die zwischen dem Ende des Countdowns und dem Drücken der Taste (B) vergangen ist, soll angezeigt werden. Dies muss nun berechnet und angezeigt werden.
Wenn die Variable „Running“ nicht auf „wahr“ gesetzt ist, wird die Variable „Fehlstart“ auf „wahr“ gestellt.
Auf der LED-Matrix soll auf der Seite wo die Taste (b) gedrückt wurde ein entsprechendes Symbol dargestellt werden.
ICMB 2020 – Tutorial 1
Flussdiagramm – Erklärvideo (optional)
Schritt für Schritt zur Lösung
Teil 1 – Vorbereitung und Spiel starten
4 neue Variablen werden erstellt und ihnen ein Wert zugeordnet
- „Start“ – Wert „0“ (= setzt die abgelaufene Zeit auf Null)
- „Ende“ – Wert „0“ (= setzt die abgelaufene Zeit auf Null)
- „Running“ – Wert „Falsch“ (= Programm läuft noch nicht)
- „Fehlstart“ – Wert „Falsch“ (= Kein Fehlstart)
Sobald beide Tasten A+B gedrückt werden soll ein Countdown starten:
3 – 2 – 1. Anschließend soll der Bildschirminhalt gelöscht werden.
Nun soll eine zufällige Zeitspanne zwischen 1 und 3 Sekunden vergehen, bevor auf der LED Matrix ein Punkt erscheint, der das Startsignal für den Reaktionstest gibt.
Wenn kein Fehlstart verursacht wurde…
… soll die seit dem Einschalten des BBC micro:bit vergangene Zeit („Laufzeit ms“) im Millisekunden ausgelesen und in der Variablen „Start“ gespeichert werden. Und die Variable „Running“ soll auf wahr gesetzt werden.
Es soll sichergestellt werden, dass alle Animationen an der LED-Matrix angehalten werden und der Bildschirm gelöscht wird.
Auf der LED-Matrix soll irgendwo ein Punkt erscheinen:
- Auf der X-Achse befinden sich 5 LEDs (0 bis 4)
- Auf der Y-Achse befinden sich 5 LEDs (0 bis 4)
ICM und Making mit dem BBC micro:bit
Adaptionen und praktische Anleitung zur Umsetzung eines Making-Beispiels mit Flipped/ Inverted Classroom
Folien zum Vortrag zur ICM Beyond 2020 hier.
Ausgangslage ist ein OER-Schulbuch zu Computational Thinking mit dem BBC micro:bit aus dem ein zur flipped Umsetzung besonders geeignetes Beispiel ausgewählt wurde.
Lesen Sie gerne auch den Artikel zur ICM Beyond 2020 zur detailierten Vorgehensweise und/ oder kommen Sie in den Workshop am 11.02.2020, 16:30 Uhr, Raum HOG 204, PH NÖ – Campus Baden.
Sollten Sie noch gar keine Erfahrung mit dem micro:bit haben, können Sie sich die Einführung samt Video auf dieser Website ansehen und danach mit den Eiskarten zu micro:bit etwas experimentieren bevor sie weitermachen.
Die ICM Adaption besteht aus einem Erklärvideo
und zusätzlich folgenden Hilfestellungen:
- Tutorial mit Spoilern (exploratives, selbstgesteuertes Lernen)
- Flussdiagramme (Erklärvideo mit eingebetteten Fragen, optional)
- Fertiger Programmcode als Pictorial
#05 Senden/ Empfangen
Aktivität: Senden/ Empfangen – Bluetooth Datenübertragung
Schwierigkeitsgrad: Mittel
Man braucht dafür 2 Microbits, die sich in derselben Gruppe befinden.
Öffne https://makecode.microbit.org um den Editor zu starten. Du kannst entweder blockbasierend (Abbildungen links) oder in JavaScript (Abbildungen rechts) arbeiten.
Schritt 1 (Microbit A):
Wähle unter dem hellrosa gefärbten Begriff Funk den Block setze Gruppe 34 (radio.setGroup(34)) und ziehe ihn auf die leere Fläche rechts. Dort sind schon die blauen Klammern beim Start und dauerhaft vorbereitet. Anschließend lösche die Klammer dauerhaft, sie wird hier nicht benötigt. Ziehe dazu den Block auf die mittlere Blockbibliothek (Papierkorbsymbol erscheint) und lösche durch loslassen. Ändere die Gruppe auf z.B. 34
Blockbasierend
radio.setGroup(34);
JavaScript
Schritt 2 (Microbit A):
Ziehe nun unter dem rosa gefärbten Begriff Eingabe den Block wenn Knopf A gedrückt (input.onButtonPressed(…)) auf die leere Fläche rechts und gib gleich den unter dem blau gefärbten Begriff Grundlagen befindlichen Block zeige LEDs (basic.showLeds(…)) dazu. Zeichne dort einen Pfeil nach rechts zur Anzeige der Kommunikationsrichtung ein. Etwa so…
input.onButtonPressed(Button.A, function () { basic.showLeds(` . . # . . . . . # . # # # # # . . . # . . . # . . `) });
Schritt 3 (Microbit A):
Nun warten wir 1000 ms mit dem blauen Block pausiere (ms) 100 (basic.pause(100)), fügen diesen unterhalb des zeige LEDs Blocks ein und ändern diesen auf 1000 ms. Danach senden wir an den zweiten Microbit die Zeichnfolge „diamond“ mit dem hellrosa Befehl sende Zeichenfolge “ “ (radio.sendString(“ „)) und ändern die Zeichenfolge auf diamond. Abschließend zeigen wir noch das soeben gesendete Symbol zur Kontrolle an, nämlich „Diamond“. Das erledigst du mit dem blauen Befehl zeige Symbol ♥ (basic.showIcon(…)) das du noch auf das Symbol ♦ umstellen musst.
input.onButtonPressed(Button.A, function () { basic.showLeds(` . . # . . . . . # . # # # # # . . . # . . . # . . `) basic.pause(1000) radio.sendString("diamond") basic.showIcon(IconNames.Diamond) });
Schritt 4 (Microbit A):
Nun warten wir nochmals 1000 ms mit dem blauen Block pausiere (ms) 1000 (basic.pause(1000)) und fügen diesen unterhalb des zeige Symbol ♦ Blocks ein. Danach zeigen wir das Ende der Übertragung mit zeige Symbol ü (basic.showIcon(…)) an, bevor wir nach weiteren 1000 ms pausieren alle LEDs durch den Block zeige LEDs (basic.showLeds(…)) löschen.
input.onButtonPressed(Button.A, function () { basic.showLeds(` . . # . . . . . # . # # # # # . . . # . . . # . . `) basic.pause(1000) radio.sendString("diamond") basic.showIcon(IconNames.Diamond) basic.pause(1000) basic.showIcon(IconNames.Yes) basic.pause(1000) basic.showLeds(` . . . . . . . . . . . . . . . . . . . . . . . . . `) });
Super, du hast den ersten Teil zum Senden geschafft! Nun geht es weiter zum zweiten Teil, den zum Empfangen der Nachricht.
Schritt 5 (Microbit A):
Ziehe unter dem hellrosa gefärbten Begriff Funk den Block wenn Datenpaket empfangen recievedString (radio.onDataPacketReceived(…)) auf einen leeren Bereich der Fläche rechts und ändere receivedString in diamond. Danach zeigen wir die erfolgreiche Übertragung mit zeige Symbol ü (basic.showIcon(…)) an, bevor wir nach weiteren 1000 ms pausieren das empfangene Symbol anzeigen. Das macht der Block zeige Symbol ♥ (basic.showIcon(…)) den du noch auf das Symbol ♦ umstellen musst.
radio.onReceivedNumberDeprecated(function (receivedNumber) { basic.showIcon(IconNames.Yes) basic.pause(1000) basic.showIcon(IconNames.Heart) })
Gratuliere, nun bist du mit dem ersten Microbit des Beispiels Senden/ Empfangen fertig! Nimm dir nun den zweiten Microbit vor bzw. gehe zu deinem Teammitglied.
Schritt 6 (Microbit B):
Wiederhole Schritt 1 auf Microbit B.
Schritt 7 (Microbit B):
Wiederhole die Schritte 2 bis 4. Ändere den Block wenn Knopf A gedrückt (input.onButtonPressed(…)) auf Knopf B. Zeichne im Block zeige LEDs (basic.showLeds(…)) den Pfeil nach links zur Anzeige der Kommunikationsrichtung ein. Ändere den Block sende Zeichenfolge “ “ (radio.sendString(“ „)) auf die Zeichenfolge auf heart und zeige das Symbol mit dem Block zeige Symbol ♥ (basic.showIcon(…)) an.
Schritt 8 (Microbit B):
Wiederhole den Schritt 5. Ändere im Block wenn Datenpaket empfangen recievedString (radio.onDataPacketReceived(…)) receivedString in heart und zeige das Symbol mit dem Block zeige Symbol ♥ (basic.showIcon(…)) an.
Großartig, du hast es geschafft. Gratuliere!
Auf den nächsten beiden Bildern findest du beide vollständigen Programm für Microbit A und B (blockbasierend und JavaScript).
Radio A: https://makecode.microbit.org/_F9ygHhTeC7z0
Radio B: https://makecode.microbit.org/_VDKMUc2VfAp5
Und so sieht die Übertragung von A –> B in echt aus.