Lernpfad:Das micro:glow/7: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Ngb (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{NNavigation}} | {{NNameAnzeigen}}{{NNavigation}} | ||
Nun weißt | Nun weißt Du, wie Du Funksignale versenden kannst. Wende das Wissen auf den '''micro:glow''' an, indem Du folgende Änderungen am Programm vornimmst (wechsele in {{Thonny}} zurück in die Projektdatei des '''micro:glow'''): | ||
# Beim Betätigen des A-Knopfes soll das '''micro:glow''' nicht mehr leuchten, sondern das Wort <code>'flash'</code> per Funk versenden. | # Beim Betätigen des A-Knopfes soll das '''micro:glow''' nicht mehr leuchten, sondern das Wort <code>'flash'</code> per Funk versenden. |
Aktuelle Version vom 23. Januar 2024, 12:18 Uhr
Nun weißt Du, wie Du Funksignale versenden kannst. Wende das Wissen auf den micro:glow an, indem Du folgende Änderungen am Programm vornimmst (wechsele in Thonny zurück in die Projektdatei des micro:glow):
- Beim Betätigen des A-Knopfes soll das micro:glow nicht mehr leuchten, sondern das Wort
'flash'
per Funk versenden. - Die Glühen-Animation soll gestartet werden, wenn per Funk dasselbe Wort (
'flash'
) empfangen wird.
Tipp
Ergänze folgende Programmzeilen an der richtigen Stelle im Programm:
import radio
radio.on()
radio.send('flash')
empfang = radio.receive()
if empfang == 'flash':
Lösung
from microbit import *
from random import randint
import radio
# Funksender einschalten
radio.on()
# Erstellen der "glow" Animation
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
while True:
# Knopf A sendet das 'flash' Signal
if button_a.was_pressed():
radio.send('flash')
# Empfangen der Signale anderer micro:bits
empfang = radio.receive()
if empfang == 'flash':
# Kurz (zufällig) warten
sleep(randint(50, 350))
# Animation abspielen
display.show(flash, delay=100, wait=False)