Inhaltsverzeichnis

Micro:Bit Aufgaben

Informationen

Editor:

Bemerkungen:

1. Aufgaben A (Display)

Relevante Theorie:

Aufgabe A1

Schreibe ein Programm, das eine Ente auf dem Display zeigt.

Aufgabe A2

Schreibe ein Programm, das eine Animation aus fünf Bildern deiner Wahl zeigt. Jedes Bild soll eine Sekunde lang angezeigt werden.

Tipps

Aufgabe A3

Basic

Das Display soll eine Animation zeigen, bei der das gesamte Display anfangs nur schwach, dann immer heller leuchtet. Erstelle dazu eine Liste aus selbst erstellten Bildern. Verwende dazu die Image(...) Funktion. Recherchiere selbst dazu, wie man diese verwendet.

Advanced

Tipps

Aufgabe A4 (Zusatzaufgabe: Advanced)

Mit set_pixel() und get_pixel() kannst du einzelne Pixel direkt ansteuern (siehe Hier findest du alle Funktionen, mit denen du das Display ansteuern kannst.)

Ein einzelnes Pixel soll nun die ganze LED-Matrix ablaufen: oberste Zeile von links nach rechts, dann zweite Zeile von links nach rechts …

2. Aufgaben B (Tasten)

Relevante Theorie:

Aufgabe B1

Drückt man die linke Taste, wird ein Herz (oder irgend ein anderes Bild) angezeigt. Drückt man die rechte Taste, so erlöscht das Bild.

Aufgabe B2

Würfeln: Programmiere einen digitalen Würfel. Drückt man eine der beiden Tasten, so wird eine Zufallszahl (1-6) bestimmt und das entsprechende Würfelbild angezeigt.

Tipps:

Spiele mit einer Kolleg:in (die den Würfel auch bereits korrekt programmiert hat) das Leiterspiel. Spiele maximal 5 Minuten. Klicke auf das Bild, damit es gross angezeigt wird.

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.

Ist es hier besser, is_pressed() or get_presses() zu verwenden? Warum?

Aufgabe B4 (Zusatzaufgabe, mittel)

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.

3. Aufgaben C (Beschleunigungssensor)

Relevante Theorie:

Aufgabe C1

Schreibe ein Programm, dass eine Ente anzeigt, wenn du den Microbit schüttelst und ein Haus, wenn du ihn nach oben drehst.

Aufgabe C2

Probiere den Code für den Magic8Ball unter im Link hier aus:

Aufgabe C3

Schreibe ein Würfel-Programm, das immer dann, wenn der Microbit geschüttelt wird, eine zufällige Zahl zwischen 1 und 6 anzeigt. Nach einer Sekunde soll das Display wieder dunkel werden. Benutze die Funktion randint() aus dem Modul random.

Aufgabe C4

Speichere das Programm aus Aufgabe C3 unter neuem Namen und ändere es:

Aufgabe C5

Folgende Code-Zeilen erstellen eine Liste aus 10 Bildern unterschiedlicher Helligkeit:

my_images = []
 
for i in range(0, 10, 1):
    my_img = Image()
    my_img.fill(i)
    my_images.append(my_img)

In der For-Schleife geschieht Folgendes für jeden Wert von i, also von 0 bis 9, also zehn mal:

Schreibe ein Programm, in das du obigen Code hinein kopierst, das die Bilder mit 200 Milliskeunden Verzögerung nacheinander endlos anzeigt.

Aufgabe C6

Speichere das Programm aus Aufgabe C5 unter neuem Namen und ändere es:

Aufgabe C7 (Knacknuss)

Speichere das Programm aus Aufgabe C6 unter neuem Namen und ändere es:

4. Aufgaben D (Sounds)

Relevante Theorie:

Aufgabe D1

Schreibe ein Programm, dass die Melodie Frère Jacques spielt (mit Pause zwischen gleichen Tönen), solange du die A-Taste gedrückt hältst:

Aufgabe D2

Speichere dein Programm aus Aufgabe D1 unter neuem Namen und erweitere es:

Jetzt kannst du versuchen, Frère Jacques mit andern im Kanon zu spielen.

Aufgabe D3

Speichere dein Programm aus Aufgabe D2 unter neuem Namen und erweitere es:

Aufgabe D4

Schreibe ein Programm, das einen Alarm-Ton erzeugt:

Aufgabe D5

Schreibe ein Programm, das einen Ton ausgibt, den du mit den Tasten einstellen kannst:

Aufgabe D6

Schreibe ein Programm, das optisch und akustisch auf Bewegungen reagiert:

Tipp: Wenn du dir vordefinierte Melodien kurz anhören möchtest, ohne jedes Mal ein neues Programm auf den Microbit zu laden, kannst du bei verbundenem Microbit im Mu Editor auf die Taste REPL drücken. Es erscheint ein Eingabefenster. Hier schreibst du Befehle direkt auf den Microbit: sobald du die Enter-Taste drückst, wird der Befehl ausgeführt: Zum Beispiel: music.play(music.BLUES). Probiere es aus!

Übrigens: REPL steht für Read-Evaluate-Print-Loop. Diese Funktion gibt es auch im Online-Editor über die Taste Open Serial.

Aufgabe D7 (Herausforderung)

Schreibe ein Programm, das die Cancan-Melodie (siehe unten) in unterschiedlichen Tempi spielt:

#Cancan by Jacques Offenbach:
melodyCancan = ['c4:16', 
                'd4:4', 'f4:4', 'e4:4', 'd4:4', 'g4:8', 'g4:8',
                'g4:4', 'a4:4', 'e4:4', 'f4:4', 'd4:8', 'd4:8',
                'd4:4', 'f4:4', 'e4:4', 'd4:4', 
                'c4:4', 'c5:4', 'b4:4', 'a4:4',
                'g4:4', 'f4:4', 'e4:4', 'd4:4',
                'c4:16', 
                'd4:4', 'f4:4', 'e4:4', 'd4:4', 'g4:8', 'g4:8',
                'g4:4', 'a4:4', 'e4:4', 'f4:4', 'd4:8', 'd4:8',
                'd4:4', 'f4:4', 'e4:4', 'd4:4',
                'c4:4', 'g4:4', 'd4:4', 'e4:4', 
                'c4:8', 'c5:4', 'r:4']

Aufgabe D8 (Knacknuss)

Speichere dein Programm aus Aufgabe D7 unter neuem Namen und erweitere es: Zusätzlich zum Tempo soll nun auch die Tonlage verändert werden:

5. Aufgaben E (Radio)

Relevante Theorie:

Aufgabe E1

  1. Schreibe ein Programm zum Nachrichtenaustausch: Mit beiden Tasten und dem Touch-Logo sollen drei verschiedene Nachrichten versendet werden können: „yes“, „no“ und „maybe“.
  2. Weiter soll der Micro:Bit diese drei Nachrichten empfangen und anzeigen können: Wird 'yes' empfangen, wird ein „Y“ angezeigt usw.
  3. Einige dich mit deiner Kolleg:in auf eine eigene Gruppe oder Kanal, über den ihr kommunizieren wollt. Stellt euch nun mündliche Fragen und antwortet euch gegenseitig mit dem Micro:Bit.

Aufgabe E2

Speichert das Programm aus Aufgabe E1 unter neuem Namen und ändert es: Die Nachrichten sollen nun nicht mehr am Display angezeigt, sondern über das Speech-Modul gesprochen werden. Das ist nun nicht mehr so geheim.

Aufgabe E3

Schreibt ein Programm, mit dem das Display des anderen Microbit leuchtet, solange ihr die Taste des einen Microbit gedrückt hält. So könntet ihr Morsezeichen übermitteln.

Aufgabe E4 (Beacon 1)

Über BLE kann ein Microbit als Beacon (engl. für Leuchtturm oder Blinklicht) fungieren. Ein BLE-Beacon sendet regelmässig eine einfache Nachricht. Der Empfänger kann dann die Signalstärke dieser Nachricht messen: Je näher der Beacon, desto stärker das Signal. Auf diese Weise kannst du feststellen, ob ein bestimmter Beacon in der Nähe ist.

Schreibt zwei Programme, eines für den Beacon (Sender) und eines für den Empfänger:

Testet die beiden Programme und notiert euch die Werte für die grösste und die kleinste Entfernung zwischen Beacon und Empfänger. Die Werte könnt ihr ansehen, wenn ihr im Mu Editor die Taste Plotter und dann REPL drückt. Zum Testen des Programms könnt ihr einen Microbit in ein Maqueen-Fahrwerk stecken und ihn so ohne Kabel mit Strom versorgen.

Stellt sicher, dass alle von euch beide Programme verstehen!

Aufgabe E5 (Beacon 2)

Jetzt kennt ihr die Werte für das stärkste und für das schwächste Signal. Schreibt nun ein Programm für den Empfänger, das die Nähe de Beacons akkustisch angibt.

Aufgabe E6 (Anonyme Umfragen)

Schreibt ein Programm, mit dem ihr anonyme Umfragen durchführen könnt.

Aufgabe E7 (Knacknuss)

Das Programm aus Aufgabe E erlaubt, dass mehrere Nachrichten vom selben Microbit gezählt werden. Bei einer Abstimmung kann so das Resultat verfälscht werden. Ändere das Programm so, dass jeder Microbit pro Umfrage nur einmal abstimmen kann – entweder ja oder nein. Teste das Programm erst mit wenigen und dann mit der ganzen Klasse.

Lösungen

Lösungen Aufgaben A

Lösungen Aufgaben B

Lösungen Aufgaben C

Lösungen Aufgaben D