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 [2024-08-12 13:17] – hof | gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2024-09-30 07:54] (aktuell) – [Aufgabe G6 (Medium): Remote Control] hof | ||
---|---|---|---|
Zeile 107: | Zeile 107: | ||
- | < | + | < |
++++Lösungen Aufgaben A| | ++++Lösungen Aufgaben A| | ||
=== A1 === | === A1 === | ||
Zeile 280: | Zeile 280: | ||
Zwei Spielerinnen würfeln abwechslungsweise (eine mit linkem, eine mit rechtem Knopf). Es wird immer die jeweils gewürfelte Zahl angezeigt. Im Hintergrund werden für beide Spielerinnen diese Werte aufsummiert. Wer zuerst die Summe 42 (oder mehr) erreicht hat, hat gewonnen. Von dieser Spielerin wird dann das Lieblingstier angezeigt. | Zwei Spielerinnen würfeln abwechslungsweise (eine mit linkem, eine mit rechtem Knopf). Es wird immer die jeweils gewürfelte Zahl angezeigt. Im Hintergrund werden für beide Spielerinnen diese Werte aufsummiert. Wer zuerst die Summe 42 (oder mehr) erreicht hat, hat gewonnen. Von dieser Spielerin wird dann das Lieblingstier angezeigt. | ||
- | < | + | < |
++++Lösungen Aufgaben B| | ++++Lösungen Aufgaben B| | ||
Zeile 360: | Zeile 360: | ||
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 (Advanced) | + | === Aufgabe C4 === |
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. 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 381: | Zeile 381: | ||
Tipp 2: Verwende die Funktion '' | Tipp 2: Verwende die Funktion '' | ||
- | < | + | < |
++++Lösungen Aufgaben C| | ++++Lösungen Aufgaben C| | ||
=== C1 === | === C1 === | ||
Zeile 506: | Zeile 506: | ||
=== Aufgabe E3 === | === Aufgabe E3 === | ||
- | Schreibe ein Programm, das die Umgebungslautstärke auf dem Display angezeigt (`microphone.sound_level()` - [[https:// | + | Schreibe ein Programm, das die Umgebungslautstärke auf dem Display angezeigt (`microphone.sound_level()` - [[https:// |
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
<code python> | <code python> | ||
Zeile 534: | Zeile 534: | ||
</ | </ | ||
++++ | ++++ | ||
+ | ++++Als Equalizer| | ||
+ | <code python> | ||
+ | from microbit import * | ||
+ | |||
+ | |||
+ | while True: | ||
+ | # Sound level from 0..250 | ||
+ | level = microphone.sound_level() | ||
+ | # How many leds do we light up? | ||
+ | leds = int(5 * level / 250) | ||
+ | # How bright ist the last led? | ||
+ | brightness = level % 10 | ||
+ | |||
+ | for x in range(5): | ||
+ | for y in range(5): | ||
+ | if x < 4: | ||
+ | display.set_pixel(x, | ||
+ | elif 4-y < leds: | ||
+ | display.set_pixel(x, | ||
+ | elif 4-y == leds: | ||
+ | display.set_pixel(x, | ||
+ | else: | ||
+ | display.set_pixel(x, | ||
+ | |||
+ | sleep(200) | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
</ | </ | ||
Zeile 539: | Zeile 567: | ||
Schreibe ein Programm, um Musik abzuspielen. Verwende das `pin_logo`, `pin1` und `pin2` als berührungsempfindlicher Sensor (`pin1.set_touch_mode(pin1.CAPACITIVE)`). Wieviele Kombinationen der drei Pins gibt es? Das sollte für eine [[wpde> | Schreibe ein Programm, um Musik abzuspielen. Verwende das `pin_logo`, `pin1` und `pin2` als berührungsempfindlicher Sensor (`pin1.set_touch_mode(pin1.CAPACITIVE)`). Wieviele Kombinationen der drei Pins gibt es? Das sollte für eine [[wpde> | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
<code python> | <code python> | ||
Zeile 661: | Zeile 689: | ||
In einer früheren Aufgabe hast du Schere-Stein-Papier bereits einmal programmiert. Programmiere es nun so (um), dass die beiden Spieler: | In einer früheren Aufgabe hast du Schere-Stein-Papier bereits einmal programmiert. Programmiere es nun so (um), dass die beiden Spieler: | ||
- | < | + | < |
++++Lösungen Aufgaben F| | ++++Lösungen Aufgaben F| | ||
=== F1 === | === F1 === | ||
Zeile 821: | Zeile 849: | ||
Schreibe ein Programm, das das Display heller werden lässt, je näher der Maqueen zu einem Objekt ist. Betrachte zuerst den Beispiel-Code in der Theorie zum [[gf_informatik: | Schreibe ein Programm, das das Display heller werden lässt, je näher der Maqueen zu einem Objekt ist. Betrachte zuerst den Beispiel-Code in der Theorie zum [[gf_informatik: | ||
- | * Das Programm soll für einen Distanz-Bereich zwischen 0 und 9 Dezimetern funktionieren. | + | * Das Programm soll für einen Distanz-Bereich zwischen 0 und 9 Dezimetern |
* Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. | * Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. | ||
Zeile 867: | Zeile 895: | ||
* Button B: fährt nach rechts (wenn Touch Logo gleichzeitig gedrückt) | * Button B: fährt nach rechts (wenn Touch Logo gleichzeitig gedrückt) | ||
- | < | + | < |
++++Lösungen| | ++++Lösungen| | ||
=== G1 === | === G1 === | ||
Zeile 899: | Zeile 927: | ||
chassis.stop() | chassis.stop() | ||
</ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | <nodisp 1> | ||
+ | ++++Lösungen| | ||
=== G3 === | === G3 === |