Wie bringt man Kindern Programmieren näher, ohne erst lange erklären zu müssen, wofür der ganze Code eigentlich gut ist? Am besten funktioniert das meiner Meinung nach, wenn nach den ersten paar Zeilen direkt etwas passiert.
Genau daraus ist dieses kleine Arduino-Projekt entstanden: Bewegliche Pixel mit dem Arduino Uno.
Die Idee ist ziemlich simpel. Auf einem kleinen Brett habe ich einen Arduino Uno und einen LED-Streifen befestigt. Direkt darunter liegt eine laminierte Anleitung mit dem Beispielprogramm. Linien und kurze Erklärungen zeigen den Kindern, welcher Teil des Codes was bewirkt.
Das Ziel für den Anfang: Ein einzelner leuchtender Pixel soll über den LED-Streifen wandern.

Viel braucht man dafür nicht
Neben dem aufgebauten Brett benötigen die Kinder eigentlich nur einen alten Rechner oder ein Notebook. Darauf ist die Arduino IDE 2.x installiert und der Arduino wird per USB angeschlossen.
Der Beispielcode wird anschließend in der Arduino IDE eingegeben, kompiliert und auf den Arduino übertragen.
Dabei finde ich es durchaus sinnvoll, wenn die Kinder den Code tatsächlich selbst eintippen und nicht einfach eine fertige Datei öffnen. Natürlich schleichen sich dabei Tippfehler ein. Eine vergessene Klammer oder ein falscher Buchstabe gehört aber eben auch zum Programmieren dazu. Und umso schöner ist der Moment, wenn das Programm schließlich ohne Fehler übertragen wird und der erste Pixel losläuft.

Was passiert da eigentlich?
Mir war wichtig, nicht einfach nur einen fertigen Code hinzulegen. Die Anleitung erklärt deshalb direkt neben dem Programm, was an den einzelnen Stellen passiert.
Zum Beispiel lernen die Kinder, dass
#define LED_COUNT 15
festlegt, wie viele LEDs der Streifen hat.
Mit
leds.setPixelColor(i, leds.Color(0, 100, 0));
bekommt der aktuelle Pixel seine Farbe und
delay(100);
sorgt für eine kleine Pause. Ohne diese Pause würde unser Lauflicht so schnell über den Streifen flitzen, dass man die einzelnen Schritte kaum erkennen könnte.
Auch die Schleife
for (int i = 0; i < LED_COUNT; i++)
lässt sich an einem Lauflicht schön erklären: Der Arduino zählt die LEDs der Reihe nach durch und die Variable i sagt ihm, welche LED gerade an der Reihe ist.
Damit werden Begriffe wie Variable, Schleife oder Verzögerung nicht nur erklärt. Die Kinder können direkt sehen, was sie bedeuten.
Jetzt wird experimentiert
Für mich beginnt der eigentlich interessante Teil, sobald das Beispiel zum ersten Mal funktioniert.
Denn dann ist das Programm nicht fertig.
Jetzt dürfen die Kinder daran herumspielen.
Was passiert zum Beispiel, wenn aus
delay(100);
plötzlich
delay(500);
wird?
Oder was passiert, wenn man bei
leds.Color(0, 100, 0)
die Zahlen verändert?
Schon können die Kinder ausprobieren, wie sie das Lauflicht schneller oder langsamer machen und ihre eigenen Farben mischen.

Das Schöne daran ist, dass die Auswirkungen einer Änderung sofort sichtbar sind. Code ändern, neu auf den Arduino übertragen – und schauen, was passiert.
So wird aus dem Nachbauen ziemlich schnell eigenes Experimentieren.
Kleine Challenges statt fertiger Lösungen
Auf der laminierten Anleitung befinden sich deshalb auch zwei kleine Herausforderungen:
Kannst du die Geschwindigkeit und die Farbe des Pixels ändern?
Und etwas schwieriger:
Kannst du den Pixel hin und her hüpfen lassen?
Gerade die zweite Aufgabe finde ich schön. Im ursprünglichen Programm läuft der Pixel nur in eine Richtung. Die Kinder müssen also überlegen, wie sie ihn anschließend wieder zurückbekommen.
Dabei kann man ganz nebenbei erklären, warum eine Schleife beispielsweise von 0 bis 14 zählt und eine zweite Schleife anschließend von 14 wieder bis 0 zählen kann.
Wer eine Challenge löst, hat den Beispielcode nicht mehr nur abgeschrieben, sondern angefangen, ihn zu verstehen.

Ein kleines Projekt zum Nachbauen
Der Aufbau eignet sich meiner Meinung nach sowohl für zu Hause mit dem eigenen Nachwuchs als auch als kleiner Mitmachstand bei einem Workshop, einer Schule oder einem Technik-Event.
Man braucht keine besondere Ausstattung und auch keinen aktuellen Computer. Ein älteres Notebook, ein Arduino Uno, ein paar LEDs und die Arduino IDE reichen für den Einstieg vollkommen aus.
Vor allem lässt sich das Projekt später wunderbar erweitern. Aus dem einfachen Lauflicht können zum Beispiel ein Knight-Rider-Licht, ein Regenbogen, zufällige Farben oder kleine Reaktionsspiele entstehen.
Der wichtigste Moment ist aber wahrscheinlich der erste:
Programm eintippen. Auf „Hochladen“ klicken. Und plötzlich bewegt sich das Licht genau so, wie man es gerade selbst programmiert hat.
Genau dieses unmittelbare Erfolgserlebnis macht den kleinen Aufbau für mich zu einem schönen Einstieg ins Programmieren.

