Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:microbit_sca [2025-12-07 23:06] – [Informationen] sca | gf_informatik:microbit_sca [2026-01-05 14:36] (aktuell) – sca | ||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| **Editor:** | **Editor:** | ||
| - | * Link zu Online-Editor: | + | * Link zu **Online-Editor**: https:// |
| * Verwende den Chrome Browser (oder Edge) | * Verwende den Chrome Browser (oder Edge) | ||
| + | * Der Editor beinhaltet auch einen **Simulator**! | ||
| * Tipp zum **Speichern: | * Tipp zum **Speichern: | ||
| * Lege auf OneNote eine Seite an, z.B. " | * Lege auf OneNote eine Seite an, z.B. " | ||
| Zeile 143: | Zeile 144: | ||
| === Aufgabe C5 === | === Aufgabe C5 === | ||
| - | Folgende Code-Zeilen erstellen eine Liste aus 10 Bildern unterschiedlicher Helligkeit: | ||
| - | <code python> | ||
| - | my_images = [] | ||
| - | for i in range(0, 10, 1): | + | Die LEDs sollen anzeigen, wie fest der Microbit geschüttelt |
| - | my_img = Image() | + | |
| - | my_img.fill(i) | + | |
| - | my_images.append(my_img) | + | |
| - | </ | + | |
| - | In der For-Schleife geschieht Folgendes für jeden Wert von i, also von 0 bis 9, also zehn mal: | + | |
| - | * Zuerst | + | |
| - | * Dieses Bild wird nun gefüllt: Die Funktion '' | + | |
| - | * Das Bild wird der Liste '' | + | |
| - | Schreibe ein Programm, in das du obigen Code hinein kopierst, das die Bilder mit 200 Milliskeunden Verzögerung nacheinander endlos anzeigt. | + | * nicht geschüttelt: |
| + | * ganz stark geschüttelt: | ||
| + | * dazwischen: Alle LEDs mit Werten 1-8, je nachdem, wie stark geschüttelt | ||
| - | === Aufgabe C6 === | + | Tipps: |
| - | Speichere das Programm aus Aufgabe **C5** unter neuem Namen und ändere es: | + | |
| - | * Immer dann, wenn du die Taste A drückst, soll das nächste Bild aus der Liste angezeigt werden. | + | |
| - | * Nach dem letzten (hellsten) Bild, soll wieder das erste angezeigt werden. | + | |
| - | * Tipp: Damit du mit einem Tastendruck nicht gleich mehrere Bilder weiterspringst: | + | |
| - | === Aufgabe C7 (Knacknuss) === | + | * Verwende folgende Liste für die Anzeige:< |
| - | Speichere das Programm aus Aufgabe **C6** unter neuem Namen und ändere es: | + | all_leds |
| - | * Das Display soll umso heller leuchten, je stärker du den Microbit hin und her schüttelst. | + | Image(" |
| - | * Lese dazu den x-Wert aus dem Beschleunigungssensor aus. | + | |
| - | * Dieser liegt im Bereich von +/- 2040. Du brauchst aber einen Index-Wert von 0...9. | + | |
| - | * Tipps: Die Funktion '' | + | |
| + | | ||
| + | | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | ] | ||
| + | </code>< | ||
| ===== - Aufgaben D (Sounds) ===== | ===== - Aufgaben D (Sounds) ===== | ||
| Zeile 324: | Zeile 320: | ||
| ===== Lösungen ===== | ===== Lösungen ===== | ||
| - | < | + | < |
| ++++Lösungen Aufgaben A| | ++++Lösungen Aufgaben A| | ||
| Zeile 585: | Zeile 581: | ||
| </ | </ | ||
| - | === C5 – Variante A === | + | === C5 === |
| + | |||
| + | Variante 1 | ||
| <code python> | <code python> | ||
| from microbit import * | from microbit import * | ||
| - | my_images | + | all_leds |
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | Image(" | ||
| + | ] | ||
| - | for i in range(0, 9, 1): | + | while True: |
| - | | + | # Variante 1 |
| - | | + | ax,ay,az = accelerometer.get_values() |
| - | | + | |
| + | # Variante 2 | ||
| + | ax = accelerometer.get_x() | ||
| + | | ||
| + | | ||
| - | my_pos | + | # Gesamtbeschleunigung |
| - | + | a = (ax*ax + ay**2 + az**2)**0.5 | |
| - | while True: | + | if a < 1200: |
| - | | + | |
| - | | + | elif a <= 1500: |
| - | | + | display.show(all_leds[1]) |
| + | | ||
| + | display.show(all_leds[2]) | ||
| + | | ||
| + | display.show(all_leds[3]) | ||
| + | elif a <= 2400: | ||
| + | | ||
| + | elif a <= 2700: | ||
| + | display.show(all_leds[5]) | ||
| + | elif a <= 3000: | ||
| + | display.show(all_leds[6]) | ||
| + | elif a <= 3300: | ||
| + | display.show(all_leds[7]) | ||
| + | elif a <= 3600: | ||
| + | display.show(all_leds[8]) | ||
| else: | else: | ||
| - | | + | display.show(all_leds[9]) |
| - | | + | |
| + | print(a) | ||
| + | sleep(400) | ||
| </ | </ | ||
| - | === C5 – Variante | + | Variante |
| <code python> | <code python> | ||
| + | # Imports go at the top | ||
| from microbit import * | from microbit import * | ||
| + | import math | ||
| my_images = [] | my_images = [] | ||
| - | for i in range(0, 9, 1): | + | all_leds = [ |
| - | | + | Image("00000:00000: |
| - | | + | Image(" |
| - | | + | |
| - | + | | |
| - | display.show(my_images, delay = 200, loop = True) | + | Image(" |
| - | </ | + | Image(" |
| - | + | Image(" | |
| - | === C6 === | + | Image(" |
| - | <code python> | + | |
| - | from microbit import * | + | |
| - | + | ] | |
| - | my_images = [] | + | |
| - | my_pos = 0 | + | |
| - | + | ||
| - | for i in range(0, 9, 1): | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| while True: | while True: | ||
| - | | + | |
| - | sleep(100) | + | a = math.sqrt(x*x+y*y+z*z) |
| - | if my_pos < len(my_images) | + | |
| - | | + | if strength > 9: |
| - | else: | + | |
| - | | + | elif strength < 0: |
| - | display.show(my_images[my_pos]) | + | |
| + | print(strength) | ||
| + | display.show(all_leds[strength]) | ||
| + | sleep(200) | ||
| </ | </ | ||
| - | === C7 === | ||
| - | <code python> | ||
| - | from microbit import * | ||
| - | |||
| - | my_images = [] | ||
| - | my_pos = 0 | ||
| - | |||
| - | for i in range(0, 10, 1): | ||
| - | my_img = Image() | ||
| - | my_img.fill(i) | ||
| - | my_images.append(my_img) | ||
| - | |||
| - | while True: | ||
| - | xAcceleration = accelerometer.get_x() | ||
| - | # xAcceleration von +/-2040 nach 0...9 umrechnen: | ||
| - | my_pos = abs(xAcceleration) // 205 | ||
| - | print(my_pos) | ||
| - | display.show(my_images[my_pos]) | ||
| - | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||