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-09-01 10:34] – [Aufgabe C4 (Advanced)] hof | gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2025-09-23 12:14] (aktuell) – hof | ||
---|---|---|---|
Zeile 262: | Zeile 262: | ||
Tipps: | Tipps: | ||
* Definiere zuerst Bilder für die sechs Seiten des Würfels. | * Definiere zuerst Bilder für die sechs Seiten des Würfels. | ||
- | * Verwende das '' | + | * Verwende das '' |
{{ : | {{ : | ||
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 508: | Zeile 508: | ||
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> | ||
from microbit import * | from microbit import * | ||
+ | |||
while True: | while True: | ||
- | # Sound level from 0..250 | + | # Sound level from 0..255 |
level = microphone.sound_level() | level = microphone.sound_level() | ||
- | # How many leds do we light up? | + | # How bright |
- | | + | |
- | # How bright ist the last led? | + | |
- | brightness = level % 10 | + | |
for x in range(5): | for x in range(5): | ||
for y in range(5): | for y in range(5): | ||
- | | + | display.set_pixel(x, |
- | if value < leds: | + | |
- | display.set_pixel(x, | + | |
- | elif value == leds: | + | |
- | | + | |
- | else: | + | |
- | display.set_pixel(x, | + | |
sleep(10) | sleep(10) | ||
</ | </ | ||
Zeile 550: | Zeile 542: | ||
for y in range(5): | for y in range(5): | ||
if x < 4: | if x < 4: | ||
+ | # Copy value from next column, such that the columns | ||
+ | # scroll from right to left side of display. | ||
display.set_pixel(x, | display.set_pixel(x, | ||
elif 4-y < leds: | elif 4-y < leds: | ||
+ | # In the rightmost column, draw the bar for the current | ||
+ | # volume. | ||
display.set_pixel(x, | display.set_pixel(x, | ||
elif 4-y == leds: | elif 4-y == leds: | ||
+ | # Top non-dark pixel of the bar is dimmed according to fractional | ||
+ | # volume. | ||
display.set_pixel(x, | display.set_pixel(x, | ||
else: | else: | ||
+ | # The top pixels of the last column are black (cleared) | ||
display.set_pixel(x, | display.set_pixel(x, | ||
Zeile 567: | Zeile 566: | ||
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 689: | Zeile 688: | ||
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 849: | Zeile 848: | ||
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 895: | Zeile 894: | ||
* 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 927: | Zeile 926: | ||
chassis.stop() | chassis.stop() | ||
</ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | <nodisp 2> | ||
+ | ++++Lösungen| | ||
=== G3 === | === G3 === |