Metronom: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 78: | Zeile 78: | ||
</pre> | |||
</spoiler> | |||
<li> Die LEDs zeigen dauerhaft das aktuelle Tempo in Zahlen. <spoiler text="Block"><pre id="pre01"> | |||
basic.forever(function () { | |||
basic.showNumber(music.tempo()) | |||
}) | |||
</pre> | </pre> |
Version vom 3. Januar 2022, 19:01 Uhr
Wofür brauche ich ein Metronom?
Paul, Martin und Michael gründen eine Band. Zu Hause übt jeder fleißig den neuen Song. Doch bei der Probe will irgendwie nichts zusammenpassen. Paul ist mit seiner Gitarre zu langsam, Michael trommelt zu schnell und Martin ändert beim Singen andauernd das Tempo. Paul hat die Lösung. Er zückt sein Metronom. Mit dem regelmäßigen Ticken des Metronoms kann man perfekt das Tempo halten. Leider hat er nur ein Metronom, das er selber zum Üben braucht. Aber vielleicht kann der micro:bit Martin und Michael weiterhelfen?
Aufgabenstellung
Mit dem BBC micro:bit kannst du ein Metronom programmieren.
- Beim Start spielt der micro:bit dauerhaft 100 bpm (beats per minute = Töne pro Minute).
- Der Ton ist ein "Mittleres C" für 1/16 Schlag, danach pausiert er für einen Schlag.
- Taste A macht das Tempo um 5 bpm schneller.
- Taste B macht das Tempo um 5 bpm langsamer.
- Die LED-Anzeige zeigt das aktuelle Tempo in Zahlen an.
Materialien
- BBC micro:bit (Version V2 oder V1 mit Lautsprecher für die Soundausgabe)
Zeitaufwand
- 1 Unterrichtseinheit
Schwierigkeitsgrad
Kompetenzen
Das solltest du bereits können:
- Einen Kopfhörer an den micro:bit anschließen
Du lernst...
- wie du die Variable Tempo mit den Tasten A und B verändern kannst.
Unterrichtsfächer
- Musik
- Informatik
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Der micro:bit gibt beim Start dauerhaft 100 Töne pro Minute aus
- Die Taste A erhöht die Anzahl der ausgegebenen Töne um 5 pro Minute
- Die Taste B verringert die Anzahl der ausgegebenen Töne um 5 pro Minute
- Die LED-Anzeige zeigt das aktuelle Tempo in Zahlen an
Blöcke
- Beim Start wird das Tempo auf 100 bpm (= beats per minute) geändert. <spoiler text="Block">
music.setTempo(100)
</spoiler>
- Die Note "Mittleres C" wird dauerhaft für 1/16 Schlag gespielt, gefolgt von einem Schlag Pause. <spoiler text="Block">
basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) })
</spoiler>
- Wenn Knopf A gedrückt wird, verringert sich das Tempo um fünf Schläge pro Minute. Knopf B erhöht das Tempo um fünf Schläge pro Minute. <spoiler text="Block">
input.onButtonPressed(Button.A, function () { music.changeTempoBy(-5) }) input.onButtonPressed(Button.B, function () { music.changeTempoBy(5) })
</spoiler>
- Die LEDs zeigen dauerhaft das aktuelle Tempo in Zahlen. <spoiler text="Block">
basic.forever(function () { basic.showNumber(music.tempo()) })
</spoiler>
Tipps zur Umsetzung
- Programmiere den micro:bit-Zufallsgenerator so, dass durch Schütteln ein Wert "wahr" oder "falsch" ermittelt wird (= Kopf oder Zahl)
- Wenn Taster "A" gedrückt wird, soll die Anzahl Kopfwürfe gezeigt werden
- Wenn Taster "B" gedrückt wird, soll die Anzahl Zahlwürfe gezeigt werden
- Wenn Taster "A+B" gedrückt werden, soll die Summe der Würfe dargestellt werden
- Zufallswerte erhält man aus dem Menü Mathematik "Wähle zufälligen Wahr- und Falsch-Wert"
- Wird Wahr ermittelt, so soll der Buchstabe "K" für Kopf erscheinen, andernfalls "Z" für Zahl.
- Hier benötigt man die logische Verzweigung "Wenn ... dann ... sonst"
- Das System sollte über zwei Variablen protokollieren, wie oft Kopf und wie oft Zahl geworfen wurde
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel
Präsentation und Reflexion
Allgemein
- Stelle dein Ergebnis vor! Was kann dein Produkt?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Projektspezifisch
- Welche Regeln wurden für Kopf und Zahl festgelegt? Welche andere Regeln für "Kopf oder Zahl" gäbe es noch?
- Welche Diskussionspunkte ergaben sich während des Spiels?
- Wo wird im Alltag der Wirtschaft mit Zufallsgenerator gearbeitet?
- Wo braucht man bei einem Computerspiel den Zufallsgenerator.
- Wo war bei diesem Beispiel der Vorteil des Computers zu sehen, wo war er eher ein Nachteil?
- Bei welcher Erweiterungsstufe war es am schwierigsten, einen Programmcode zu erstellen.
Weiterentwicklung
- Audioalarm beim Überschreiten eines Schwellenwertes
- Smileys anstelle des Graphen bei der Ausgabe der Feuchtigkeit
- Feuchtigkeitswerte zu anderen micro:bits senden
- Bau eines Pflanzenwächters mit Bewässerungsautomatik <spoiler>(https://youtu.be/7eC_VjH1eP0, https://makecode.microbit.org/projects/plant-watering)</spoiler>