Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2024-08-23 12:13] hofgf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2025-08-16 07:29] (aktuell) – [Aufgabe B2] hof
Zeile 107: Zeile 107:
  
  
-<nodisp 1>+<nodisp 2>
 ++++Lösungen Aufgaben A| ++++Lösungen Aufgaben A|
 === A1 === === A1 ===
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 ''random''-Modul, um eine random Zahl (resp. random Bild) zu bestimmen.+   * Verwende das ''random''-Modul, um eine random Zahl (resp. random Bild) zu bestimmen ([[gf_informatik:programmieren_ii#zufallszahlen|1M Dossier zu Zufallszahlen]]).
  
 {{ :gf_informatik:wuerfel.jpg?100 |}} {{ :gf_informatik:wuerfel.jpg?100 |}}
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. Erweiterung: 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 506: Zeile 506:
  
 === Aufgabe E3 === === Aufgabe E3 ===
-Schreibe ein Programm, das die Umgebungslautstärke auf dem Display angezeigt (`microphone.sound_level()` - [[https://microbit.org/get-started/user-guide/python/#microphone|Dokumentation]]). Je lauter, desto mehr und hellere Punkte sollen leuchten. Wie reagiert der Microbit auf das Programm aus E1 / E2, das auf einem anderen Gerät abgespielt wird?+Schreibe ein Programm, das die Umgebungslautstärke auf dem Display angezeigt (`microphone.sound_level()` - [[https://microbit-micropython.readthedocs.io/en/v2-docs/microphone.html|Dokumentation]]). Je lauter, desto mehr und hellere Punkte sollen leuchten. Wie reagiert der Microbit auf das Programm aus E1 / E2, das auf einem anderen Gerät abgespielt wird?
  
 <nodisp 2> <nodisp 2>
Zeile 534: Zeile 534:
 </code> </code>
 ++++ ++++
 +++++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, y, display.get_pixel(x+1,y))
 +            elif 4-y < leds:
 +                display.set_pixel(x, y, 9)
 +            elif 4-y == leds:
 +                display.set_pixel(x, y, brightness)
 +            else:
 +                display.set_pixel(x, y, 0)
 + 
 +    sleep(200)
 +</code>
 +++++
 +
 </nodisp> </nodisp>
  
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:microbit_programmieren_grundlagen#distanzmesser|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:microbit_programmieren_grundlagen#distanzmesser|Distanzmesser]].
-  * 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 (1 Dezimeter = 10cm) funktionieren.
   * 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 899: Zeile 927:
         chassis.stop()         chassis.stop()
 </code> </code>
 +++++
 +</nodisp>
 +<nodisp 2>
 +++++Lösungen|
  
 === G3 === === G3 ===
  • gf_informatik/microbit_und_roboter_programmieren/aufgaben_hof.1724415200.txt.gz
  • Zuletzt geändert: 2024-08-23 12:13
  • von hof