Im Zusammenhang mit dem Stammtisch Programmieren für alt und jung spiele ich u.a. mit dem Raspberry Pi und hatte bereits die neue Möglichkeit zum Ansteuern der GPIO-Pins mit Scratch entdeckt und hier beschrieben. In den letzten Tagen habe ich mir jetzt einmal GPIO Zero angesehen. Bei Twitter wurde ich nämlich darauf aufmerksam gemacht, dass dieses visuelle Programmieren mit Scratch „kein richtiges Coden“ ist, was mich dann irgendwie dazu antreibt „richtiges“ Programmieren mit Python zu versuchen ;=). GPIO Zero ist ein Teil von Python und jetzt ein erster Schritt dahin.
Obiges Video zeigt als Beispiel eine über den Raspberry Pi gesteuerte Bedarfsampel für Fußgänger. Man sieht auf dem Steckbrett drei große LED (rot, gelb, grün) als Symbole für den Autoverkehr, der in der Regel grün hat.. Darunter befindet sich eine RGB-LED, die den Fußgängerverkehr regelt und von rot und grün wechselt, wenn der darunter liegende Taster betätigt wird.
Ein Beispiel für eine Realisierung dieser Schaltung mit Scratch auf dem Raspberry Pi zeigt der folgende Screenshot. Ich empfehle zum Einstieg in Scratch und GPIO das englischsprachige Tutorial Physical Computing with Scratch.
Nach dem Start des Programms über die grüne Fahne muss zunächst der GPIO-Server eingeschaltet werden, dann werden die benutzen GPIO-Pins konfiguriert und die Funktion der beiden Ampeln wird programmiert.

Screenshot Horst Sievert
Diese Schaltung lässt sich auch mit GPIO Zero realisieren. Ich empfehle zum Einstieg das englische Tutorial Getting Started with GPIO Zero. Die eigentliche Programmierung ist dann keine Zauberei mehr und erklärt sich eigentlich von selbst, wenn man den folgenden Screenshot mit dem vom Scratch-Programm vergleicht.

Screenshot Horst Sievert
Viel Spaß beim adventlichen Basteln wünscht
HoSi.
schön, dass hier das Programmieren und Basteln für uns Senioren thematisiert wird. Selber arbeite ich derzeit mit Snap!, einem etwas aufgebohrten Scratch. Man kann damit durchaus ansprechende und auch anspruchsvolle Sachen machen. Dass das kein richtiges Coden sei, ist Quatsch. Es ist nur eine unterschiedliche Repräsentation der gleichen Sache, die aber für Anfänger total hilfreich ist, weil viele Syntaxfehler einfach nicht gemacht werden (können).
Der Übergang zum „richtigen“ Programmieren mit solchen Sprachen ist (im schulischen Kontext) eigentlich nicht notwendig (Modrow, im LOG IN Heft, S. 137). Und für uns auch nicht, denn umfangreiche professionelle Projekte werden uns doch eher selten beschäftigen.
Wenn dann wie bei GP (steht für General Purpose und ist eine neue visuelle Programmierumgebung; Nachfolger von Snap!) über einen Schieber zwischen visueller und textlicher Repräsentation gewechselt werden kann, wird denjenigen, die nur dann von einer „richtigen“ Programmiersprache sprechen, wenn sie textbasiert ist, wohl viel Wind aus den Segeln genommen.
LikeLike
Danke für die positiven Worte. Zum „richtigen Programmieren“ muss ich noch eine Vermutung nachschieben: Es mag sein, dass das eine nicht ganz ernst gemeinte Anmerkung von einem erfahrenen Programmierer war. Für mich ist jedenfalls das Zusammenfügen von sogenannten Programm-Blöcken sehr viel einfacher als das oft mühsame Schreiben von Programm-Code, denn dabei kommt man oft schon über ein fehlendes Komma oder eine falsche Klammer ins Straucheln.
LikeLike