Die visuelle Programmiersprache Scratch eignet sich für Schülerinnen und Schüler aller Altersklassen, die in die Grundlagen der Programmierung einsteigen möchten.
Bevor man in die Arbeit einsteigen kann, muss noch ein Python-Skript geladen werden, das die Kommunikation zwischen den GPIOs des RPi und Scratch organisiert. Führe dazu folgende Kommandos auf der Terminalebene aus:
Nach Ausführung der drei Kommandos erscheint auf dem Desktop ein neues ScratchGPIO3 Icon:
Das Programm wird mit einem Doppelklick auf dieses Icon gestartet. Das Programmfenster ist in drei Abschnitte unterteilt:
Über das Kugelsymbol in der oberen Menüleiste kann die Sprache eingestellt werden. Die Werkseinstellung ist Englisch.
Zu jedem Block lässt sich mit der rechten Maustaste ein Hilfefenster öffnen. Scratchblöcke unterscheiden sich durch ihren Stil:
In einer ersten Übung wird gezeigt, wie man mit Hilfe von Scratch einfache Dialoge visualisieren kann.
Starte das Programm durch einen Klick auf die grüne Flagge.
Illustrierte Kurzgeschichten, einfache Dialoge, einfache Abfragen von Vokabeln und vieles mehr kann auf diese Weise umgesetzt werden.
Eine LED blinkt im Sekundentakt | |
Material |
|
Aufgaben |
|
Schaltskizze
Das Skript LED_Blinker
Wie arbeitet das Skript LED_Blinker?
Das ganze Sprite-Script wird eingerahmt durch den HAT-Block "Wenn Flagge grün angeklickt". Der erste Stack-Block setzt Pin11 des RPi auf GND (off) und wartet eine Sekunde. Da der andere Pol der Schaltung mit Pin1 oder 3,3V verbunden und die LED in Durchlassrichtung geschaltet ist, beginnt sie für eine Sekunde zu leuchten.
Anschließend wird Pin11 auf 1 (on) gesetzt. Die LED geht für eine Sekunde aus. Anschließend beginnt alles wieder von vorne.
Die Ansteuerung von elektronischen Bauteilen ist nicht unbedingt die Stärke des RPi; schon gar nicht mit Scratch. Dagegen lassen sich Graphik- und Tonprojekte mit Hilfe von Scratch schon im Primarbereich verwirklichen. Ein Beispiel wurde in Übung 1 gezeigt. Eine weitere Möglichkeit ist das einfache Erstellen von kleinen Musikstücken unter Sonic Pi. Das zeigen wir in den nachfolgenden Übungen.
Unter Raspbian Stretch ist Sonic Pi bereits vorinstalliert. Starte über das Hauptmenü Entwicklung - Sonic Pi das Programm und gib in der Editoroberfläche ein:
Drücke anschließend den Button Run. Im Kopfhörer solltest du jetzt den Ton C hören. Die Zahl hinter C gibt die jeweilige Oktave an; in diesem Fall also die dritte.
Gib als nächstes ein:
und starte das Programm erneut. Es wird der C-Akkord in der vierten Oktave ausgegeben.
Zum Erhöhen einer Note um einen Halbton setzt man hinter den Buchstaben ein s, zum Verringern ein b. Der Ton H wird im Angelsächsischen mit B bezeichnet. Pausen werden gesetzt mit sleep Zeit. Die Variable Zeit darf auch eine Kommazahl sein; aber Achtung: es muss der Punkt statt eines Kommas gesetzt werden.
Mit diesem Wissen lässt sich bereits eine kleine Melodie erzeugen.
Aufgabe
Eine bekannte Melodie
Ein Synthesizer ist nichts anderes als ein Klangerzeuger. Über sog. Optionen (Opts) lassen sich die Synths verstellen. Opts sind Regler, mit denen sich die Klänge verändern und steuern lassen. Sie bestehen aus zwei Teilen: Name (des Reglers) und (eingestelltem) Wert.
Das Übergabeschema von Opts an die Aufrufe play und sample hat folgendes Aussehen:
Aufgabe
Veränderte Fassung
Sonic Pi stellt 42 verschiedene Synth-Klänge zur Verfügung, die sich über Synths im unteren Teil des Programmfensters aufrufen lassen.
Aufgabe
Eine mögliche Umsetzung
In Sonic Pi wird die Klangdauer über eine sog. Envelope (Hüllkurve) gesteuert. Im Normalfall gibt Sonic Pi jeden Ton mit einer Release-Zeit (Ausklingzeit) von 1s aus. Über
wird die Tonausgabe verkürzt..
Wie der Ton ausklingt, wird über die Releasephase bestimmt. Sie kann linear, exponentiell oder noch anders sein.
Wie der Ton angeschlagen wird, bestimmt die Attackphase. Sie ist normalerweise bei einem Synth identisch 0; manchmal möchte man aber Töne langsam ein- und ausblenden, dann müssen die Attack- und Releasephase > 0 gewählt werden.
Soll der Ton zwischen Attack- und Releasephase noch eine gewisse Zeit gehalten werden, muss noch ein Sustain eingebaut werden.
An einem neuen Musikstück sollen die Unterschiede deutlich gemacht werden.
Aufgabe
Melodie nach "Man of Mystery"
Aufgenommene Sounds (Samples) lassen sich gut in eigene Songs einbinden. Unser Song aus Übung 6 hat noch keine Percussion- und Schlagzeugbegleitung. Das soll in der folgenden Übung nachgeholt werden und dazu werden Samples eingesetzt.
Du findest sie bei Sonic Pi im unteren linken Fenster unter "Samples". Die einzelnen Samples lassen sich über die Opts feineinstellen; Informationen dazu bekommst du im Programmfenster von Sonic Pi.
Aufgaben
Musikstück mit Samples