Bit:balance:board: Unterschied zwischen den Versionen
Zeile 125: | Zeile 125: | ||
* Passe die Schwierigkeit so an, dass du das 5 Sekunden lange Balancieren sicher schaffst. Mache es anschließend ein bisschen schwerer. | * Passe die Schwierigkeit so an, dass du das 5 Sekunden lange Balancieren sicher schaffst. Mache es anschließend ein bisschen schwerer. | ||
* [[Animiertes_Micro-Buch|Animation]] statt des statischen Pokalbilds | * [[Animiertes_Micro-Buch|Animation]] statt des statischen Pokalbilds | ||
* Zusätzlich | * Zusätzlich zum visuellen Feedback (Pfeile und Pokal) [[Datei:Iconmonstr-arrow-20re-120.png|20px]] auditives Feedback (Soundeffekt). Verwende dazu den BBC [[Microbit-v2|micro:bit V2]] oder erweitere deinen V1 mit einem Lautsprecher. | ||
<htmlet>makecode_embed</htmlet> | <htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 17. Mai 2022, 07:39 Uhr
Wer hält die Balance?
Emilia und Max sind begeisterte Surfer. Im Winter trainieren sie ihren Gleichgewichtssinn zuhause auf einem Balanceboard (siehe Bilder rechts). Emilia hat sich ein spezielles gekauft, Max verwendet einfach sein altes Longboard und eine Schaumstoff-Gymnastikrolle seiner Mama.
Um das Training spannender zu machen, überlegt sich Emilia etwas.
"Max, ich fordere dich zu einem Wettbewerb heraus!", sagt sie. "Wer schafft es als Erster 5 Sekunden die Balance - also das Brett waagrecht - zu halten?"
"Wie willst du das denn so genau messen?", erwidert Max.
"Ich hab da schon eine Idee..."
Emilia weiß, dass der BBC micro:bit einen Neigungssensor besitzt und beginnt gleich zu recherchieren.
So sieht Emilias und Max’ bit:balance:board aus:
Der Neigungssensor im BBC 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 sich der BBC micro:bit nach rechts Richtung +x neigt, 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 BBC 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 sich 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 BBC micro:bit kann sehr schnell diese Werte überprüfen und zählen, daher muss man 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/ein Rundholz)
- ein Stück (doppelseitiges) Klebeband, um den BBC micro:bit am Balanceboard zu befestigen
- Papier-Batteriehalter
Zeitaufwand
- ca. 1 Schulstunde zur Programmierung
- ca. 1 Schulstunde für das Bauen und anschließende Spielen und Experimentieren
Schwierigkeitsgrad
Kompetenzen
Das solltest du bereits können:
- mit negativen und positiven Zahlen umgehen (Mathematik)
- Größer (>) und Kleiner (<)-Zeichen kennen und anwenden können (Mathematik)
Du lernst...
- einen einfachen Zähler als Variable zu erstellen
- mit der Dauerhaft-Schleife zu arbeiten
- auf bestimmte Werte des Neigungssensors (Beschleunigungssensors) zu reagieren
- eine Abfrage/Bedingte Anweisung zu erstellen, ob der Zähler größer oder kleiner als ein bestimmter Wert ist
Unterrichtsfächer
Werkerziehung, Bewegung & Sport, Informatik
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ereignissteuerung, Schleife, Variablen, Boolean
Eckpfeiler zur Programmierung
- Wenn der BBC 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: Also:
wenn x > 100 dann
sonst wenn x < -100
ansonsten
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 langem Balancieren gewinnt?
- Was passiert, wenn man die 1-Sekunden-Pause am Ende der Dauerhaft-Schleife entfernt? Probiere es aus!
Weiterentwicklung
- Passe die Schwierigkeit so an, dass du das 5 Sekunden lange Balancieren sicher schaffst. Mache es anschließend ein bisschen schwerer.
- Animation statt des statischen Pokalbilds
- Zusätzlich zum visuellen Feedback (Pfeile und Pokal) auditives Feedback (Soundeffekt). Verwende dazu den BBC micro:bit V2 oder erweitere deinen V1 mit einem Lautsprecher.