Nachrichten senden und empfangen Loesung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Oliver.kastner (Diskussion | Beiträge)
Oliver.kastner (Diskussion | Beiträge)
K Oliver.kastner verschob die Seite Nachrichten Senden/ Empfangen Loesung nach Nachrichten senden und empfangen Loesung: Lektorat
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Schritt für Schritt=  
=Schritt für Schritt=  
Öffne den micro:bit Block-Editor, um ein Programm für den BBC micro:bit zu schreiben: https://makecode.microbit.org/
<b>Man benötigt hier 2 micro:bits (A und B), die sich in derselben Gruppe befinden. Am besten, du arbeitest zu zweit im Team an diesem Beispiel.</b>


Hast du schon alle Blöcke gesammelt und richtig angeordnet?
<ol>
<ol>
<li>Erhebe immer wieder den Sensorwert, der die Ausrichtung des micro:bit in Grad (°) misst. Speichere den Wert in der Variablen "Ausrichtung"!
===micro:bit A===
*Welche Blöcke brauchst du dazu? <spoiler text="Blöcke"> [[Datei:Kompassausrichtung speichern.png|border|Lies die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler>
<li>Wähle unter dem hellrosa gefärbten Begriff Funk den Block "setze Gruppe 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
*Hast du die erstellten Blöcke schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:Aktuelle_Kompassausrichtung_speichern.png|border|Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler></li>
<spoiler text="Blöcke">[[Datei:05_block_01.PNG|border|Achte darauf, dass alle micro:bits in derseleben Gruppe sind!]]</spoiler></li>
 
<li>Ziehe nun unter dem rosa gefärbten Begriff Eingabe den Block "wenn Knopf A gedrückt" auf die leere Fläche rechts und gib gleich den unter dem blau gefärbten Begriff Grundlagen befindlichen Block "zeige LEDs" dazu. Zeichne dort einen Pfeil nach rechts zur Anzeige der Kommunikationsrichtung ein. Etwa so… <spoiler text="Blöcke">[[Datei:05_block_02.PNG|border|Pfeil nach rechts, wenn Knopf A gedrückt - micro:bit A]]</spoiler></li>
 
<li>Nun warten wir 1000 ms mit dem blauen Block "pausiere (ms) 100", fügen diesen unterhalb des "zeige LEDs" Blocks ein und ändern diesen auf 1000 ms. Danach senden wir an den zweiten micro:bit die Zeichenfolge "diamond" mit dem hellrosa Befehl "sende Zeichenfolge ..." 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 ♥" das du noch auf das Symbol ♦ umstellen musst. <spoiler text="Blöcke">[[Datei:05_block_03.PNG|border|Sende Zeichenfolge "diamond" - micro:bit A]]</spoiler></li>


<li>Die Himmelsrichtung  zeigst du auf dem Display mit dem jeweiligen Anfangsbuchstaben N, S, W, O. <spoiler text="Blöcke"> Die Himmelsrichtung Norden wird auf dem Display angezeigt mit [[Datei:Zeige N.png|border|Zeige ein N für die Himmelsrichtung Norden]] .... </spoiler></li>
<li>Nun warten wir nochmals 1000 ms mit dem blauen Block "pausiere (ms) 1000" und fügen diesen unterhalb des "zeige Symbol ♦" Blocks ein. Danach zeigen wir das Ende der Übertragung mit "zeige Symbol [[Datei:Iconmonstr-check-mark-17-120.png|20px]]" an, bevor wir nach weiteren 1000 ms pausieren alle LEDs durch den Block "zeige LEDs" löschen. <spoiler text="Blöcke">[[Datei:05_block_04.PNG|border|Senden und Bestätigen der Übertragung - micro:bit A]]</spoiler></li>
<li>Bestimme die Himmelsrichtung, in die dein micro:bit zeigt!</li>
 
*Die Himmelsrichtung kannst du mithilfe von bedingten Anweisungen ermitteln. Du hast mehrere Möglichkeiten. <spoiler text="Blöcke für Verzweigungen"> [[Datei:Verzweigungsvarianten.png|border|Blöcke für Verzweigungen]]
Super, du hast den ersten Teil zum Senden geschafft! Nun geht es weiter zum zweiten Teil, den zum Empfangen der Nachricht.
::Mit dem Zahnrad wählst du deine gewünschte Verzweigung.
 
::Statt dem Wert "wahr" musst du einen passenden logischen Ausdruck einsetzen.</spoiler>
<li>Ziehe unter dem hellrosa gefärbten Begriff Funk den Block "wenn Datenpaket empfangen ..." auf einen leeren Bereich der Fläche rechts und ändere "receivedString" in "diamond". Danach zeigen wir die erfolgreiche Übertragung mit "zeige Symbol [[Datei:Iconmonstr-check-mark-17-120.png|20px]]" an, bevor wir nach weiteren 1000 ms pausieren das empfangene Symbol anzeigen. Das macht der Block "zeige Symbol ♥" den du noch auf das Symbol ♦ umstellen musst.<spoiler text="Blöcke">[[Datei:05_block_06.PNG|border|Empfangen und Bestätigen der Übertragung - micro:bit B]]</spoiler></li>
*Verschachtelst du mehrere bedingte Anweisungen, so kannst du alle 4 Haupthimmelsrichtungen unterscheiden.  
*Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtung Norden? <spoiler text="Blöcke"> [[Datei:ueberpruefung norden.png|border|Überprüfen von Nordern]]</spoiler>
*Hast du die erstellten Blöcke für die Himmelsrichtung Norden schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:Ueberpruefung norden zusammengesetzt.png|Überprüfung der Himmelsrichtungen  Norden]]</spoiler>
*Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtungen Norden und Osten? <spoiler text="Blöcke"> [[Datei:ueberpruefung norden osten.png|border|Überprüfen von Nordern und Osten]]</spoiler>
*Hast du die erstellten Blöcke für die Himmelsrichtungen Norden und Osten schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:Ueberpruefung norden osten zusammengesetzt.png|Überprüfung der Himmelsrichtungen  Norden und Osten]]</spoiler>  
...
</ol>


Gratuliere, nun bist du mit dem ersten micro:bit des Beispiels Senden/ Empfangen fertig! Nimm dir nun den zweiten Microbit vor bzw. gehe zu deinem Teammitglied.


Kalibrieren?
===micro:bit B===
<li>Wiederhole Schritt 1 auf micro:bit B. <spoiler text="Blöcke">[[Datei:05_block_01.PNG|border|Empfangen und Bestätigen der Übertragung - micro:bit B]]</spoiler></li>


===Lösung===
<li>Wiederhole die Schritte 2 bis 4. Ändere den Block "wenn Knopf A gedrückt" auf Knopf B. Zeichne im Block "zeige LEDs" Pfeil nach links zur Anzeige der Kommunikationsrichtung ein. Ändere den Block "sende Zeichenfolge ..." auf die Zeichenfolge "heart" und zeige das Symbol mit dem Block "zeige Symbol ♥" an. <spoiler text="Blöcke">[[Datei:05_block_b_04.PNG|border|Empfangen und Bestätigen der Übertragung - micro:bit B]]</spoiler></li>
Die vollständige Lösung kannst du hier vergleichen. <spoiler text="Block"> [[Datei:loesung.png|border|Lösung Kompass]]</spoiler>


===ACHTUNG!===
<li>Wiederhole den Schritt 5. Ändere im Block "wenn Datenpaket empfangen ..." die Zeichenfolge "recievedString" in "heart" und zeige das Symbol mit dem Block "zeige Symbol ♥" an. <spoiler text="Blöcke">[[Datei:05_block_b_06.PNG|383px|border|Empfangen und Bestätigen der Übertragung - micro:bit B]]</spoiler></li>
Bevor du deinen Kompass zur Orientierung in unbekanntem Gelände praktisch einsetzt, musst du wissen, wie du die Landkarte mit dem Kompass ausrichtest und wie du deinen Standort in der Natur bestimmen kannst. [http://www.alpinisten.info/wissen.kartenkunde.kompass.html] Dazu musst du Landkarten lesen können (Maßstab, Symbole, ...).


=Informationen zu den Erweiterungen =
</ol>
==Flussdiagramm (micro:bit A)==
[[Datei:Mbit_radio.png]]


*Wie du einen analogen Kompass selbst baust, kannst du dir im Video Kompass bauen [http://youtu.be/zhbGCoPAo_c] anschauen.
==Lösung==
*Hier wirst du über Geocaching informiert [https://www.geocaching.com/play].
Eine vollständige Lösung für micro:bit A kannst du hier vergleichen. <spoiler text="Block - micro:bit A"> [[Datei:05_block_a_08.PNG|border|Lösung micro:bit A]]</spoiler>
Eine vollständige Lösung für micro:bit B kannst du hier vergleichen. <spoiler text="Block - micro:bit B"> [[Datei:05_block_08.PNG|border|Lösung micro:bit B]]</spoiler>


[[Datei:Kompassrose.png|right|Kompassrose]]
[[Nachrichten_senden_und_empfangen|Zurück zur Aufgabe]]
[[Kompass|Zurück zur Aufgabe]]

Aktuelle Version vom 8. Juni 2018, 19:37 Uhr

Schritt für Schritt

Öffne den micro:bit Block-Editor, um ein Programm für den BBC micro:bit zu schreiben: https://makecode.microbit.org/

Man benötigt hier 2 micro:bits (A und B), die sich in derselben Gruppe befinden. Am besten, du arbeitest zu zweit im Team an diesem Beispiel.

    micro:bit A

  1. Wähle unter dem hellrosa gefärbten Begriff Funk den Block "setze Gruppe 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 <spoiler text="Blöcke">Achte darauf, dass alle micro:bits in derseleben Gruppe sind!</spoiler>
  2. Ziehe nun unter dem rosa gefärbten Begriff Eingabe den Block "wenn Knopf A gedrückt" auf die leere Fläche rechts und gib gleich den unter dem blau gefärbten Begriff Grundlagen befindlichen Block "zeige LEDs" dazu. Zeichne dort einen Pfeil nach rechts zur Anzeige der Kommunikationsrichtung ein. Etwa so… <spoiler text="Blöcke">Pfeil nach rechts, wenn Knopf A gedrückt - micro:bit A</spoiler>
  3. Nun warten wir 1000 ms mit dem blauen Block "pausiere (ms) 100", fügen diesen unterhalb des "zeige LEDs" Blocks ein und ändern diesen auf 1000 ms. Danach senden wir an den zweiten micro:bit die Zeichenfolge "diamond" mit dem hellrosa Befehl "sende Zeichenfolge ..." 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 ♥" das du noch auf das Symbol ♦ umstellen musst. <spoiler text="Blöcke">Sende Zeichenfolge "diamond" - micro:bit A</spoiler>
  4. Nun warten wir nochmals 1000 ms mit dem blauen Block "pausiere (ms) 1000" und fügen diesen unterhalb des "zeige Symbol ♦" Blocks ein. Danach zeigen wir das Ende der Übertragung mit "zeige Symbol " an, bevor wir nach weiteren 1000 ms pausieren alle LEDs durch den Block "zeige LEDs" löschen. <spoiler text="Blöcke">Senden und Bestätigen der Übertragung - micro:bit A</spoiler>
  5. Super, du hast den ersten Teil zum Senden geschafft! Nun geht es weiter zum zweiten Teil, den zum Empfangen der Nachricht.
  6. Ziehe unter dem hellrosa gefärbten Begriff Funk den Block "wenn Datenpaket empfangen ..." auf einen leeren Bereich der Fläche rechts und ändere "receivedString" in "diamond". Danach zeigen wir die erfolgreiche Übertragung mit "zeige Symbol " an, bevor wir nach weiteren 1000 ms pausieren das empfangene Symbol anzeigen. Das macht der Block "zeige Symbol ♥" den du noch auf das Symbol ♦ umstellen musst.<spoiler text="Blöcke">Empfangen und Bestätigen der Übertragung - micro:bit B</spoiler>
  7. Gratuliere, nun bist du mit dem ersten micro:bit des Beispiels Senden/ Empfangen fertig! Nimm dir nun den zweiten Microbit vor bzw. gehe zu deinem Teammitglied.

    micro:bit B

  8. Wiederhole Schritt 1 auf micro:bit B. <spoiler text="Blöcke">Empfangen und Bestätigen der Übertragung - micro:bit B</spoiler>
  9. Wiederhole die Schritte 2 bis 4. Ändere den Block "wenn Knopf A gedrückt" auf Knopf B. Zeichne im Block "zeige LEDs" Pfeil nach links zur Anzeige der Kommunikationsrichtung ein. Ändere den Block "sende Zeichenfolge ..." auf die Zeichenfolge "heart" und zeige das Symbol mit dem Block "zeige Symbol ♥" an. <spoiler text="Blöcke">Empfangen und Bestätigen der Übertragung - micro:bit B</spoiler>
  10. Wiederhole den Schritt 5. Ändere im Block "wenn Datenpaket empfangen ..." die Zeichenfolge "recievedString" in "heart" und zeige das Symbol mit dem Block "zeige Symbol ♥" an. <spoiler text="Blöcke">Empfangen und Bestätigen der Übertragung - micro:bit B</spoiler>

Flussdiagramm (micro:bit A)

Lösung

Eine vollständige Lösung für micro:bit A kannst du hier vergleichen. <spoiler text="Block - micro:bit A"> Lösung micro:bit A</spoiler> Eine vollständige Lösung für micro:bit B kannst du hier vergleichen. <spoiler text="Block - micro:bit B"> Lösung micro:bit B</spoiler>

Zurück zur Aufgabe