Instructions

Das Programm
Die Scratch-Bühne, auf der bis jetzt nur die Katze zu sehen ist, kann
deutlich mehr als nur Variablen anzeigen. Hier können Sie grafische
Objekte anlegen, die sich bewegen oder auf Interaktion mit dem Benutzer
reagieren. Jedes Programm kann mehrere Objekte enthalten.
Im Programm 06leds7 verfügt jedes Objekt über eigene Programmblöcke.
Löschen Sie als erstes die Katze, die in diesem Programm nicht gebraucht
wird. Klicken Sie dazu mit der rechten Maustaste auf die Katze im Objekt-
fenster unten rechts und wählen Sie im Kontextmenu� Löschen.
Legen Sie jetzt ein neues Objekt für die erste LED an. Wenn dieses kom-
plett fertig gestaltet und programmiert ist, können Sie es für die anderen
LEDs duplizieren und nur noch geringfügig anpassen. Sie können dieses
Objekt direkt in Scratch malen. Klicken Sie dazu auf das Symbol Neues
Objekt malen im Objektfenster. Scratch enthält ein einfaches
Malprogramm, mit dem Sie einen grauen Kreis als neues Objekt malen.
Geben Sie diesem Objekt im Hauptfenster von Scratch ganz oben den
Namen LED1.
Danach startet eine wiederhole fortlaufend Schleife, die eine zufällig
ausgewählte LED einschaltet und nach 0,1 Sekunden eine zufällig aus-
gewählte LED ausschaltet. Auch hier werden die Texte in den sende ... an
alle Blöcken jedes Mal neu gebaut. Ein Block Zufallszahl von ... bis... von
der grünen Blockpalette Operatoren wählt eine zufällige LED aus.
Die Zufallszahl muss dabei zwischen 1 und der Länge der Liste LEDs, in
unserem Fall 7 liegen.
Da die einzuschaltende und die auszuschaltende LED zufällig und unab-
hängig voneinander ausgewählt werden, können unterschiedlich viele
LEDs gleichzeitig eingeschaltet sein. Es ist sogar möglich, dass sich in
einem Schleifendurchlauf gar nichts verändert.
Sie können das Programm aus dem vorhergehenden umbauen,
da der Anfang weitgehend gleich ist.
Ein Block setze pause auf 5 von der Blockpalette Variablen setzt die
Pause auf 5, was im Programm einer halben Sekunde entspricht.
Eine Endlosschleife schaltet nacheinander die LEDs ein und wieder aus.
Da in Scratch nur Ganzzahlen als Variablenwerte interaktiv einstellbar
sind, dividiert das Programm den Wert der Variablen pause durch 10.
Verwenden Sie dazu den Block .../... von der Blockpalette Operatoren.
Ziehen Sie das Variablensymbol pause von der Blockpalette Variablen
in das linke Feld des Operators und tragen Sie rechts 10 ein.
Um den Wert der Variable im Programm interaktiv ändern zu können,
schalten Sie das Häkchen links neben dem Variablensymbol auf der
Blockpalette Variablen ein. Damit erscheint die Variable auf der Bühne
und zeigt dort immer den aktuellen Wert.
Klicken Sie mit der rechten Maustaste auf die Variable auf der Bühne und
wählen Sie im Kontextmenu� Regler. Damit erscheint ein Regler, mit dem
der Variablenwert eingestellt werden kann.
Klicken Sie dann noch auf Reglerbereich festlegen und setzen den
Maximalwert auf 10, was beim späteren Teilen durch 10 einer Sekunde
Pause entspricht.
Starten Sie das Programm. Automatisch blinken die LEDs nacheinander
auf. Jetzt können Sie mit dem Schieberegler bei der Variable pause auf
der Bühne die Geschwindigkeit einstellen.
Das Programm
Das Programm 04leds enthält gegenüber den bisherigen Programmen
einige neue Elemente.
Legen Sie für dieses Programm auf der Blockpalette Variablen eine
Variable mit Namen i und eine Liste mit Namen LEDs an. Die Variable
i wird für einen Schleifenzähler verwendet. Traditionell verwenden
Programmierer immer i, j, k... für Zähler.
Als erstes wird die Liste LEDs komplett geleert, damit sie aus dem letz-
ten Programmlauf keine Daten mehr enthält. Die Inhalte von Variablen
und Listen bleiben im Speicher, auch wenn das Programm mit dem roten
Stopp-Symbol angehalten und wieder neu gestartet wird.
Anschließend werden nacheinander die sieben Pin-Nummern der für die
LEDs verwendeten GPIO-Pins in die Liste eingetragen.
Die Variable i wird als Schleifenzähler auf 1 gesetzt und eine Schleife
gestartet, die siebenmal durchläuft, entsprechend der Länge der Liste
LEDs. Scratch bietet einen Block Länge von... an, der immer die Länge
einer wählbaren Liste enthält.
Um jeden Pin als Ausgang zu definieren und auch auszuschalten, werden
die Texte in den sende ... an alle Blöcken fu�r jede LED neu zusammen-
gebaut. Der Block verbinde ... ... von der grünen Blockpalette Operatoren
verbindet zwei beliebige Zeichenketten zu einer. Zwei geschachtelte
verbinde ... ... Blöcke verbinden drei Zeichenketten, das Wort config, die
Nummer des dem aktuellen Schleifenzähler entsprechenden GPIO-Pins
und das Wort out, um die Pins als Ausgänge zu definieren. Auf die
gleiche Weise werden mit gpio, der Pinnummer und off die Pins
ausgeschaltet.
Danach wird der Schleifenzähler um 1 erhöht und der nächste Pin als
Ausgang definiert und ausgeschaltet.
Das Scratch-Programm 04leds lässt 7 LEDs zufällig blinken
Das Scratch-Programm 05lauflicht lässt 7 LEDs als Lauflicht leuchten
Variablen sind kleine Speicherplätze, in denen sich ein
Programm eine Zahl oder irgendetwas anderes merkt.
Wenn das Programm beendet wird, werden diese Variablenspeicher
automatisch wieder geleert. Variablen müssen in Scratch auf der
Blockpalette Variablen erst einmal mit einem Klick auf Neue Variable
angelegt werden, bevor man sie benutzen kann. Anschließend können
Sie das Symbol der neu angelegten Variablen aus der Blockpalette in
ein dafür vorgesehenes Feld eines Blocks im Programm ziehen. Auf
der Blockpalette stehen zusätzlich verschiedene Blöcke zum Auslesen
und Verändern der Variablen zur Verfügung.
Eine Liste ist eine besondere Form von Variablen. In solchen Listen
können mehrere Werte gespeichert und über die Position innerhalb
der Liste adressiert werden. Die Listenelemente werden bei 1 begin-
nend hochgezählt. Die Nummer des letzten Elementes entspricht der
Länge der Liste.
i
INFO: VARIABLEN UND LISTEN IN SCRATCH
Der Schaltungsaufbau für dieses Experiment entspricht dem vorher-
gehenden, nur blinken die LEDs nicht zufällig, sondern der Reihe nach
abwechselnd. Der Lauflichteffekt entsteht dadurch, dass eine LED eine
kurze Zeit leuchtet und wenn sie ausgeschaltet wird, sofort die LED
direkt daneben eingeschaltet wird. Nachdem die letzte LED in der Reihe
ausgeschaltet wurde, wird die erste wieder eingeschaltet.
Bauteile
1 Steckbrett
2 LED rot mit Vorwiderstand
2 LED gelb mit Vorwiderstand
2 LED grün mit Vorwiderstand
1 LED blau mit Vorwiderstand
8 GPIO-Verbindungskabel
Das Programm
Das Programm 05lauflicht lässt die LEDs als Lauflicht leuchten.
Die Geschwindigkeit lässt sich interaktiv einstellen, während das Pro-
gramm läuft. Dazu verwendet das Programm eine zusätzliche Variable
pause, die die Pause zwischen zwei Schaltvorgängen angibt.
LAUFLICHT MIT EINSTELLBARER
GESCHWINDIGKEIT
7 LEDs als Lauflicht
Ein einfaches Lichtsteuerpult schaltet die LEDs durch Klicks in Scratch.
Dabei zeigt das Scratch-Steuerpult auch den Zustand der LEDs an.
Bauteile
1 Steckbrett
2 LED rot mit Vorwiderstand
2 LED gelb mit Vorwiderstand
2 LED grün mit Vorwiderstand
1 LED blau mit Vorwiderstand
8 GPIO-Verbindungskabel
LICHTSTEUERPULT IN SCRATCH
7 LEDs mit einem Steuerpult steuern