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_und_roboter_programmieren:aufgaben_hof [2025-11-13 07:46] – [Aufgabe C1] gra | gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2025-11-19 16:58] (aktuell) – [Lösungen] gra | ||
|---|---|---|---|
| Zeile 491: | Zeile 491: | ||
| 1. Wandle um in $\text{m}/ | 1. Wandle um in $\text{m}/ | ||
| - | === Aufgabe C2 === | + | === Aufgabe C2 – Gesamtbeschleunigung berechnen |
| Rechenaufgabe (ohne micro:bit). Unten sind die gemessenen Werte für die Beschleunigungen in die drei Koordinatenrichtungen angegeben. Berechne jeweils die **Gesamtbeschleunigung**: | Rechenaufgabe (ohne micro:bit). Unten sind die gemessenen Werte für die Beschleunigungen in die drei Koordinatenrichtungen angegeben. Berechne jeweils die **Gesamtbeschleunigung**: | ||
| Zeile 499: | Zeile 499: | ||
| - | === Aufgabe C3 === | + | === Aufgabe C3 – xyz-Beschleunigung beobachten |
| Zeige in der Konsole ("Show serial" | Zeige in der Konsole ("Show serial" | ||
| Zeile 506: | Zeile 506: | ||
| 1. Wie musst du den micro:bit halten und wie musst du dich bewegen? | 1. Wie musst du den micro:bit halten und wie musst du dich bewegen? | ||
| - | === Aufgabe C4 === | + | === Aufgabe C4 – Gesamtbeschleunigung in $\text{m}/ |
| 1. Schreibe ein Programm, welches die **Gesamtbeschleunigung** misst und den Wert in der Konsole ausgibt. Füge nach jeder Messung wieder eine Pause ein. | 1. Schreibe ein Programm, welches die **Gesamtbeschleunigung** misst und den Wert in der Konsole ausgibt. Füge nach jeder Messung wieder eine Pause ein. | ||
| 1. Hältst du den micro:bit still, sollten der bekannte Wert $9.81$ (oder zumindest Wert in der Nähe davon) angezeigt werden, unabhängig davon, in welche Richtung der micro:bit zeigt. | 1. Hältst du den micro:bit still, sollten der bekannte Wert $9.81$ (oder zumindest Wert in der Nähe davon) angezeigt werden, unabhängig davon, in welche Richtung der micro:bit zeigt. | ||
| 1. Bewege den micro:bit nun so, dass du eine möglichst grosse Beschleunigung misst. Beschädige ihn aber nicht! | 1. Bewege den micro:bit nun so, dass du eine möglichst grosse Beschleunigung misst. Beschädige ihn aber nicht! | ||
| - | 1. Erweiterung: Mit den Tasten sollst du nun zwischen drei Modi umstellen können: | + | |
| + | === Aufgabe C5 – Gesamtbeschleunigung in drei Einheiten === | ||
| + | |||
| + | 1. Erweitere Aufgabe C4: Mit den Tasten sollst du nun zwischen drei Modi umstellen können: | ||
| 1. Anzeige in mg (z.B. $1018$) | 1. Anzeige in mg (z.B. $1018$) | ||
| 1. Anzeige in $g$'s (z.B. $1.02$) | 1. Anzeige in $g$'s (z.B. $1.02$) | ||
| Zeile 519: | Zeile 522: | ||
| - | === Aufgabe | + | === Aufgabe |
| + | Dein micro:bit soll ein Angry-Face zeigen, sobald der Absolutwert der x- oder der y- Beschleunigung über einem Grenzwert von 100 mg liegt. Solange beide Werte (x und y) unter dem Grenzwert liegen, soll das Display dunkel bleiben. | ||
| + | - Challenge 1: Lade das Programm auf deinen micro:bit und bewege dich zu einem bestmmten Punkt im Zimmer und wieder zurück, ohne dass das Display auch nur einmal aufleuchtet. | ||
| + | - Challenge 2: Schaffst du das auch mit einem Grenzwert < 100? | ||
| + | |||
| + | ++++ Tipp:| | ||
| + | Die Funktion '' | ||
| + | ++++ | ||
| + | === Aufgabe C7 – Je schneller desto heller | ||
| Je fester der micro:bit beschleunigt wird, desto heller soll die LED-Matrix leuchten. | Je fester der micro:bit beschleunigt wird, desto heller soll die LED-Matrix leuchten. | ||
| Zeile 527: | Zeile 538: | ||
| Tipp 2: Verwende die Funktion '' | Tipp 2: Verwende die Funktion '' | ||
| - | < | + | === Lösungen === |
| + | |||
| + | < | ||
| ++++Lösungen Aufgaben C| | ++++Lösungen Aufgaben C| | ||
| === C1 === | === C1 === | ||
| Zeile 557: | Zeile 570: | ||
| === C4 === | === C4 === | ||
| + | <code python> | ||
| + | from microbit import * | ||
| + | import math | ||
| + | |||
| + | while True: | ||
| + | sleep(500) | ||
| + | ax, ay, az = accelerometer.get_values() | ||
| + | a = math.sqrt(ax*ax + ay*ay + az*az) | ||
| + | a_ms = a/1000*9.81 | ||
| + | print(a_ms) | ||
| + | </ | ||
| + | |||
| + | === C5 === | ||
| <code python> | <code python> | ||
| from microbit import * | from microbit import * | ||
| Zeile 580: | Zeile 606: | ||
| </ | </ | ||
| - | === C5 === | + | === C6 === |
| + | <code python> | ||
| + | from microbit import * | ||
| + | import music | ||
| + | |||
| + | trigger = 100 | ||
| + | |||
| + | while True: | ||
| + | sleep(200) | ||
| + | ax, ay, az = accelerometer.get_values() | ||
| + | print(accelerometer.get_values()) | ||
| + | if abs(ax) > trigger or abs(ay) > trigger: | ||
| + | display.show(Image.ANGRY) | ||
| + | else: | ||
| + | display.clear() | ||
| + | </ | ||
| + | |||
| + | === C7 === | ||
| <code python> | <code python> | ||
| from microbit import* | from microbit import* | ||