Fang das Ei: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Oliver.kastner (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Martin.teufel (Diskussion | Beiträge)
 
(82 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== [[Datei:Icon_story.png|20px|Icon]] Fang das Ei ==
== [[Datei:Icon_story.png|20px|Icon]] Neulich, vor der Konsole ... ==
[[Datei:03_fangdasei_eikorb.PNG |right|400px|border| Ei und Korb (LEDs)]]
[[Datei:fang_das_ei_03.png|right|400px|border| Ei und Korb (LEDs)]]
Wie funktioniert ein Beschleunigungssensor? Kann man damit den micro:bit steuern und das vielleicht sogar in einem Spiel?
:„Oh nein Ben, jetzt ist es passiert.“
Der micro:bit hilft uns diese Fragen spielerisch zu beantworten. Du kannst mit dem micro:bit und dem eingebauten Beschleunigungssensor Bewegungen steuern wie z.B. links/ rechts. Damit können wir die Spielsteuerung in einem kleinen Game übernehmen.
::„Was ist passiert, Elias?
<spoiler text="Code">[[[[Datei:03_fangdasei_kippen.png|border|Ausrichtung auslesen]] </spoiler>
:„Na ja, der Game Controller ist nun ganz kaputt. Und ohne den haben wir absolut keine Chance, gegen die anderen zu gewinnen.“
 
::„Dann besorgen wir uns eben einen neuen, Elias. Und in der Zwischenzeit gamen wir mit dem micro:bit.
== [[Datei:icon_gluehbirne.png|20px|Icon]] Anforderungen ==
:„Genau Ben, wir nehmen den micro:bit als Controller und probieren den Beschleunigungssensor oder wie das Ding heißt. Komm mit, ich hab‘ da schon ein paar Ideen ...
Im Game lässt der micro:bit von oben ein Ei (= 1 Pixel LED) herabfallen, das natürlich nicht immer von der selben Position kommen soll. Auf der unteren Zeile befindet sich der Korb (= 1 Pixel LED) den du mit links/ rechts neigen steuern kannst, sodass jedes Ei sicher im Korb landet.  
Fällt ein Ei daneben, kannst es erneut von vorne versuchen. Probiere es doch selbst.


== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung ==
Im Game lässt der micro:bit von oben ein Ei (= 1 Pixel LED) herabfallen, das natürlich nicht immer von der selben Position kommen soll. Auf der unteren Zeile befindet sich der Korb (= 1 Pixel LED), den du mit „links/rechts kippen“ steuern kannst, sodass jedes Ei sicher im Korb landet. <spoiler text="Hinweis">[[Datei:03_fangdasei_kippen.png|300px|border|Neigungssensor - Kippen]]</spoiler>
Fällt ein Ei daneben, kannst du es erneut von vorne versuchen. Probier es doch selbst!
== [[Datei:icon_material.png|20px|Icon]] Materialien ==


* BBC micro:bit (enthält Platine, Kabel, Batterie)
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==


* Etwa 2 Schulstunden zum Programmieren. Der Einsatz vom Kompass wird empfohlen beim Wandern, Radfahren, bei Exkursionen, Schulausflügen, ...
* ca. 2 Schulstunden zur Programmierung
* ca. 2 Schulstunden zum anschließenden Experimentieren


== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
[[Datei:SternGelb.png|30px|borderless]][[Datei:SternGelb.png|30px|borderless]][[Datei:SternLeer.png|30px|borderless]]
:[[Datei:SternGelb.png|30px|borderless]][[Datei:SternGelb.png|30px|borderless]][[Datei:SternGelb.png|30px|borderless]]


== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
Voraussetzungen
Du lernst
*Mathematik: Winkel, Ungleichungen
*einzelne LEDs (Pixel) der Anzeige anzusteuern: zu zeichnen/auszuschalten.
*Geographie: Himmelsrichtungen, Kompass
*eine Achse (x) des Beschleunigungssensors auzulesen.
*die Umrechnung der Beschleunigungswerte.
*die mathematische Funktion Min/Max zur Begrenzung von Werten zu verwenden.
*die ereignisgesteuerte Programmierung. <spoiler text="Hinweis">z.B. „wenn ... dann“</spoiler>
*die Anzeige im Display zur besseren Lesbarkeit zu pausieren.
 
== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
Informatik, Physik


== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellungen ==


Du lernst
=== Erforderliche Programmierblöcke ===
*Variablen einsetzen und deren Wert festlegen durch einen Sensor,
[[Ereignissteuerung]], [[Anzeige]], [[LED]], [[Bedingte_Anweisungen#Wenn-Dann|Bedingungen]], [[Beschleunigung]], [[Variablen]], [[Zufallsgenerator|Zufall]]
*«Wenn – Dann – Ansonsten» Bedingungen anwenden,  
*logische Operatoren anwenden,
*dich in unbekanntem Gelände orientieren.


=== Eckpfeiler zur Programmierung ===


Bei den Erweiterungen lernst du
* Die Henne lässt ihr soeben gelegtes Ei (Bildschirm oberste Zeile) einfach nach unten plumpsen. <spoiler text="Hinweis"><b>Ei von oben: </b>[[Datei:03_fangdasei01.PNG|300px]]</spoiler>
* Vor- und Nachteile von einem analogen und einem digitalen Kompass identifizieren,  
* Daher sollst du mit einem Korb (Bildschirm unterste Zeile) das Ei auffangen. <spoiler text="Hinweis"><b>Korb - unterste Zeile: </b>[[Datei:03_fangdasei02.png|300px]]</spoiler>
* Kompassausrichtungen in verschiedenen Arten mit unterschiedlicher Genauigkeit anzeigen,
* Beim Hinunterplumpsen soll als Animation der Schwerkraft das Ei immer eine Zeile weiter nach unten geschoben werden, etwa so. <spoiler text="Hinweis"><b>Animation Ei: immer eine Zeile weiter... </b>[[Datei:03_fangdasei03.png]]</spoiler>
* was Geocaching ist und was du dazu brauchst.
* Das Ei soll auch nicht immer von der Mitte aus starten, das wäre zu einfach. Außerdem legt ja auch nicht immer dieselbe Henne das nächste Ei. Verändere also nach jedem Durchlauf die Startposition des nächsten Eis in der obersten Zeile. <spoiler text="Hinweis"><b>Animation Ei: veränderte Startposition</b>[[Datei:03_fangdasei04.png|300px]]</spoiler>
* Die Steuerung des Korbs soll über den Beschleunigungssensor (x-Achse) den Korb in der untersten Zeile links/rechts verschieben. <spoiler text="Hinweis"><b>Animation Korb kippen: links/rechts verschieben </b>[[Datei:03_fangdasei_kippen.png|300px]]</spoiler>
* Zu Beginn kann das Geschicklichkeitsspiel also so aussehen. <spoiler text="Hinweis"><b>mögliche Startpositionen... </b>[[Datei:03_fangdasei_eikorb.PNG|300px]]</spoiler>


== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
=== [[Fang_das_Ei_Loesung|Schritt für Schritt zur Lösung]] ===
INF, GW
Weitere Informationen, Hinweise und auch eine mögliche, komplette Lösung findest du auf der [[Fang_das_Ei_Loesung|Lösungsseite zu diesem Beispiel]].


== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung ==
== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion ==
Was soll herauskommen?
*Je nach Ausrichtung des Micro:bit soll die Himmelsrichtung angezeigt werden.[[Datei:ergebnis.png|right|border|Kompass zeigt Himmelsrichtung Norden an.]]


* 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?


Kompass - Coding
<b>Versuche die Antworten durch Internet-Recherche und Diskussion mit anderen herauszufinden.</b>
*Die Richtung wird in Grad gemessen. <spoiler text="Code">[[Datei:Kompassausrichtung.png|border|Ausrichtung auslesen]] </spoiler>  
*Warum beginnt der micro:bit mit 0 zu zählen? Siehe Positionsangaben Koordinatensystem. <spoiler text="Koordinaten">[[Datei:03 fangdasei05.png|border|Koordinaten micro:bit]]</spoiler>
*Um die aktuelle Richtung zu merken, ist es hilfreich, eine Variable zu verwenden. Verwende für die Variable einen sinnvollen Namen.<spoiler text="Variable"> Z.B. [[Datei:Richtung.png|border|Variable Richtung]]</spoiler>  
*Ist die Funktion „Random“ (wähle ein Zahl zwischen 0 und 4) wirklich zufällig? <spoiler text="Random">[[Datei:03_block_04a.PNG|border]]</spoiler>
*Die 4 Haupthimmelsrichtungen werden mit den Abkürzungen N, S, W, O angezeigt. <spoiler text="Code"> Z.B. [[Datei:Zeichenanzeige.png|border|Zeichen ausgeben]]</spoiler>
*Wie lautet der Minimal- und Maximalwert, den die Beschleunigungsmessung hergibt? Warum?
*Mit Verzweigungen und logischen Operatoren kannst du abfragen, welche Himmelsrichtung angezeigt werden muss. <spoiler text="Code"> [[Datei:Verzweigungsvarianten.png|border|Verzweigungen]]</spoiler>
*Warum muss die Anzeige für 300 ms pausiert werden?
*Der Vorgang soll dauerhaft wiederholt werden.<spoiler text="Code">[[Datei:Dauerhaft.png|border|dauerhaft wiederholen]]</spoiler>
Weitere Tipps zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der [[Kompass Lösung|Lösungsseite zu diesem Beispiel]].
Auf der Lösungseite findest du auch Links, die zum Bearbeiten der Erweiterungen hilfreich sind.


== Reflexion ==
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
===Allgemein===
* Stelle dein Ergebnis vor! Was kann dein Projekt?
* Was hat dir bei der Entwicklung deines Produkts gefallen?
* Welche Schwierigkeiten hast du gehabt? Wie konntest du diese lösen?
* Erläutere, wie du dein Produkt programmiert hast! (Fachkompetenz stärken)
* Was war bei dieser Aufgabenbearbeitung interessant für dich?


===Projektspezifisch===
*Variationen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Verwende die Tasten A + B (li/re) anstatt/zusätzlich der/zur Steuerung mit dem Beschleunigungssensor.
*Wie funktioniert dein Kompass? Welche Blöcke hast du verwendet?
*Komplexere Anwendungen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Kollisionswächter: Überprüfe ob Korb und Ei dieselbe x-Achsenposition haben, wenn sie in der untersten Zeile aufeinander treffen. <br/>Erweitere das Game um einen Zähler (Anzahl Leben) und ziehe jeweils ein Leben ab, wenn das Ei daneben plumpst.
*Was hast du beim Erstellen vom Kompass über Himmelsrichtungen gelernt?
*Adaptionen, Neuentwicklungen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Sieh dir die Blöcke „Spiel“ unter „Fortgeschritten“ näher an. <br/>Du kannst ein Sprite (Spielobjekt) mit Kollisionserkennung verwenden und Spielstände (Leben) verwalten. Experimentiere hier ausgiebig mit den „neuen“ Möglichkeiten, das Game zu verbessern.
*Hast du schon einmal einen Kompass verwendet? Wenn ja, wie? Vergleiche deinen Micro:bit Kompass mit einem richtigen Kompass? Worin unterscheiden sich die beiden Geräte? Sammle die Vor- und Nachteile beider Geräte!
*Was brauchst du zusätzlich zur Karte und zum Kompass, um dich in der Natur orientieren zu können?


== Optionen und Erweiterungen ==
<htmlet>makecode_embed</htmlet>
[[Datei:Kompass_analog5_klein.jpg|width="300"|right|analoger Kompass: Wasserschale mit magnetisierter Nadel, schwimmend auf Korkstück]]
*Baue einen analogen Kompass mit einer Nadel, einem Magnet, einem Korkstück und einer Schüssel Wasser. Zeigt dein analoger Kompass dieselbe Himmelsrichtung an wie dein digitaler Kompass im Micro:bit?
*Zeichne statt der Anzeige der Buchstaben auf dem Micro:bit einen Pfeil Richtung Norden, Osten, Süden oder Westen!
*Ein Kompass zeigt normalerweise keine Buchstaben oder Zeichen an, sondern die Kompassnadel zeigt nach Norden. Erstelle einen Kompass, der immer nach Norden zeigt!
*Kannst du mehr als nur die 4 Haupthimmelsrichtungen anzeigen lassen?
*Ein digitaler Kompass muss manchmal kalibriert werden. Finde heraus, was das bedeutet und wie das mit deinem micro:bit funktioniert.
*Wie kannst du deinen Micro:bit Kompass zum Geocaching verwenden? Was brauchst du dazu?

Aktuelle Version vom 17. Mai 2022, 07:56 Uhr

Icon Neulich, vor der Konsole ...

Ei und Korb (LEDs)
Ei und Korb (LEDs)
„Oh nein Ben, jetzt ist es passiert.“
„Was ist passiert, Elias?“
„Na ja, der Game Controller ist nun ganz kaputt. Und ohne den haben wir absolut keine Chance, gegen die anderen zu gewinnen.“
„Dann besorgen wir uns eben einen neuen, Elias. Und in der Zwischenzeit gamen wir mit dem micro:bit.“
„Genau Ben, wir nehmen den micro:bit als Controller und probieren den Beschleunigungssensor oder wie das Ding heißt. Komm mit, ich hab‘ da schon ein paar Ideen ...“

Icon Aufgabenstellung

Im Game lässt der micro:bit von oben ein Ei (= 1 Pixel LED) herabfallen, das natürlich nicht immer von der selben Position kommen soll. Auf der unteren Zeile befindet sich der Korb (= 1 Pixel LED), den du mit „links/rechts kippen“ steuern kannst, sodass jedes Ei sicher im Korb landet. <spoiler text="Hinweis">Neigungssensor - Kippen</spoiler> Fällt ein Ei daneben, kannst du es erneut von vorne versuchen. Probier es doch selbst!

Icon Materialien

  • BBC micro:bit (enthält Platine, Kabel, Batterie)

Icon Zeitaufwand

  • ca. 2 Schulstunden zur Programmierung
  • ca. 2 Schulstunden zum anschließenden Experimentieren

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Du lernst

  • einzelne LEDs (Pixel) der Anzeige anzusteuern: zu zeichnen/auszuschalten.
  • eine Achse (x) des Beschleunigungssensors auzulesen.
  • die Umrechnung der Beschleunigungswerte.
  • die mathematische Funktion Min/Max zur Begrenzung von Werten zu verwenden.
  • die ereignisgesteuerte Programmierung. <spoiler text="Hinweis">z.B. „wenn ... dann“</spoiler>
  • die Anzeige im Display zur besseren Lesbarkeit zu pausieren.

Icon Unterrichtsfächer

Informatik, Physik

Icon Tipps und Hilfestellungen

Erforderliche Programmierblöcke

Ereignissteuerung, Anzeige, LED, Bedingungen, Beschleunigung, Variablen, Zufall

Eckpfeiler zur Programmierung

  • Die Henne lässt ihr soeben gelegtes Ei (Bildschirm oberste Zeile) einfach nach unten plumpsen. <spoiler text="Hinweis">Ei von oben: </spoiler>
  • Daher sollst du mit einem Korb (Bildschirm unterste Zeile) das Ei auffangen. <spoiler text="Hinweis">Korb - unterste Zeile: </spoiler>
  • Beim Hinunterplumpsen soll als Animation der Schwerkraft das Ei immer eine Zeile weiter nach unten geschoben werden, etwa so. <spoiler text="Hinweis">Animation Ei: immer eine Zeile weiter... </spoiler>
  • Das Ei soll auch nicht immer von der Mitte aus starten, das wäre zu einfach. Außerdem legt ja auch nicht immer dieselbe Henne das nächste Ei. Verändere also nach jedem Durchlauf die Startposition des nächsten Eis in der obersten Zeile. <spoiler text="Hinweis">Animation Ei: veränderte Startposition</spoiler>
  • Die Steuerung des Korbs soll über den Beschleunigungssensor (x-Achse) den Korb in der untersten Zeile links/rechts verschieben. <spoiler text="Hinweis">Animation Korb kippen: links/rechts verschieben </spoiler>
  • Zu Beginn kann das Geschicklichkeitsspiel also so aussehen. <spoiler text="Hinweis">mögliche Startpositionen... </spoiler>

Schritt für Schritt zur Lösung

Weitere Informationen, Hinweise und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel.

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 durch Internet-Recherche und Diskussion mit anderen herauszufinden.

  • Warum beginnt der micro:bit mit 0 zu zählen? Siehe Positionsangaben Koordinatensystem. <spoiler text="Koordinaten">Koordinaten micro:bit</spoiler>
  • Ist die Funktion „Random“ (wähle ein Zahl zwischen 0 und 4) wirklich zufällig? <spoiler text="Random"></spoiler>
  • Wie lautet der Minimal- und Maximalwert, den die Beschleunigungsmessung hergibt? Warum?
  • Warum muss die Anzeige für 300 ms pausiert werden?

Icon Weiterentwicklung

  • Variationen Verwende die Tasten A + B (li/re) anstatt/zusätzlich der/zur Steuerung mit dem Beschleunigungssensor.
  • Komplexere Anwendungen Kollisionswächter: Überprüfe ob Korb und Ei dieselbe x-Achsenposition haben, wenn sie in der untersten Zeile aufeinander treffen.
    Erweitere das Game um einen Zähler (Anzahl Leben) und ziehe jeweils ein Leben ab, wenn das Ei daneben plumpst.
  • Adaptionen, Neuentwicklungen Sieh dir die Blöcke „Spiel“ unter „Fortgeschritten“ näher an.
    Du kannst ein Sprite (Spielobjekt) mit Kollisionserkennung verwenden und Spielstände (Leben) verwalten. Experimentiere hier ausgiebig mit den „neuen“ Möglichkeiten, das Game zu verbessern.