Lernpfad:Das micro:glow/7: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 23: | Zeile 23: | ||
radio.on() | radio.on() | ||
# Erstellen der "glow" Animation | |||
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)] | flash = [Image().invert()*(i/9) for i in range(9, -1, -1)] | ||
while True: | 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) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Lösung:End}} | {{Lösung:End}} |
Version vom 24. Februar 2022, 10:46 Uhr
Nun weißt du, wie du Funksignale versenden kannst. Wende dein Wissen auf den micro:glow an, indem du folgende Änderungen am Programm vornimmst (wechsel im Mu-Editor 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)