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

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{NNavigation}} Nun weißt du, wie du Funksignale versenden kannst. Wende dein Wissen auf den '''micro:glow''' an, indem du folgende Änderungen am Programm v…“)
 
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{NNavigation}}
{{NNameAnzeigen}}{{NNavigation}}


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'''):
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.
# Die Glühen-Animation so gestartet werden, wenn per Funk dasselbe Wort (<code>"flash"</code>) empfangen wird.
# Die Glühen-Animation soll gestartet werden, wenn per Funk dasselbe Wort (<code>'flash'</code>) empfangen wird.


{{Hint:Start}}
{{Tipp:Start}}
Ergänze folgende Programmzeilen an der richtigen Stelle im Programm:
Ergänze folgende Programmzeilen an der richtigen Stelle im Programm:


Zeile 12: Zeile 12:
# <code>radio.on()</code>
# <code>radio.on()</code>
# <code>radio.send('flash')</code>
# <code>radio.send('flash')</code>
# <code>empfang = radio.recevie()</code>
# <code>empfang = radio.receive()</code>
# <code>if empfang == 'flash':</code>
# <code>if empfang == 'flash':</code>
{{Hint:End}}
{{Tipp:End}}{{Lösung:Start}}
{{Lösung:Start}}
<syntaxhighlight lang="python" line="1" highlight="3,5,13,15-16">
<syntaxhighlight lang="python" line="1" highlight="3,5,13,15-16">
from microbit import *  
from microbit import *  
Zeile 21: Zeile 20:
import radio
import radio


# Funksender einschalten
radio.on()
radio.on()


# Erstellen der "glow" Animation
# 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 löst das Glühen aus
     # Knopf A sendet das 'flash' Signal
     if button_a.was_pressed():
     if button_a.was_pressed():
         radio.send('flash')
         radio.send('flash')
      
 
     empfang = radio.recevie()
     # Empfangen der Signale anderer micro:bits
     empfang = radio.receive()
     if empfang == 'flash':
     if empfang == 'flash':
         # Kurz (zufällig) warten
         # Kurz (zufällig) warten
         sleep(random.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}}

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):

  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 soll 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)