Heisse Kartoffel: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Klemens.frick (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „== 20px|Icon Lass dein Federpenal überwachen == right|400px|border| 2 micro:bits A und B Leon greift zum F…“
 
Klemens.frick (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== [[Datei:Icon_story.png|20px|Icon]] Lass dein Federpenal überwachen ==
== [[Datei:Icon_story.png|20px|Icon]] Spiel für die Geburtstagsfeier ==
[[Datei:04_alarm_v2.jpg |right|400px|border| 2 micro:bits A und B]]
[[Datei:04_alarm_v2.jpg |right|400px|border| Party Potatoe]]
Leon greift zum Federpenal und will den Radiergummi herausnehmen, aber er findet ihn nicht. Wo ist er nur?
Dominic und Ceyda planen ihre gemeinsame Geburtstagsfeier und sie wollen unbedingt ein spannendes Gemeinschaftsspiel spielen. Am besten eines das es so noch nicht gegeben hat, möglichst einfach selbst zu machen ist und weder ein altmodisches Brettspiel noch ein Computerspiel, bei dem nicht alle mitspielen können, sein soll.
:Er fragt seine Nachbarin Emma: „Hast du meinen Radiergummi gesehen?“ Sie zuckt nur mit den Achseln.
:Ihre Ansprüche sind hoch, doch Ceyda hat da schon eine Idee:
Kann es sein, dass sich jemand etwas ausgeborgt hat, ohne Leon zu fragen? Da kommt ihm ein Gedankenblitz – der micro:bit könnte helfen ... Wenn er ihn das Federpenal überwachen lässt und dazu einen Lautsprecher anschließt, könnte er so etwas rasch entdecken. Jede Bewegung löst dann sofort einen Alarm aus und schlägt Radau. Probier es doch auch!
Sie möchte das Partyspiel '''''Heiße Kartoffel''''' auf dem micro:bit programmieren. Sie erklärt Dominic kurz, den Spielablauf:
:„Bei dem Spiel '''''Heiße Kartoffel''''' geht es darum, dass ein Gegenstand – also die heiße Kartoffel - in einer Gruppe von Spielerinnen schnell herumgereicht wird, bis es ein Stopp-Signal gibt. Im Originalspiel wird eine laufende Musik vom Spielleiter ausgeschaltet. Die Person, welche zum Zeitpunkt des Ausschaltens die Kartoffel in der Hand hält, scheidet aus. Gewonnen hat die Person, die am Ende übrigbleibt.
 


== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung ==
== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung ==
Der micro:bit soll bei jeglicher Bewegung ein Programm auslösen, das einen lauten Alarm abspielt, und so die Aufmerksamkeit aller in der Nähe befindlichen Personen auf sich ziehen.
* In der micro:bit-Version von die '''''Heiße Kartoffel''''' ist der micro:bit die heiße Kartoffel und fungiert auch als Spielleiter, der das Stopp-Signals gibt.
Dazu wird der micro:bit z.B. mit dem Federpenal verbunden, es reichen fürs Erste auch Gummibänder. Sobald jemand das Federpenal bewegt, löst das den Alarm aus und es ist eine Sirene zu hören.
* Wenn man das Start-Signal gibt (Button A drücken), geht der Zähler los.
* Der micro:bit meldet den Start des Zählers mit einem Symbol auf dem Display.
* Die Startzeit des Zählers soll bei jedem Durchgang anders (zufällig) sein, um es spannender zu machen. 
* Der Zähler zählt dann im Hintergrund (also nicht auf dem micro:bit-Display sichtbar) herunter bis 0. Wichtig ist hier, dass der micro:bit sehr schnell herunterzählen kann, er muss daher bei jedem Schritt eine Sekunde pausiert werden, 1000 ms sind das im Spiel.
* Wenn der Zähler 0 ist, meldet das der micro:bit, mit einem Symbol auf dem Display. Die Person, die den micro:bit zu dem Zeitpunkt hält scheidet aus.
* Das Programm und auch die erste Runde ist jetzt zu Ende.
* Durch Drücken des Button A wird die nächste Runde gestartet, usw. bis nur noch eine Person übrigbleibt.


Da der micro:bit selbst keinen Lautsprecher besitzt, ist ein kleiner Piezo-Lautsprecher o.Ä. notwendig, um den Alarm hören zu können.
Weiters werden zur Verbindung des Lautsprechers mit dem micro:bit zwei Kabel mit jeweils zwei&nbsp;Krokodilklemmen benötigt. <spoiler text="Hinweis">Wie das genau geht, siehst du am besten hier: [[Hack_deine_Kopfhörer]]</spoiler>
Du kannst fürs Erste das Beispiel auch völlig ohne Lautsprecher/Kopfhörer erstellen und testen. <spoiler text="Hinweis">Wenn du dieses Beispiel im Online-Editor http://makecode.microbit.org erstellst, wird auch ein Lautsprecher/Kopfhörer im Computer simuliert.</spoiler>
== [[Datei:icon_material.png|20px|Icon]] Materialien ==
== [[Datei:icon_material.png|20px|Icon]] Materialien ==


* BBC micro:bit (enthält Platine, Kabel, Batterie)
* BBC micro:bit (mit USB-Kabel und Batterie)
* 2 Kabel mit Krokodilklemmen (z.B. rot/schwarz)
 
* 1 Piezo-Lautsprecher <spoiler text="Hinweis">Achte auf die Polung beim Lautsprecher: schwarz auf GND und rot auf PIN 0.</spoiler>
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==


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


== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
Zeile 27: Zeile 31:
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
== [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
Du lernst
Du lernst
*externe Verbindungen mit micro:bit und Krokodilklemmen herzustellen.
*Variable erstellen und einen zufälligen Wert zuweisen
*Lautsprecher anzuschließen. <spoiler text="Hinweis">Achte auf die Polung beim Lautsprecher: schwarz auf GND und rot auf PIN 0.</spoiler>
*Variable in einer Schleife herunterzählen (bei jedem Durchlauf minus 1)
*die ereignisgesteuerte Programmierung. <spoiler text="Hinweis">z.B. „wenn geschüttlet“</spoiler>
*Ereignisgesteuerte Programmierung. <spoiler text="Hinweis">„wenn Knopf A gedrückt“</spoiler>
*Tonhöhe und Tondauer einzuschätzen, anzuwenden und zu verändern.
*Tonintervall eines Alarmsignals einzuschätzen, anzuwenden und zu verändern.


== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
Informatik, Musikerziehung, Physik
Informatik


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


=== Erforderliche Programmierblöcke ===
=== Erforderliche Programmierblöcke ===
[[Ereignissteuerung]], [[Schleifen#Befehlsblöcke|Schleife]], [[Bedingte_Anweisungen#Wenn-Dann|Bedingungen]], [[Boolean]], [[Musik]]
[[Ereignissteuerung]], [[Schleifen#Befehlsblöcke|Schleife]], [[Variablen]], [[Boolean]]


=== Eckpfeiler zur Programmierung ===
=== Eckpfeiler zur Programmierung ===
Sieh dir das Beispiel [[Hack_deine_Kopfhörer]] nochmal genau an, das ist die Grundlage für dieses Beispiel.


*Setze die [[Ereignisse#Weitere_Möglichkeiten_für_Ereignisse|Ereignissteuerung]] „wenn geschüttelt“ ein, um den Alarm zu starten.
* Zum Start einer Runde verwende die Ereignissteuerung '''Wenn Knopf A gedrückt''' <spoiler text="Hinweis">
*Der Alarm soll fortwährend eine Art Sirene mit dem micro:bit spielen. <spoiler text="Hinweis">Verwende dazu die [[Schleife]] „während wahr ... mache“.</spoiler>
<pre id="3">
*Überlege dir einen Alarm mit 2 Tönen aus dem Bereich [[Musik]].
input.onButtonPressed(Button.A, function () {
::Versuche verschiedene Tonhöhen <spoiler text="Hinweis">Vorschlag: abwechselnd ein mittlerer und ein hoher Ton.</spoiler>
})
::Versuche verschiedene Tonlängen <spoiler text="Hinweis">Vorschlag: z.B. 1/2 Takt.</spoiler>
</pre>
</spoiler>
* Erstelle eine [[Variable]] '''zaehler''' und speichere eine zufällige Zahl zwischen 5 und 15 darin <spoiler text="Hinweis">
<pre id="3">
input.onButtonPressed(Button.A, function () {
// @highlight
zaehler = randint(5, 15)
})
</pre>
</spoiler>


=== [[Audioalarm_Loesung|Schritt für Schritt zur Lösung]] ===
=== [[Schritt für Schritt zur Lösung]] ===
Weitere Informationen, Hinweise und auch eine mögliche, komplette Lösung findest du auf der [[Audioalarm_Loesung|Lösungsseite zu diesem Beispiel]].
Das Schritt-für-Schritt Tutorial für dieses Projekt findest du [[http://|hier]].


== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion ==
== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion ==
Zeile 68: Zeile 78:


== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
*Variationen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Explosion im Display oder Ähnliches - grafische Erweiterung, zusätzlich zum Audioalarm
*Grafisches Feedback [[Datei:Iconmonstr-arrow-20re-120.png|20px]] beim Stopp-Signal: Animation im Display statt nur ein Bild
*Komplexere Anwendungen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Türalarm mit Beschleunigungssensor
*Sound-Feedback (micro:bit v2!) [[Datei:Iconmonstr-arrow-20re-120.png|20px]] spiele beim Stopp-Signal zusätzlich auch eine Sound ab
*Adaptionen, Neuentwicklungen [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Schwarm Alarmanlage (ein Empfänger mit Lautsprecher, viele Sender über Bluetooth)
*Case-Design 3D-Druck [[Datei:Iconmonstr-arrow-20re-120.png|20px]] Schaue im Internet nach micro:bit Cases, die auch die Batterie gut befestigen. 3D-Druck in der Schule oder einer anderen Werkstätte (z.B. Happylab)


<htmlet>makecode_embed</htmlet>
<htmlet>makecode_embed</htmlet>

Version vom 11. November 2021, 14:02 Uhr

Icon Spiel für die Geburtstagsfeier

Party Potatoe
Party Potatoe

Dominic und Ceyda planen ihre gemeinsame Geburtstagsfeier und sie wollen unbedingt ein spannendes Gemeinschaftsspiel spielen. Am besten eines das es so noch nicht gegeben hat, möglichst einfach selbst zu machen ist und weder ein altmodisches Brettspiel noch ein Computerspiel, bei dem nicht alle mitspielen können, sein soll.

Ihre Ansprüche sind hoch, doch Ceyda hat da schon eine Idee:

Sie möchte das Partyspiel Heiße Kartoffel auf dem micro:bit programmieren. Sie erklärt Dominic kurz, den Spielablauf:

„Bei dem Spiel Heiße Kartoffel geht es darum, dass ein Gegenstand – also die heiße Kartoffel - in einer Gruppe von Spielerinnen schnell herumgereicht wird, bis es ein Stopp-Signal gibt. Im Originalspiel wird eine laufende Musik vom Spielleiter ausgeschaltet. Die Person, welche zum Zeitpunkt des Ausschaltens die Kartoffel in der Hand hält, scheidet aus. Gewonnen hat die Person, die am Ende übrigbleibt.“


Icon Aufgabenstellung

  • In der micro:bit-Version von die Heiße Kartoffel ist der micro:bit die heiße Kartoffel und fungiert auch als Spielleiter, der das Stopp-Signals gibt.
  • Wenn man das Start-Signal gibt (Button A drücken), geht der Zähler los.
  • Der micro:bit meldet den Start des Zählers mit einem Symbol auf dem Display.
  • Die Startzeit des Zählers soll bei jedem Durchgang anders (zufällig) sein, um es spannender zu machen.
  • Der Zähler zählt dann im Hintergrund (also nicht auf dem micro:bit-Display sichtbar) herunter bis 0. Wichtig ist hier, dass der micro:bit sehr schnell herunterzählen kann, er muss daher bei jedem Schritt eine Sekunde pausiert werden, 1000 ms sind das im Spiel.
  • Wenn der Zähler 0 ist, meldet das der micro:bit, mit einem Symbol auf dem Display. Die Person, die den micro:bit zu dem Zeitpunkt hält scheidet aus.
  • Das Programm und auch die erste Runde ist jetzt zu Ende.
  • Durch Drücken des Button A wird die nächste Runde gestartet, usw. bis nur noch eine Person übrigbleibt.

Icon Materialien

  • BBC micro:bit (mit USB-Kabel und Batterie)

Icon Zeitaufwand

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

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Du lernst

  • Variable erstellen und einen zufälligen Wert zuweisen
  • Variable in einer Schleife herunterzählen (bei jedem Durchlauf minus 1)
  • Ereignisgesteuerte Programmierung. <spoiler text="Hinweis">„wenn Knopf A gedrückt“</spoiler>

Icon Unterrichtsfächer

Informatik

Icon Tipps und Hilfestellungen

Erforderliche Programmierblöcke

Ereignissteuerung, Schleife, Variablen, Boolean

Eckpfeiler zur Programmierung

  • Zum Start einer Runde verwende die Ereignissteuerung Wenn Knopf A gedrückt <spoiler text="Hinweis">
input.onButtonPressed(Button.A, function () {
})

</spoiler>

  • Erstelle eine Variable zaehler und speichere eine zufällige Zahl zwischen 5 und 15 darin <spoiler text="Hinweis">
input.onButtonPressed(Button.A, function () {
// @highlight
zaehler = randint(5, 15)
})

</spoiler>

Schritt für Schritt zur Lösung

Das Schritt-für-Schritt Tutorial für dieses Projekt findest du [[1]].

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.

  • Ab wann schlägt der Beschleunigungssensor/Bewegungsmelder an? Was kann hier verändert oder verbessert werden?
  • Welche Töne bzw. Tonfolgen eignen sich besonders für einen Alarm?
  • Wie kann das Programm beendet werden? Gibt es eine bessere Möglichkeit, den Alarm zu beenden?
  • Was passiert, wenn der Piezo-Lautsprecher umgekehrt gepolt wird? Warum?

Icon Weiterentwicklung

  • Grafisches Feedback beim Stopp-Signal: Animation im Display statt nur ein Bild
  • Sound-Feedback (micro:bit v2!) spiele beim Stopp-Signal zusätzlich auch eine Sound ab
  • Case-Design 3D-Druck Schaue im Internet nach micro:bit Cases, die auch die Batterie gut befestigen. 3D-Druck in der Schule oder einer anderen Werkstätte (z.B. Happylab)