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-12-03 14:10] – [Lösungen] gra | gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2026-09-09 08:22] (aktuell) – [Lösungen] hof | ||
|---|---|---|---|
| Zeile 243: | Zeile 243: | ||
| ==== Aufgaben B (Tasten) ==== | ==== Aufgaben B (Tasten) ==== | ||
| - | Studiere erst den Abschnitt [[..: | + | Studiere erst den Abschnitt [[..: |
| === Aufgabe B1 – Bild anzeigen und löschen === | === Aufgabe B1 – Bild anzeigen und löschen === | ||
| Zeile 271: | Zeile 271: | ||
| - | === Aufgabe B3 – Fotostreke | + | === Aufgabe B3 – Fotostrecke |
| Befülle eine Liste mit einigen Bildern. Mit der linken und rechten Taste soll man die Bilder durchgehen können. Ist man am Ende der Liste angelangt, passiert nichts, wenn man weiter drückt. | Befülle eine Liste mit einigen Bildern. Mit der linken und rechten Taste soll man die Bilder durchgehen können. Ist man am Ende der Liste angelangt, passiert nichts, wenn man weiter drückt. | ||
| Zeile 484: | Zeile 484: | ||
| === Aufgabe C1 – Umrechnen === | === Aufgabe C1 – Umrechnen === | ||
| - | Rechenaufgabe (ohne micro:bit). Stelle dir vor, ein vom micro: | + | Rechenaufgabe (ohne micro:bit). Stelle dir vor, die vom micro: |
| 1. Wie vielen $g$'s entspricht dies? | 1. Wie vielen $g$'s entspricht dies? | ||
| Zeile 532: | Zeile 532: | ||
| 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. | ||
| - | Tipp 1: Verwende evtl. deine Funktion aus A3 (Advanced 1), mit der du ein Bild von gewünschter Helligkeit erstellen kannst. | + | Tipp 1: Verwende evtl. deine Funktion aus A5, mit der du ein Bild von gewünschter Helligkeit erstellen kannst. |
| Tipp 2: Verwende die Funktion '' | Tipp 2: Verwende die Funktion '' | ||
| Zeile 538: | Zeile 538: | ||
| === Lösungen === | === Lösungen === | ||
| - | < | + | < |
| ++++Lösungen Aufgaben C| | ++++Lösungen Aufgaben C| | ||
| === C1 === | === C1 === | ||
| Zeile 648: | Zeile 648: | ||
| Studiere zuerst den kurzen [[gf_informatik: | Studiere zuerst den kurzen [[gf_informatik: | ||
| - | === Aufgabe D1 === | + | === Aufgabe D1 – Ente oder Haus === |
| Schreibe ein Programm, das eine Ente anzeigt, wenn du den Microbit schüttelst und ein Haus, wenn du ihn nach oben drehst. | Schreibe ein Programm, das eine Ente anzeigt, wenn du den Microbit schüttelst und ein Haus, wenn du ihn nach oben drehst. | ||
| Zeile 690: | Zeile 690: | ||
| === Lösungen === | === Lösungen === | ||
| - | < | + | < |
| ++++Lösungen Aufgaben D| | ++++Lösungen Aufgaben D| | ||
| Zeile 745: | Zeile 745: | ||
| 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 803: | Zeile 803: | ||
| 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 896: | Zeile 896: | ||
| * Mit den beiden Knöpfen soll das Alphabet durchgegangen werden können. | * Mit den beiden Knöpfen soll das Alphabet durchgegangen werden können. | ||
| * Mit dem Touch-Logo soll der Buchstabe versendet werden können. | * Mit dem Touch-Logo soll der Buchstabe versendet werden können. | ||
| - | * Sobald ein Buchstabe empfangen wurde, soll er drei mal hintereinander | + | * Sobald ein Buchstabe empfangen wurde, soll er drei mal hintereinander |
| === Aufgabe F6 – Abstimmen === | === Aufgabe F6 – Abstimmen === | ||
| Zeile 940: | Zeile 940: | ||
| === Lösungen === | === Lösungen === | ||
| - | < | + | < |
| ++++Lösungen Aufgaben F| | ++++Lösungen Aufgaben F| | ||
| === F1 === | === F1 === | ||
| Zeile 1019: | Zeile 1019: | ||
| if message_full: | if message_full: | ||
| text = message_full[0] | text = message_full[0] | ||
| - | signal_strength = abs(message_full[1]) | + | signal_strength = message_full[1] |
| print(signal_strength) | print(signal_strength) | ||
| - | if signal_strength < 35: | + | if -35 < signal_strength: |
| display.show(Image.HAPPY) | display.show(Image.HAPPY) | ||
| - | elif signal_strength < 55: | + | elif -55 < signal_strength: |
| display.show(Image.MEH) | display.show(Image.MEH) | ||
| else: | else: | ||
| Zeile 1033: | Zeile 1033: | ||
| === F5 === | === F5 === | ||
| <code python> | <code python> | ||
| + | from microbit import * | ||
| + | import radio | ||
| + | alphabet = ' | ||
| + | |||
| + | radio.on() | ||
| + | # radio.config(group = 43) # evtl. eigene Gruppe festlegen. | ||
| + | |||
| + | i = 0 | ||
| + | while True: | ||
| + | display.show(alphabet[i]) | ||
| + | if button_a.was_pressed(): | ||
| + | i = (i - 1) % len(alphabet) | ||
| + | if button_b.was_pressed(): | ||
| + | i = (i + 1) % len(alphabet) | ||
| + | if pin_logo.is_touched(): | ||
| + | radio.send(alphabet[i]) | ||
| + | sleep(200) | ||
| + | |||
| + | message_in = radio.receive() | ||
| + | if message_in: | ||
| + | for n in range(3): | ||
| + | display.show(message_in) | ||
| + | sleep(300) | ||
| + | display.clear() | ||
| + | sleep(300) | ||
| </ | </ | ||
| Zeile 1143: | Zeile 1168: | ||
| * Studiere auf jeden Fall die **Theorie** zum [[gf_informatik: | * Studiere auf jeden Fall die **Theorie** zum [[gf_informatik: | ||
| - | === Aufgabe G0 – Distanzmesser (schwieriger als gedacht) === | ||
| - | |||
| - | 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 (1 Dezimeter = 10cm) funktionieren. | ||
| - | * Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. | ||
| === Aufgabe G1 – Figur abfahren === | === Aufgabe G1 – Figur abfahren === | ||
| Zeile 1165: | Zeile 1185: | ||
| Programmiere einen Staubsaugroboter: | Programmiere einen Staubsaugroboter: | ||
| + | |||
| + | === Aufgabe G4 – Remote Control (Advanced) === | ||
| + | |||
| + | Aufgabe für 2 Personen: | ||
| + | Schreiben Sie eine Fernsteuerung für den Maqueen. Der eine Microbit sendet Signale (links / rechts / geradeaus), der andere empfängt diese und setzt sie in Steuersignale für den Roboter um. | ||
| + | |||
| + | Mögliche Steuerbelegung: | ||
| + | * Touch Logo: muss berührt werden, um zu fahren; ohne Buttons fährt er geradeaus. | ||
| + | * Button A: fährt nach links (wenn Touch Logo gleichzeitig gedrückt) | ||
| + | * Button B: fährt nach rechts (wenn Touch Logo gleichzeitig gedrückt) | ||
| Probiere den Roboter aus - würde er funktionieren? | Probiere den Roboter aus - würde er funktionieren? | ||
| + | === Aufgabe G5 – Distanzmesser (Advanced) === | ||
| + | |||
| + | 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 (1 Dezimeter = 10cm) funktionieren. | ||
| + | * Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. | ||
| - | === Aufgabe | + | === Aufgabe |
| Verwende deine Kenntnisse zur Funk-Steuerung, | Verwende deine Kenntnisse zur Funk-Steuerung, | ||
| Zeile 1175: | Zeile 1210: | ||
| * der Roboter soll mittels Radio andere Roboter finden und möglichst nahe zu ihnen fahren. Sind die zwei Roboter nah genug, sollen sie anhalten und ihre Bottom-LEDS auf die gleiche Farbe einstellen. | * der Roboter soll mittels Radio andere Roboter finden und möglichst nahe zu ihnen fahren. Sind die zwei Roboter nah genug, sollen sie anhalten und ihre Bottom-LEDS auf die gleiche Farbe einstellen. | ||
| - | === Aufgabe | + | === Aufgabe |
| Verwende den Bodensensor, | Verwende den Bodensensor, | ||
| Zeile 1182: | Zeile 1217: | ||
| * Wie einer schmalen Linie (1cm)? | * Wie einer schmalen Linie (1cm)? | ||
| - | === Aufgabe G6 – Remote Control (Medium) === | ||
| - | Aufgabe für 2 Personen: | + | < |
| - | Schreiben Sie eine Fernsteuerung für den Maqueen. Der eine Microbit sendet Signale (links / rechts / geradeaus), der andere empfängt diese und setzt sie in Steuersignale für den Roboter um. | + | |
| - | + | ||
| - | Mögliche Steuerbelegung: | + | |
| - | * Touch Logo: muss berührt werden, um zu fahren; ohne Buttons fährt er geradeaus. | + | |
| - | * Button A: fährt nach links (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 1226: | Zeile 1252: | ||
| ++++ | ++++ | ||
| </ | </ | ||
| - | < | + | < |
| ++++Lösungen| | ++++Lösungen| | ||