Lernpfad:Das micro:glow/7: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 27: Zeile 27:


while True:
while True:
    # Knopf A sendet das 'flash' Signal
# Knopf A sendet das 'flash' Signal
    if button_a.was_pressed():
if button_a.was_pressed():
        radio.send('flash')
radio.send('flash')
   
 
    # Empfangen der Signale anderer micro:bits
# Empfangen der Signale anderer micro:bits
    empfang = radio.receive()
empfang = radio.receive()
    if empfang == 'flash':
if empfang == 'flash':
        # Kurz (zufällig) warten
# Kurz (zufällig) warten
        sleep(randint(50, 350))
sleep(randint(50, 350))
        # Animation abspielen
# Animation abspielen
        display.show(flash, delay=100, wait=False)
display.show(flash, delay=100, wait=False)
</syntaxhighlight>
</syntaxhighlight>
{{Lösung:End}}
{{Lösung:End}}

Version vom 28. Januar 2020, 22:02 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 (wechsele im Mu-Editor zurück in die Projektdatei des micro:glow):

  1. Beim Betätigen des A-Knopfes soll das micro:glow nicht mehr leuchten, sondern das Wort 'flash' per Funk versenden.
  2. Die Glühen-Animation so gestartet werden, wenn per Funk dasselbe Wort ('flash') empfangen wird.
Tipp

Ergänze folgende Programmzeilen an der richtigen Stelle im Programm:

  1. import radio
  2. radio.on()
  3. radio.send('flash')
  4. empfang = radio.receive()
  5. 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)