Summer Splash Music Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Alois.bachinger (Diskussion | Beiträge)
 
(87 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Hilfestellungen und Lösung zu Summer Splash Music =  
=Hilfestellungen und Lösung zu Summer Splash Music =  
==Suche dir ein einfaches Lied aus, das du gerne singst und bestimme die Tonart==
==Suche dir ein einfaches Lied aus, das du gerne singst und bestimme die Tonart!==
[[Datei:qr_microbit.png|200px|right|Zur Programmierumgebung]]
[[Datei:qr_microbit.png|200px|right|Zur Programmierumgebung]]
Als Beispiel nehmen wir hier das Lied, wie es von Esther und Sarah gesungen wird: [[Datei:bananensong.mp3|Bananen Song]]
Als Beispiel nehmen wir hier das Lied, wie es von Esther und Hannah gesungen wird: [[Datei:bananensong.mp3|Bananen Song]]
[[Datei:Musik.png|400px|right|border|Musikblöcke]]
[[Datei:Musik.png|400px|right|border|Musikblöcke]]
Meist endet die Melodie eines Liedes auf dem Grundton, dem 1. Ton der Tonleiter, aus der das Tonmaterial stammt.  
Meist endet die Melodie eines Liedes auf dem Grundton, dem 1. Ton der Tonleiter, aus der das Tonmaterial stammt.  
*Zuerst musst du entscheiden, ob das Lied fröhlich oder traurig klingt. Endet ein fröhliches Lied mit einem C, so ist es wahrscheinlich in C-Dur. Der Grundton ist C. Endet ein Lied mit einem F, so ist es wahrscheinlich in F-Dur. Der Grundton ist F. In welcher Tonart singen Esther und Sarah dieses Lied? Hast du den letzten Ton erkannt? Nein - noch nicht?  
*Zuerst musst du entscheiden, ob das Lied fröhlich oder traurig klingt. Endet ein fröhliches Lied mit einem C, so ist es wahrscheinlich in C-Dur. Der Grundton ist C. Endet ein Lied mit einem F, so ist es wahrscheinlich in F-Dur. Der Grundton ist F. In welcher Tonart singen Esther und Hannah dieses Lied? Hast du den letzten Ton erkannt? Nein - noch nicht?  
*Es gibt viele verschiedene Hilfestellungen, wie du einen Ton findest.  
*Es gibt viele verschiedene Hilfestellungen, wie du einen Ton findest.  
**Wenn du ein Instrument lernst, kannst du den Ton auf deinem Instrument suchen.  
**Wenn du ein Instrument lernst, kannst du den Ton auf deinem Instrument suchen.  
**Wenn du kein Instrument zur Verfügung hast, kannst du den Ton auf dem BBC micro:bit suchen. Öffne dazu die Programmierumgebung [https://makecode.microbit.org/_5PkYAH7HiHca]. In der Kategorie Musik findest du einen Befehl zum Abspielen von Noten. Diesen Befehl ziehst du in den Blockeditor. Wenn du die angezeigte Note anklickst, erscheint eine Klaviertastatur und du kannst sämtliche Noten anspielen. Singe zuerst den Ton und spiele dann (systematisch) auf der Tastatur, bis du die Note gefunden hast. Der Name der Note wird unterhalb der Tastatur angezeigt. Juhu, du hast bereits den ersten Ton für deine Liedbegleitung.  
**Wenn du kein Instrument zur Verfügung hast, kannst du den Ton auf dem BBC micro:bit suchen.  
**Im Internet findest du viele gute Musikseiten, mit denen du dein Gehör trainieren, bestimmte Töne erkennen kannst. Gehe z. B. zum Klaviersimulator .... Singe zuerst den Ton! Dann suchst du ihn auf dem (simulierten) Instrument!
***Öffne die Programmierumgebung [https://makecode.microbit.org/_5PkYAH7HiHca]. In der Kategorie Musik findest du einen Befehl zum Abspielen von Noten. Diesen Befehl ziehst du in den Blockeditor.  
 
***Wenn du die angezeigte Note anklickst, erscheint eine Klaviertastatur und du kannst sämtliche Noten anspielen.  
***Singe zuerst den Ton und spiele dann auf der Tastatur, bis du die Note gefunden hast.  
***Der Name der Note wird unterhalb der Tastatur angezeigt. Juhu, du hast bereits den ersten Ton für deine Liedbegleitung.
==Wie kannst du dem BBC micro:bit Töne entlocken?==   
==Wie kannst du dem BBC micro:bit Töne entlocken?==   
Bist du schon zur Programmierumgebung [https://makecode.microbit.org/_5PkYAH7HiHca] gegangen?
Bist du schon zur Programmierumgebung [https://makecode.microbit.org/_5PkYAH7HiHca] gegangen?
In der Kategorie Musik findest du viele Befehle zum Musizieren.
In der Kategorie Musik findest du viele Befehle zum Musizieren.
[[Datei:....png|400px|right|border|Lied]]
[[Datei:....png|400px|right|border|Lied]]
[[Datei:Pins.png|400px|border|right|Abfragen von analogen und digitalen Pin-Werten]]
Jetzt musst du eine grundsätzliche Entscheidung treffen.  
Jetzt musst du eine grundsätzliche Entscheidung treffen.  
*Du kannst die Begleitung so programmieren, dass sie immer in derselben Art und Weise abgespielt wird. Dann musst du dich beim Singen an die Begleitung anpassen.  
*Du kannst die Begleitung so programmieren, dass sie immer in derselben Art und Weise abgespielt wird. Du programmierst mit den entsprechenden Blöcken aus der Kategorie Musik das Abspielen der Noten mit den gewünschten Tonhöhen und Notenwerten. Beim Singen musst du dich dann an die programmierte Begleitung anpassen.  
*Du kannst die Begleitung aber auch so programmieren, dass ein Ton nur abgespielt wird, wenn ein bestimmtes Ereignis eintritt, z.B. das Schließen eines Stromkreises. In diesem Fall kannst du die Begleitung während des Singens steuern.  
*Du kannst die Begleitung aber auch so programmieren, dass ein Ton nur abgespielt wird, wenn ein bestimmtes Ereignis eintritt, z.B. das Schließen eines Stromkreises. In diesem Fall kannst du die Begleitung während des Singens steuern. So kannst du auch mit einer Freundin oder einem Freund musizieren.  
[[Datei:Pins.png|400px|border|Abfragen von analogen und digitalen Pin-Werten]]
Wir entscheiden uns hier für die 2. Variante, so wie es Esther und Hannah gemacht haben. Das Abspielen eines Tones wird ausgelöst durch ein bestimmtes Ereignis, z.B. durch Schließen eines Stromkreises.
===Tonhöhe===
*
<spoiler text="Blöcke">[[Datei:...|border|600px |Lied]]</spoiler>


===Notenwert===
==Baue Stromkreise für den Lautsprecher und zur Tonausgabe!==
Du willst die Tonausgabe während des Liedes steuern?
*Baue einen Stromkreis für den Lautsprecher! Verwende dazu Pin 0 und GND.
*Baue einen Stromkreis für den Grundton! Verwende dazu Pin 1 und GND.
*Baue einen Stromkreis für die 5. Stufe! Verwende dazu Pin 2 und GND.
*Baust du in den Stromkreis für einen Ton einen Schalter ein, kannst du die Ausgabe des Tons durch Öffnen oder Schließen des Stromkreises ansteuern.
[[Datei:Spannungswarnung.png|right|200px|Spannungswarnung]]
Esther und Hannah verwenden als Schalter für den Stromkreis zur Ausgabe von einem Ton zwei Wasserbehälter. Tauchen sie ihre beiden Füße oder ihre beiden Hände in je einen Wasserbehälter, so schließen sie mit ihrem Körper den Stromkreis. Ein Ton wird ausgegeben. Bei dieser batteriebetriebenen Versuchsanordnung mit einer Stromspannung von 3 Volt und einer Stromstärke von wenigen Milliampere können sie sich gefahrlos in den Stromkreis begeben.


: Hast du schon alle Blöcke gesammelt und richtig angeordnet?
Sobald du ein Gerät an eine Steckdose anschließt, darf du nicht mehr in den Stromkreis greifen! Bereits bei einer Stromspannung von mehr als 24 Volt und einer Stromstärke über 0,1 A wird es für den Menschen unangenehm oder sogar gefährlich! Greife also nie in einen Stromkreis, der über eine Steckdose führt!
<ol>
<li>E... <spoiler text="Blöcke"> [[Datei:....png|800px|Icon|border|Beschreibung]]</spoiler>
*Hast du die erstellten Blöcke schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:A....png|800px|Icon|border|Beschreibung]]</spoiler>
<li></li>
*
*Hast du die erstellten Blöcke für ... schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:....png|800px|Icon|Spiele ... Norden]]</spoiler>


...
==Programmiere!==
</ol>
===Hinweis 1 ===
Mach' dir einen Plan!
*Was ist dein Input, was ist dein Output? Wie hängen Input und Output zusammen?
*Dein Programm muss gestartet werden. Sobald es gestartet ist, soll es dauerhaft laufen, bist du es durch Drücken des Schalters A beendest.
**Du fragst ab, ob der Stromkreis mit Pin 1 geschlossen ist. Ist dieser Stromkreis geschlossen, gibst du den Grundton aus.
**Du fragst ab, ob der Stromkreis mit Pin 2 geschlossen ist. Ist der Stromkreis geschlossen, gibst du die 5. Stufe aus.  
Gar nicht so aufwändig, oder?


Beginne mit dem Hinzufügen einer Variablen zum Speichern des Grundtons deines Liedes. Stelle den Wert der Variablen auf dem Notenblock ein.
===Hinweis 2 ===
Als zweiten Ton zum Begleiten nimmst du auf dem Notenblock den 5. Ton der Tonleiter (5. Stufe vom Grundton).
Hast du schon alle Blöcke erstellt und richtig zusammengesetzt?
Wir wollen Musik hören. Dazu baust du einen Stromkreis für den Lautsprecher und Stromkreise für deine Töne. Verwende dazu die verschiedenen Pins P0, P1, P2.
*Beginne mit dem Hinzufügen einer Variablen zum Speichern des Grundtons deines Liedes. Stelle den Wert der Variablen auf dem Notenblock ein.  
Baue in den Stromkreis für die Töne zwei Wasserbehälter ein. Tauchst du deine Füsse oder deine Hände in die Wasserbehälter, so schließt du mit deinem Körper den Stromkreis. Bei dieser batteriebetriebenen Versuchsanordnung mit einer Stromspannung von 3 Volt und einer Stromstärke von wenigen Milliampere kannst du dich gefahrlos dem Stromkreis aussetzen. Sobald du ein Gerät an eine Steckdose anschließt, darf du nicht mehr in den Stromkreis greifen! Bereits bei einer Stromspannung von mehr als 24 Volt und einer Stromstärke über 0,1 A wird es für den Menschen unangenehm oder sogar gefährlich! Greife also nie in eine Steckdose!
*Als zweiten Ton zum Begleiten nimmst du auf dem Notenblock den 5. Ton der Tonleiter (5. Stufe vom Grundton).
Durch Schließen des Stromkreises löst du die Ausgabe des Tones über den Lautsprecher aus.
*Die Tonausgabe erfolgt, sobald der zugehörige Stromkreis geschlossen ist. Ist der Stromkreis geschlossen, hat der Pin den digitale Wert 1. Beim Öffnen ändert sich der digitale Wert auf 0.
Die Tonhöhe und den Notenwert programmierst du in Abhängigkeit vom Pin-Wert.


==Lösung vergleichen==
Hier kannst du dein Programm vergleichen. <spoiler text="Blöcke">
<pre id=01">
let Stufe_5 = 0
let Grundton = 0
Grundton = 262
Stufe_5 = 196
input.onPinPressed(TouchPin.P1, function () {
    music.playTone(Grundton, music.beat(BeatFraction.Whole))
})
input.onPinPressed(TouchPin.P2, function () {
    music.playTone(Stufe_5, music.beat(BeatFraction.Whole))
})


</pre></spoiler>


===Lösung vergleichen===
:Dein Programm kannst du hier vergleichen. <spoiler text="Blöcke"> [[Datei:Loesung.png|800px|Icon|border|Lösung Summer Spash mit Musik]]</spoiler>


==Wie spielst du ....?==
[[Summer Splash Music|Zurück zur Aufgabe]]
:...
:Wenn du mehr über die Funktionsweise ...wissen möchtest,  <spoiler text="Blöcke"> [[Datei:....png|500px|Icon|border|]]</spoiler>
:Hast du die Blöcke schon zusammengesetzt? <spoiler text="Blöcke"> [[Datei:....png|500px|Icon|border|]]</spoiler>
...


[[Summer Splash mit Musik|Zurück zur Aufgabe]]
<htmlet>makecode_embed</htmlet>

Aktuelle Version vom 7. Dezember 2021, 22:30 Uhr

Hilfestellungen und Lösung zu Summer Splash Music

Suche dir ein einfaches Lied aus, das du gerne singst und bestimme die Tonart!

Zur Programmierumgebung
Zur Programmierumgebung

Als Beispiel nehmen wir hier das Lied, wie es von Esther und Hannah gesungen wird: Bananen Song

Musikblöcke
Musikblöcke

Meist endet die Melodie eines Liedes auf dem Grundton, dem 1. Ton der Tonleiter, aus der das Tonmaterial stammt.

  • Zuerst musst du entscheiden, ob das Lied fröhlich oder traurig klingt. Endet ein fröhliches Lied mit einem C, so ist es wahrscheinlich in C-Dur. Der Grundton ist C. Endet ein Lied mit einem F, so ist es wahrscheinlich in F-Dur. Der Grundton ist F. In welcher Tonart singen Esther und Hannah dieses Lied? Hast du den letzten Ton erkannt? Nein - noch nicht?
  • Es gibt viele verschiedene Hilfestellungen, wie du einen Ton findest.
    • Wenn du ein Instrument lernst, kannst du den Ton auf deinem Instrument suchen.
    • Wenn du kein Instrument zur Verfügung hast, kannst du den Ton auf dem BBC micro:bit suchen.
      • Öffne die Programmierumgebung [1]. In der Kategorie Musik findest du einen Befehl zum Abspielen von Noten. Diesen Befehl ziehst du in den Blockeditor.
      • Wenn du die angezeigte Note anklickst, erscheint eine Klaviertastatur und du kannst sämtliche Noten anspielen.
      • Singe zuerst den Ton und spiele dann auf der Tastatur, bis du die Note gefunden hast.
      • Der Name der Note wird unterhalb der Tastatur angezeigt. Juhu, du hast bereits den ersten Ton für deine Liedbegleitung.

Wie kannst du dem BBC micro:bit Töne entlocken?

Bist du schon zur Programmierumgebung [2] gegangen? In der Kategorie Musik findest du viele Befehle zum Musizieren.

Lied
Lied
Abfragen von analogen und digitalen Pin-Werten
Abfragen von analogen und digitalen Pin-Werten

Jetzt musst du eine grundsätzliche Entscheidung treffen.

  • Du kannst die Begleitung so programmieren, dass sie immer in derselben Art und Weise abgespielt wird. Du programmierst mit den entsprechenden Blöcken aus der Kategorie Musik das Abspielen der Noten mit den gewünschten Tonhöhen und Notenwerten. Beim Singen musst du dich dann an die programmierte Begleitung anpassen.
  • Du kannst die Begleitung aber auch so programmieren, dass ein Ton nur abgespielt wird, wenn ein bestimmtes Ereignis eintritt, z.B. das Schließen eines Stromkreises. In diesem Fall kannst du die Begleitung während des Singens steuern. So kannst du auch mit einer Freundin oder einem Freund musizieren.

Wir entscheiden uns hier für die 2. Variante, so wie es Esther und Hannah gemacht haben. Das Abspielen eines Tones wird ausgelöst durch ein bestimmtes Ereignis, z.B. durch Schließen eines Stromkreises.

Baue Stromkreise für den Lautsprecher und zur Tonausgabe!

Du willst die Tonausgabe während des Liedes steuern?

  • Baue einen Stromkreis für den Lautsprecher! Verwende dazu Pin 0 und GND.
  • Baue einen Stromkreis für den Grundton! Verwende dazu Pin 1 und GND.
  • Baue einen Stromkreis für die 5. Stufe! Verwende dazu Pin 2 und GND.
  • Baust du in den Stromkreis für einen Ton einen Schalter ein, kannst du die Ausgabe des Tons durch Öffnen oder Schließen des Stromkreises ansteuern.
Spannungswarnung
Spannungswarnung

Esther und Hannah verwenden als Schalter für den Stromkreis zur Ausgabe von einem Ton zwei Wasserbehälter. Tauchen sie ihre beiden Füße oder ihre beiden Hände in je einen Wasserbehälter, so schließen sie mit ihrem Körper den Stromkreis. Ein Ton wird ausgegeben. Bei dieser batteriebetriebenen Versuchsanordnung mit einer Stromspannung von 3 Volt und einer Stromstärke von wenigen Milliampere können sie sich gefahrlos in den Stromkreis begeben.

Sobald du ein Gerät an eine Steckdose anschließt, darf du nicht mehr in den Stromkreis greifen! Bereits bei einer Stromspannung von mehr als 24 Volt und einer Stromstärke über 0,1 A wird es für den Menschen unangenehm oder sogar gefährlich! Greife also nie in einen Stromkreis, der über eine Steckdose führt!

Programmiere!

Hinweis 1

Mach' dir einen Plan!

  • Was ist dein Input, was ist dein Output? Wie hängen Input und Output zusammen?
  • Dein Programm muss gestartet werden. Sobald es gestartet ist, soll es dauerhaft laufen, bist du es durch Drücken des Schalters A beendest.
    • Du fragst ab, ob der Stromkreis mit Pin 1 geschlossen ist. Ist dieser Stromkreis geschlossen, gibst du den Grundton aus.
    • Du fragst ab, ob der Stromkreis mit Pin 2 geschlossen ist. Ist der Stromkreis geschlossen, gibst du die 5. Stufe aus.

Gar nicht so aufwändig, oder?

Hinweis 2

Hast du schon alle Blöcke erstellt und richtig zusammengesetzt?

  • Beginne mit dem Hinzufügen einer Variablen zum Speichern des Grundtons deines Liedes. Stelle den Wert der Variablen auf dem Notenblock ein.
  • Als zweiten Ton zum Begleiten nimmst du auf dem Notenblock den 5. Ton der Tonleiter (5. Stufe vom Grundton).
  • Die Tonausgabe erfolgt, sobald der zugehörige Stromkreis geschlossen ist. Ist der Stromkreis geschlossen, hat der Pin den digitale Wert 1. Beim Öffnen ändert sich der digitale Wert auf 0.

Lösung vergleichen

Hier kannst du dein Programm vergleichen. <spoiler text="Blöcke">

let Stufe_5 = 0
let Grundton = 0
Grundton = 262
Stufe_5 = 196
input.onPinPressed(TouchPin.P1, function () {
    music.playTone(Grundton, music.beat(BeatFraction.Whole))
})
input.onPinPressed(TouchPin.P2, function () {
    music.playTone(Stufe_5, music.beat(BeatFraction.Whole))
})

</spoiler>


Zurück zur Aufgabe