Lösung morse1: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Detailschritte)
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
== Detailschritte ==
 
== Detailschritte ==
  
* Anzeige eines einzelnen Morsesymbols
+
Teste diese einzelnen Schritte auf deinem BBC micro:bit in verschiedenen Versionen, verändere die Anzeigen und Funktionen. Jeder dieser Schritte enthält Vorschläge für eine mögliche Lösung. Baue deine eigene Version des Programms. Für die Lösung von Programmieraufgaben gibt es immer verschiedene Ansätze und Zugangswege.
 +
 
 +
* Schritt 1: Anzeige eines einzelnen Morsesymbols: Dies kann über das LED-Symbole oder über Textanzeigen geschehen (siehe Schritt 4)
  
 
<pre id="01">
 
<pre id="01">
Zeile 45: Zeile 47:
  
  
* Verbindung von 2 Micro:bits
+
* Schritt 2: Verbindung von 2 Micro:bits
  
<prev id="01">
+
<pre id="01">
 
input.onButtonPressed(Button.A, function () {
 
input.onButtonPressed(Button.A, function () {
 
     basic.showString("Hello!")
 
     basic.showString("Hello!")
Zeile 55: Zeile 57:
 
})
 
})
 
radio.setGroup(25)
 
radio.setGroup(25)
</prev>
+
</pre>
  
  
* Senden von Nachrichten:  
+
* Schritt 3: Senden von Nachrichten:  
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
<prev id="01">
+
<pre id="01">
 
input.onButtonPressed(Button.A, function () {
 
input.onButtonPressed(Button.A, function () {
 
     radio.sendString("Hallo")
 
     radio.sendString("Hallo")
Zeile 68: Zeile 70:
 
})
 
})
 
radio.setGroup(25)
 
radio.setGroup(25)
</prev>
+
</pre>
  
  
* Senden von Morsecode:  
+
* Schritt 4: Senden von Morsecode:  
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
<prev id="01">
+
<pre id="01">
 
input.onButtonPressed(Button.A, function () {
 
input.onButtonPressed(Button.A, function () {
 
     radio.sendString(".")
 
     radio.sendString(".")
Zeile 84: Zeile 86:
 
})
 
})
 
radio.setGroup(25)
 
radio.setGroup(25)
</prev>
+
</pre>
  
* Empfangen vcn Morsecodes mit Soundausgabe:  
+
* Schritt 5: Empfangen vcn Morsecodes mit Soundausgabe:  
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
 
Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden
<prev id="01">
+
<pre id="01">
 
radio.onReceivedString(function (receivedString) {
 
radio.onReceivedString(function (receivedString) {
 +
    basic.showLeds(`
 +
        . . . . .
 +
        . . . . .
 +
        . . . . .
 +
        . . . . .
 +
        . . . . .
 +
        `)
 
     if (receivedString.includes(".")) {
 
     if (receivedString.includes(".")) {
 +
        basic.showString(".")
 
         music.playTone(262, music.beat(BeatFraction.Whole))
 
         music.playTone(262, music.beat(BeatFraction.Whole))
        basic.showLeds(`
 
            . . . . .
 
            . . . . .
 
            . . # . .
 
            . . . . .
 
            . . . . .
 
            `)
 
 
     } else {
 
     } else {
 +
        basic.showString("-")
 
         music.playTone(262, music.beat(BeatFraction.Breve))
 
         music.playTone(262, music.beat(BeatFraction.Breve))
        basic.showString("-")
 
 
     }
 
     }
 +
 
})
 
})
</prev>
+
</pre>
  
 
* Eine mögliche [https://makecode.microbit.org/#pub:_0g9dXKhwH4Ap Lösung]
 
* Eine mögliche [https://makecode.microbit.org/#pub:_0g9dXKhwH4Ap Lösung]

Aktuelle Version vom 7. März 2022, 14:11 Uhr

Hilfestellung

Detailschritte

Teste diese einzelnen Schritte auf deinem BBC micro:bit in verschiedenen Versionen, verändere die Anzeigen und Funktionen. Jeder dieser Schritte enthält Vorschläge für eine mögliche Lösung. Baue deine eigene Version des Programms. Für die Lösung von Programmieraufgaben gibt es immer verschiedene Ansätze und Zugangswege.

  • Schritt 1: Anzeige eines einzelnen Morsesymbols: Dies kann über das LED-Symbole oder über Textanzeigen geschehen (siehe Schritt 4)

input.onButtonPressed(Button.A, function () {
    basic.showLeds(`
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        `)
    basic.showLeds(`
        . . . . .
        . . . . .
        . . # . .
        . . . . .
        . . . . .
        `)
})
input.onButtonPressed(Button.B, function () {
    basic.showLeds(`
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        `)
    basic.showString("-")
})
basic.showLeds(`
    . . # . .
    # # # # #
    . . # . .
    . # . # .
    # . . . #
    `)


  • Schritt 2: Verbindung von 2 Micro:bits
input.onButtonPressed(Button.A, function () {
    basic.showString("Hello!")
})
radio.onReceivedString(function (receivedString) {
    basic.showString(receivedString)
})
radio.setGroup(25)


  • Schritt 3: Senden von Nachrichten:

Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden

input.onButtonPressed(Button.A, function () {
    radio.sendString("Hallo")
})
radio.onReceivedString(function (receivedString) {
    basic.showString(receivedString)
})
radio.setGroup(25)


  • Schritt 4: Senden von Morsecode:

Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden

input.onButtonPressed(Button.A, function () {
    radio.sendString(".")
})
radio.onReceivedString(function (receivedString) {
    basic.showString(receivedString)
})
input.onButtonPressed(Button.B, function () {
    radio.sendString("-")
})
radio.setGroup(25)
  • Schritt 5: Empfangen vcn Morsecodes mit Soundausgabe:

Beide Micro:bit können bei diesem Beispiel densselben Programmcode verwenden

radio.onReceivedString(function (receivedString) {
    basic.showLeds(`
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        `)
    if (receivedString.includes(".")) {
        basic.showString(".")
        music.playTone(262, music.beat(BeatFraction.Whole))
    } else {
        basic.showString("-")
        music.playTone(262, music.beat(BeatFraction.Breve))
    }

})

Zurück zur Aufgabe