Lernpfad:Das micro:glow/6: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 39: | Zeile 39: | ||
while True: | while True: | ||
if button_a.is_pressed(): | if button_a.is_pressed(): | ||
# Der | # Der Befehl "send" sendet einen Text per Funk. | ||
# Die Zufallszahl muss daher erst mit dem "str" Befehl | # Die Zufallszahl muss daher erst mit dem "str" Befehl | ||
# in einen Text umgewandelt werden. | # in einen Text umgewandelt werden. |
Version vom 6. Februar 2022, 23:41 Uhr
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)
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:
- Wie wird das Funkmodul aktiviert?
- Wie werden Informationen per Funk gesendet?
- Wie können Funksignale empfangen werden?
- Was passiert, wenn kein Signal gesendet wurde?
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)