Bit:balance:board
Wer hält die Balance?
Emilia und Max sind begeisterte Surfer. Im Winter trainieren sie ihren Gleichgewichtssinn zuhause auf einem balance board (siehe Bilder rechts). Emilia hat sich ein spezielles gekauft, Max verwendet einfach sein altes Longboard und eine Schaumstoff-Gymnastikrolle seiner Mama. Max und Emilia möchten einen kleinen Wettbewerb machen, wer es schafft 5 Sekunden die Balance - also das Brett waagrecht - zu halten. Emilia weiß, dass der micro:bit einen Neigungssensor eingebaut hat und beginnt dazu gleich zu recherchieren.
So sieht Emilia und Max’s bit:balance:board aus:
Der Neigungssensor im micro:bit wird auch Beschleunigungssensor genannt und funktioniert wie eine Wasserwaage. Er hat drei Achsen: x , y und z. Für dieses Projekt brauchen wir nur die x-Achse: Wenn der micro:bit nach rechts Richtung ‘‘‘+x‘‘‘ neigst, wird der gemessene x-Wert immer größer. Wenn du ihn nach links Richtung ‘‘‘–x‘‘‘ neigst, wird der gemessene x-Wert immer kleiner. Der größte Wert von x ist 1023, der kleinste -1023.
Aufgabenstellung
- Wenn der micro:bit eingeschaltet wird, wird die Variable ‘‘‘zähler‘‘‘ auf 0 gesetzt.
- Es wird dann dauerhaft überprüft, ob das Balanceboard zu weit rechts, zu weit links oder schön waagrecht ist.
- Wenn man zu weit rechts oder links neigt, wird der ‘‘‘zähler‘‘‘ wieder auf 0 gesetzt
- Wenn man das Brett schön waagrecht hält, erhöht sich der ‘‘‘zähler‘‘‘ um 1 und der ‘‘‘zähler‘‘‘ wird angezeigt.
- Wenn der ‘‘‘zähler‘‘‘ 5 erreicht hat, hat man gewonnen und ein Pokal wird 5 Sekunden gezeigt.
- Wichtig: Der micro:bit kann sehr schnell diese Werte überprüfen und zählen, daher muss am Ende der dauerhaft-Schleife immer eine Sekunde pausieren.
Materialien
- BBC micro:bit (mit USB-Kabel und Batterie)
- ein Balanceboard (oder ein altes Longboard/Skateboard und eine Gymnastikrolle/Rundholz)
Zeitaufwand
- ca. 1 Schulstunde zur Programmierung
- ca. 1 Schulstunde für das anschließende Spielen und Experimentieren
Schwierigkeitsgrad
Kompetenzen
Du lernst
- einen einfachen Zähler zu erstellen
- auf bestimmte Werte des Neigungssensors (Beschleunigungssensor) zu reagieren
- eine Abfrage zu erstellen, ob der Zähler schon einen bestimmten Wert erreicht hat
Unterrichtsfächer
Informatik
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ereignissteuerung, Schleife, Variablen, Boolean
Eckpfeiler zur Programmierung
- Wenn der micro:bit eingeschaltet wird, wird die Variable ‘‘‘zähler‘‘‘ auf 0 gesetzt.
- In einer dauerhaft-Schleife wird der x-Wert des Beschleunigungssensors abgefragt.
- Wenn dieser
- größer als 100 ist, wird ein Pfeil auf dem Display dargestellt, der anzeigt, in welche Richtung man sich neigen muss, um waagrecht zu sein (also nach links). Der ‘‘‘zähler‘‘‘ wird auf 0 zurückgesetzt.
- kleiner als -100 ist, zeigt der Pfeil in die andere Richtung und der ‘‘‘zähler‘‘‘ wird auch auf 0 zurückgesetzt.
- Ansonsten (also wenn der x-Wert zwischen -100 und 100 ist) soll der ‘‘‘zähler‘‘‘ um 1 erhöht werden und am Display angezeigt werden.
<spoiler text="Hinweis"> Verwende zur Abfrage von x>100 den ersten Block, für x<-100 den zweiten und dann den ansonsten-Block:
basic.forever(function () { if (true) { } else if (false) { } else { } })
</spoiler>
- Danach wird überprüft ob der ‘‘‘zähler‘‘‘ 5 ist.
- Wenn dem so ist, wird ein Pokal-Symbol am Display angezeigt, 5 Sekunden pausiert und dann (damit das Spiel wieder von vorne losgehen kann) der ‘‘‘zähler‘‘‘ wieder auf 0 gesetzt.
- Am Ende der dauerhaft-Schleife soll das Programm eine Sekunde (1000 ms) pausieren.
Schritt für Schritt zur Lösung
(Das Schritt-für-Schritt Tutorial für dieses Projekt findest du [# hier].)
Präsentation und Reflexion
- Stelle dein Ergebnis vor! Was ist dir besonders gut gelungen?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest du? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Versuche die Antworten auf folgende Fragen durch Experimentieren und Internet-Recherche herauszufinden.
- Welche zwei Werte musst du ändern, damit es weniger schwierig ist die Balance zu halten?
- Welchen Wert musst du ändern, damit man erst mit 10 Sekunden balancieren gewinnt?
- Was passiert, wenn man die 1-Sekunden-Pause am Ende der dauerhaft-Schleife entfernt? Probiere es aus!
Weiterentwicklung
- Passe die Schwierigkeit des Balancierens so an, dass es für dich zwar schwierig, aber doch machbar ist die 5 Sekunden zu erreichen.
- Füge statt dem statischen Pokalbild eine Animation ein
- Gib zusätzlich zu dem visuellen Feedback (Pfeile und Pokal) auch ein auditives Feedback (Soundeffekt). Verwende dazu den micro:bit v2 oder erweitere deinen v1 mit einem Lautsprecher.