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

Handreichung – App Dev für Smartphone und Tablet in der Schule (Sekundarstufe)

Wollten sie schon immer eine „eigene“ Schul-App mit ihren Schülerinnen und Schüler erstellen? Vielleicht ist das hier die Anwort auf die Frage wie einfach und leicht das heutzutage geht. Sehen sie sich doch das Video und/ oder die Folien dazu an.

Link: Präsentation (pdf) + Infos zum Selbermachen

Video:

  Entwicklungswerkzeug Funktionsanalyse
1. Windows App Studio 04m43s
2. MIT App Inventor 2 10m02s
3. Thunkable 14m51s
4. NativeScript
(Playground)
20m00s

Wenn sie sich für eine bestimmte Variante näher interessieren, können sie hier eine detaillierte Anleitung zum Selbermachen „nachlesen“ – und vielleicht gleich selbst mitmachen.

  Entwicklungs-werkzeug Live-Demo (extra Video)
1. Windows App Studio n/a
2. MIT App Inventor 2 okhAppDev19-2
3. Thunkable okhAppDev19-3
4. NativeScript
(Playground)
okhAppDev19-4 

#9 Laufparcours

Du kannst am Boden einen Parcour aufkleben. Sobald der Parcour verlassen wird ertönt ein Signal. Ein Timer und ein Sekundenzähler können ergänzt werden.

Den Parcour soll jemand mit verbundenen Augen durchlaufen. Ein Mitspieler/eine Mitspielerin gibt Kommandos.

#8 Fang den Maulwurf!

Beim Spiel MoleMash taucht ein Maulwurf an zufälligen Positionen auf einem Spielfeld auf, und der Spieler sammelt Punkte, indem er den Maulwurf trifft, bevor er wegspringt.

Du kannst damit beginnen, dass du 9 Felder bastelst, auf denen der Maulwurf auftauchen kann

Diese verbindest du dann mit dem MakeyMakey. Überlege dir dann, wie die Spielerin/der Spieler geerdet wird (ein metallener Armreifen ist eine Möglichkeit). Das Feld, auf dem der Maulwurf auftaucht soll man dann möglichst schnell berühren.

Dann brauchst du in Scratch 9 Maulwürfe mit dem jeweiligen Code:

Welcher Maulwurf auftaucht bestimmt der Code des Bühnenbildes. Hier ein Beispiel mit Timer:


#7 Ein Bild, das Geräusche macht

Dafür benötigst du zwei Blätter, Alufolie, Schere, Kleber und Malfarben. Zeichne zuerst eine Skizze deines Bildes. Schneide dann die Teile aus, die später Geräusche machen sollen.

Anschließend legst du das zweite Blatt darunter. Markiere, wo die Löcher sind. Diese Felder beklebst du mit Alufolie. Lege auch eine Leitung mit Folie an das obere Bildende. Hier sollen später die Krokodilklemmen angeschlossen werden.

dav

Anschließend kannst du dein Bild ausmalen.

dav

Überprüfe, ob deine Verbindungen funktionieren und klebe danach die beiden Blätter zusammen.

dav

Jetzt kannst du in Scratch die einzelnen Felder mit Klängen aus der Scratchbibliothek belegen.

Spannender wird es, wenn du für jedes Feld selbst eine Audioaufnahme in Scratch machst. So kannst du eine Geschichte zum Bild erzählen.

Ein Unterrichtsbeispiel: Rotkäppchen

Das Blatt mit den leitenden Bahnen.
Das Gemälde

Der böse Wolf
Beide Blätter werden zusammengeklebt.


Der Code in Scratch
Stop Motion: Rotkäppchen

#6 Korbball

Hierfür ist etwas Geschicklichkeit hilfreich: ein Ball soll in einen Korb geworfen werden. Bei jedem Treffer soll sich der Punktestand erhöhen.

Dafür musst du in einem Becher 2 Metallstreifen anbringen (Erdung, Taste). Der Ball muss genau so groß sein, dass er den Kontakt herstellt, wenn er im Korb landet.

Scratch Code:

#5 Heißer Draht

Dieses Geschicklichkeitsspiel kennst du bestimmt! Dafür benötigst du einen Parcour, diesen kannst du aus Alufolie oder mit einem Draht bauen. Dann brauchst du eine Schlaufe, die durch den Parcour bewegt werden soll. Schließlich ist noch ein Start- und ein Zieltaster vonnöten. Die Schlaufe verkabelst du mit der Erde, die restlichen Teile mit jeweils einer Taste.


So könnte der Code in Scratch aussehen:

#4 Buzzer

Der Buzzer ist das ideale Hilfsmittel für ein Wissensquiz. Je nach Anzahl der Mitspieler kannst du dir Buzzerflächen basteln (bspw. mit Alufolie o.ä.). Für den Quizmaster gibt es eine Startschaltfläche. Alle Mitspieler/innen und der Quizmaster müssen mit der Erde verbunden sein.

mde

Ablauf: der Quizmaster startet die Runde mit dem Berühren der Start Schaltfläche. Er stellt die Quizfrage. Wer glaubt, die Antowrt zu wissen, drückt möglichst schnell seinen Buzzer und hat anschließend Zeit seine Antwort zu geben.

Das wäre ein möglicher Code für einen Buzzer:

Auch hier sind wieder viele Varianten möglich: mit Punktzähler, Zeitvorgabe, …

#3 MakeyMakey Schlagzeug

Auch für das Schlagzeug kombinieren wir MakeyMakey und Scratch. Für die einzelnen Schlagzeugteile kann man bspw. Kreise aus Alufolie verwenden. Als Schlagzeugsticks kann man leitende Stäbe verwenden (Stricknadeln, Löffel,…) und sie mit dem MakeyMakey verbinden.

dav

In Scratch genügt es, wenn die einzelnen Tasten mit jeweils einem Schlagzeugeffekt belegt werden. Dazu aktiviert man zuvor die Erweiterung Musik in Scratch.

Man kann auch mit Soundeffekten und selbst aufgenommenen Klängen das Schlagzeug belegen.

dav