Lernpfad:Das micro:glow/6: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Ngb (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{NNavigation}} | {{NNameAnzeigen}}{{NNavigation}} | ||
== Funksignale versenden und darauf reagieren == | == Funksignale versenden und darauf reagieren == | ||
Übernimm das folgende Programm in die Datei des Nebenprojekts und spiele sie auf den {{micro:bit}} | Übernimm das folgende Programm in die Datei des Nebenprojekts und spiele sie auf den {{micro:bit}}: | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
from microbit import * | from microbit import * | ||
Zeile 10: | Zeile 10: | ||
while True: | while True: | ||
if button_a.is_pressed(): | |||
radio.send(str(randint(0,9))) | |||
incoming = radio.receive() | |||
if incoming: | |||
display.show(incoming) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Aufgabe:Start|Icon= | {{Aufgabe:Start|Icon=Thonny.png}} | ||
Analysiere das Programm und schreibe eine Erklärung für jeden Befehl als Kommentar in das Programm. (Kommentare beginnen immer mit <code>#</code> und werden beim Starten des Programms nicht mit ausgeführt.) | Analysiere das Programm und schreibe eine Erklärung für jeden Befehl als Kommentar in das Programm. (Kommentare beginnen immer mit <code>#</code> und werden beim Starten des Programms nicht mit ausgeführt.) | ||
Zeile 26: | Zeile 26: | ||
# Was passiert, wenn kein Signal gesendet wurde? | # Was passiert, wenn kein Signal gesendet wurde? | ||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||
{{Hinweis|Wenn andere Gruppen auch an diesem Nebenprojekt arbeiten, dann wird dein {{micro:bit}} auch auf die Signale der anderen Geräte reagieren.}} | |||
{{Lösung:Start}} | {{Lösung:Start}} | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
Zeile 38: | Zeile 39: | ||
while True: | while True: | ||
if button_a.is_pressed(): | |||
# Der Befehl "send" sendet einen Text per Funk. | # 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. | ||
radio.send(str(randint(0,9))) | |||
# Das Radiomodul wartet auf eine Nachricht. | |||
# Kommt keine, dann wird "None", also "Nichts" | # Kommt keine, dann wird "None", also "Nichts" | ||
# zurück gegeben. | # zurück gegeben. | ||
incoming = radio.receive() | |||
# Prüfen ob "Nichts" oder "Etwas" empfangen wurde. | # Prüfen ob "Nichts" oder "Etwas" empfangen wurde. | ||
if incoming: | |||
# Die empfangene Nachricht anzeigen | |||
display.show(incoming) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Lösung:End}} | {{Lösung:End}} |
Aktuelle Version vom 23. Januar 2024, 12:17 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)