6: Funksignale senden und verarbeiten

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

Funksignale versenden und darauf reagieren

Übernimm das folgende Programm in die Datei des Nebenprojekts und spiele sie auf den micro:bit:

from microbit import *
from random import randint
import radio

radio.on()

while True:
    if button_a.is_pressed():
        radio.send(str(randint(0,9)))

    incoming = radio.receive()
    if incoming:
        display.show(incoming)
Thonny.png
Arbeitsauftrag

Analysiere das Programm und schreibe eine Erklärung für jeden Befehl als Kommentar in das Programm. (Kommentare beginnen immer mit # und werden beim Starten des Programms nicht mit ausgeführt.)

Beantworte vor allem folgende Fragen:

  1. Wie wird das Funkmodul aktiviert?
  2. Wie werden Informationen per Funk gesendet?
  3. Wie können Funksignale empfangen werden?
  4. Was passiert, wenn kein Signal gesendet wurde?
Icon Info.png
Wenn andere Gruppen auch an diesem Nebenprojekt arbeiten, dann wird dein micro:bit auch auf die Signale der anderen Geräte reagieren.
Lösung
from microbit import *
from random import randint
# Das Modul "radio" importieren
import radio

# Der Befehel "on" im "radio" Modul
# aktiviert das Funkmodul
radio.on()

while True:
    if button_a.is_pressed():
        # Der Befehl "send" sendet einen Text per Funk.
        # Die Zufallszahl muss daher erst mit dem "str" Befehl
        # in einen Text umgewandelt werden.
        radio.send(str(randint(0,9)))

    # Das Radiomodul wartet auf eine Nachricht.
    # Kommt keine, dann wird "None", also "Nichts"
    # zurück gegeben.
    incoming = radio.receive()
    # Prüfen ob "Nichts" oder "Etwas" empfangen wurde.
    if incoming:
        # Die empfangene Nachricht anzeigen
        display.show(incoming)