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 [2023-09-18 06:42] – [Aufgabe G1: Figur abfahren] hof | gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2024-09-30 07:54] (aktuell) – [Aufgabe G6 (Medium): Remote Control] hof | ||
---|---|---|---|
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 492: | Zeile 492: | ||
* shake | * shake | ||
* freefall | * freefall | ||
+ | |||
+ | |||
==== Aufgaben E (Audio) ==== | ==== Aufgaben E (Audio) ==== | ||
Zeile 504: | 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 532: | 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) | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
</ | </ | ||
+ | |||
=== Zusatzaufgabe E4: Mini-Keyboard === | === Zusatzaufgabe E4: Mini-Keyboard === | ||
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 658: | 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 815: | Zeile 846: | ||
* Studiere auf jeden Fall die **Theorie** zum [[gf_informatik: | * Studiere auf jeden Fall die **Theorie** zum [[gf_informatik: | ||
- | === Aufgabe G0: Distanzmesser === | + | === Aufgabe G0: Distanzmesser |
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 864: | 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 896: | Zeile 927: | ||
chassis.stop() | chassis.stop() | ||
</ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | <nodisp 1> | ||
+ | ++++Lösungen| | ||
=== G3 === | === G3 === |