Bit:balance:board: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Klemens.frick (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Martin.teufel (Diskussion | Beiträge)
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== [[Datei:Icon_story.png|20px|Icon]] Wer hält die Balance? ==
== [[Datei:Icon_story.png|20px|Icon]] Wer hält die Balance? ==
[[Datei: balanceboard.png|right|400px|link=| Balanceboard in Aktion]]
[[Datei: balanceboard.png|right|400px|link=| Balanceboard in Aktion]]
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.
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.


Max und Emilia möchten einen kleinen Wettbewerb machen, wer es schafft '''''5 Sekunden die Balance''''' - also das Brett waagrecht - zu halten.  
Um das Training spannender zu machen, überlegt sich Emilia etwas.


Emilia weiß, dass der micro:bit einen Neigungssensor eingebaut hat und beginnt dazu gleich zu recherchieren.
"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?"


So sieht Emilia und Max’s '''bit:balance:board''' aus:
"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:
[[Datei:balanceboard_microbit.png|400px|link=|]]
[[Datei:balanceboard_microbit.png|400px|link=|]]


Der Neigungssensor im micro:bit wird auch Beschleunigungssensor genannt und funktioniert wie eine Wasserwaage.
Der Neigungssensor im BBC micro:bit wird auch Beschleunigungssensor genannt und funktioniert wie eine Wasserwaage.


Er hat drei Achsen: x , y und z.
Er hat drei Achsen: x, y und z.


Für dieses Projekt brauchen wir nur die '''''x-Achse''''':
Für dieses Projekt brauchen wir nur die '''''x-Achse''''':
Zeile 18: Zeile 24:
[[Datei:microbit_x.png|400px|link=|]]
[[Datei:microbit_x.png|400px|link=|]]


Wenn der micro:bit nach rechts Richtung '''+x''' neigst, wird der gemessene x-Wert immer größer.
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.
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.
Der größte Wert von x ist 1023, der kleinste -1023.


== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung ==
== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung ==
* Wenn der micro:bit eingeschaltet wird, wird die Variable '''zähler''' auf 0 gesetzt.
* 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.
* 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 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 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.
* 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.
* 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.




Zeile 38: Zeile 43:
* BBC micro:bit (mit USB-Kabel und Batterie)
* BBC micro:bit (mit USB-Kabel und Batterie)
* ein Balanceboard (oder ein altes Longboard/Skateboard und eine Gymnastikrolle/ein Rundholz)
* ein Balanceboard (oder ein altes Longboard/Skateboard und eine Gymnastikrolle/ein Rundholz)
* ein Stück (doppelseitiges) Klebeband um den micro:bit am Balanceboard zu befestigen
* ein Stück (doppelseitiges) Klebeband, um den BBC micro:bit am Balanceboard zu befestigen
* Papier-[[Batteriehalter]]
* Papier-[[Batteriehalter]]


Zeile 52: Zeile 57:
Das solltest du bereits können:
Das solltest du bereits können:
* mit negativen und positiven Zahlen umgehen (Mathematik)
* mit negativen und positiven Zahlen umgehen (Mathematik)
* Größer ('''>''') und Kleiner ('''<''')-Zeichen kennen (Mathematik)
* Größer ('''>''') und Kleiner ('''<''')-Zeichen kennen und anwenden können (Mathematik)


Du lernst...
Du lernst...
* einen einfachen Zähler als [[Variable]] zu erstellen
* einen einfachen Zähler als [[Variable]] zu erstellen
* mit der Dauerhaft-[[Schleifen|Schleife]] zu arbeiten
* mit der Dauerhaft-[[Schleifen|Schleife]] zu arbeiten
* auf bestimmte Werte des Neigungssensors (Beschleunigungssensor) zu reagieren
* auf bestimmte Werte des Neigungssensors (Beschleunigungssensors) zu reagieren
* eine [[Bedingte_Anweisung|Abfrage/Bedingte Anweisung]] zu erstellen, ob der Zähler größer oder kleiner als ein bestimmter Wert ist
* eine [[Bedingte_Anweisung|Abfrage/Bedingte Anweisung]] zu erstellen, ob der Zähler größer oder kleiner als ein bestimmter Wert ist


Zeile 65: Zeile 70:


== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellungen ==
== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellungen ==
=== Erforderliche Programmierblöcke ===
[[Ereignissteuerung]], [[Schleifen#Befehlsblöcke|Schleife]], [[Variablen]], [[Boolean]]


=== Eckpfeiler zur Programmierung ===
=== Eckpfeiler zur Programmierung ===


* Wenn der micro:bit eingeschaltet wird, wird die Variable '''zähler''' auf 0 gesetzt.
* 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.
* In einer Dauerhaft-Schleife wird der x-Wert des Beschleunigungssensors abgefragt.
* Wenn dieser
* 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.
** 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.
** 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">
* 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:
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
 
<pre id="3">
<pre id="3">
basic.forever(function () {
basic.forever(function () {
Zeile 87: Zeile 103:
* Danach wird überprüft ob der '''zähler''' 5 ist.
* 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.
* 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.
* Am Ende der Dauerhaft-Schleife soll das Programm eine Sekunde (1000 ms) pausieren.
 


=== Schritt für Schritt zur Lösung ===
=== Schritt für Schritt zur Lösung ===
Zeile 102: Zeile 117:


<b>Versuche die Antworten auf folgende Fragen durch Experimentieren und Internet-Recherche herauszufinden.</b>
<b>Versuche die Antworten auf folgende Fragen durch Experimentieren und Internet-Recherche herauszufinden.</b>
* Welche zwei Werte musst du ändern, damit es weniger schwierig ist die Balance zu halten?
* 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?
* 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!
* Was passiert, wenn man die 1-Sekunden-Pause am Ende der Dauerhaft-Schleife entfernt? Probiere es aus!




== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
* Passe die Schwierigkeit so an, dass du die 5 Sekunden Balancieren 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.
* Statt dem statischen Pokalbild [[Datei:Iconmonstr-arrow-20re-120.png|20px]] [[Animiertes_Micro-Buch|Animation]]
* [[Animiertes_Micro-Buch|Animation]] statt des statischen Pokalbilds
* Zusätzlich zu dem visuellen Feedback (Pfeile und Pokal) [[Datei:Iconmonstr-arrow-20re-120.png|20px]] auditives Feedback (Soundeffekt). Verwende dazu den [[Microbit-v2|micro:bit v2]] oder erweitere deinen v1 mit einem Lautsprecher.
* 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

Icon Wer hält die Balance?

Balanceboard in Aktion
Balanceboard in Aktion

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.

Icon 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.


Icon 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

Icon Zeitaufwand

  • ca. 1 Schulstunde zur Programmierung
  • ca. 1 Schulstunde für das Bauen und anschließende Spielen und Experimentieren

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon 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


Icon Unterrichtsfächer

Werkerziehung, Bewegung & Sport, Informatik

Icon 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.

Icon 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!


Icon 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.