Metronom Loesung

Aus microbit - Das Schulbuch
Version vom 13. März 2022, 18:33 Uhr von Peter.walchshofer (Diskussion | Beiträge) (→‎Komplettlösungen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Grundsätzliche Überlegungen

Bei diesem Beispiel dreht sich alles um die Variable Tempo. Sie ist schon vorgefertigt und unter dem Abschnitt Musik zu finden. Ihr Wert wird in bpm (= beats per minute) angegeben und kann jederzeit abgerufen und verändert werden.

Hilfestellungen und Lösung zum Metronom

"ändern auf" und "ändern um"
Wichtig ist die Unterscheidung zwischen "ändern auf" und "ändern um".
"ändern auf" setzt das Tempo auf einen bestimmten Wert. <spoiler text="Block">

music.setTempo(100)

</spoiler>

"ändern um" verändert das Tempo um einen bestimmten Wert. Das funktioniert sowohl mit positiven als auch negativen Zahlen. <spoiler text="Block">

input.onButtonPressed(Button.A, function () {

   music.changeTempoBy(-5)

})


</spoiler>

Dauerhafte Audio- und LED-Ausgabe
Damit das Tempo zeitgleich mit dem Abspielen der Töne dargestellt wird, sind zwei Blöcke "dauerhaft" nötig. <spoiler text="Block">

basic.forever(function () { basic.showNumber(music.tempo()) }) basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) })

</spoiler>

Komplettlösungen

input.onButtonPressed(Button.A, function () {
    music.changeTempoBy(-5)
})
input.onButtonPressed(Button.B, function () {
    music.changeTempoBy(5)
})
music.setTempo(100)
basic.forever(function () {
    music.playTone(262, music.beat(BeatFraction.Sixteenth))
    music.rest(music.beat(BeatFraction.Whole))
})
basic.forever(function () {
    basic.showNumber(music.tempo())
})



Zurück zur Aufgabe