Instructions
Zwei LEDs ein- und wieder auszuschalten, mag im ersten Moment ganz
spannend sein, aber dafür braucht man eigentlich keinen Computer.
Eine Verkehrsampel mit ihrem typischen Leuchtzyklus von Grün über
Gelb nach Rot und dann über eine Lichtkombination Rot-Gelb wieder
zu Grün ist schon etwas spannender.
Bauteile
1 Steckbrett
1 LED rot mit Vorwiderstand
1 LED gelb mit Vorwiderstand
1 LED grün mit Vorwiderstand
4 GPIO-Verbindungskabel
GPIO-Verbindungskabel
Die farbigen Verbindungskabel haben alle auf einer Seite einen Stecker,
auf der anderen Seite eine Steckbuchse, die auf einen GPIO-Pin des
RaspberryPi passt. Die Stecker werden in das Steckbrett gesteckt. Die
programmierbaren GPIO-Pins auf dem Raspberry Pi haben Nummern, die
Masse-Pins sind in der Abbildung mit GND gekennzeichnet.
Schaltdraht
Mit dem Schaltdraht stellen Sie kurze Verbindungsbrücken her, mit
denen Kontaktreihen auf der Steckplatine verbunden werden.
Belegung der GPIO-Pins.
Auf keinen Fall sollte man irgendwelche GPIO-Pins mit-
einander verbinden und abwarten ab, was passiert.
Nicht alle GPIO-Pins lassen sich frei programmieren. Ein paar sind
für die Stromversorgung und andere Zwecke fest eingerichtet.
Einige GPIO-Pins sind direkt mit Anschlü�ssen des Prozessors verbun-
den, ein Kurzschluss kann den Raspberry Pi komplett zerstören.
Verbindet man u�ber eine LED zwei Pins miteinander, muss immer
ein Schutzwiderstand dazwischengeschaltet werden. Eine Ausnahme
bilden die LEDs mit eingebautem Vorwiderstand.
Für Logiksignale muss immer Pin 1 verwendet werden, der +3,3 V
liefert und bis 50 mA belastet werden kann. Pin 6 ist die Masseleitung
fu�r Logiksignale.
Pin 2 und 4 liefern +5 V zur Stromversorgung externer Hardware.
Hier kann so viel Strom entnommen werden, wie das USB-Netzteil
des Raspberry Pi liefert. Diese Pins dü�rfen aber nicht mit einem
GPIO-Eingang verbunden werden.
!
VORSICHTSMASSNAHMEN
Die im Technik-Ei verwendeten Programme gibt es hier
zum Download: conrad.de/technik-eier
Öffnen Sie die Webseite direkt mit dem vorinstallierten Browser auf
dem RaspberryPi und laden Sie die Zip-Datei in das Home-Verzeichnis
/home/pi herunter.
Starten Sie den Dateimanager auf dem RaspberryPi. Dieser zeigt
beim Start automatisch das Home-Verzeichnis an. Klicken Sie mit
der rechten Maustaste auf die heruntergeladene Zip-Datei und
wählen Sie im Kontextmenü Hier entpacken.
Das Downloadarchiv enthält diese Anleitung als PDF in Farbe,
damit Sie auf den Schaltplänen die einzelnen Leitungen sowie die
Abbildungen der Scratch-Programme besser erkennen können.
!
PROGRAMME ZUM DOWNLOAD
Scratch ist auf dem RaspberryPi im Menü unter ‘Entwicklung’
vorinstalliert und gilt als eine der am leichtesten zu erlernenden
Programmiersprachen. Ein Programm wird aus puzzlesteinartigen
Blöcken zusammengeklickt, man braucht sich keine Befehlsnamen
und Syntaxregeln zu merken.
Das neue Scratch 2
Seit der ersten Raspbian-Version war die Programmiersprache Scratch in
der Version 1.x vorinstalliert. Für PCs gibt es seit einigen Jahren die neue
Version Scratch 2 mit deutlich mehr Möglichkeiten. Damit lassen sich
unter anderem eigene Funktionsblöcke erstellen.
Scratch 2 läuft auf dem PC online im Browser. Dafür ist allerdings mehr
Rechenleistung erforderlich, als ein Raspberry Pi zurzeit bieten kann. Seit
der Version NOOBS 2.4.0 ist im Raspbian-Betriebssystem eine Version von
Scratch2 vorinstalliert, die offline ohne Browser läuft und so mit der
Leistung eines Raspberry Pi3 problemlos auskommt. Mit Scratch2 ist
die Hardwaresteuerung über die GPIO-Schnittstelle wesentlich einfacher
geworden. Allerdings werden einige wichtige Funktionen zur GPIO-Steue-
rung noch nicht unterstützt. Deshalb verwenden wir für alle Projekte in
diesem Adventskalender weiterhin das bewährte Scratch1.4.
Scratch vorbereiten
Klicken Sie oben links neben
dem Scratch-Logo auf die
Weltkugel und wählen Sie
Deutsch. Die ausgewählte
Sprache bleibt gespeichert,
muss also nicht jedes Mal neu
ausgewählt werden.
Scratch1.4 bietet eine Unter-
stützung für verschiedene
DIE PROGRAMMIERSPRACHE SCRATCH
Hardwarekomponenten am GPIO-Port, die bei jedem Programm über den
Menüpunkt Bearbeiten/Start GPIO server einmal aktiviert werden muss.
Dass die GPIO-Unterstützung aktiv ist, erkennen Sie daran, dass sich
dieser Menüpunkt in Stop GPIO server ändert. Überprüfen Sie das bei
jedem neuen Scratch-Programm.
Scratch 1.4 auf Deutsch umschalten
Scratch 1.4 GPIO-Server starten
Das erste Experiment lässt zwei LEDs abwechselnd rot und grün
leuchten. Gesteuert wird das Ganze über eine Endlosschleife in Scratch.
Bauteile
1 Steckbrett
1 LED rot mit Vorwiderstand
1 LED grün mit Vorwiderstand
3 GPIO-Verbindungskabel
Achten Sie darauf, dass die LEDs richtig herum eingebaut sind. Die flache
Seite ist in der Abbildung oben. Die Schaltungsaufbauten verwenden die
Kontaktleiste an der einen Längsseite des Steckbretts als Massekontakt.
Hier werden die Kathoden aller LEDs eingesteckt und über ein Kabel mit
einem GND-Pin auf dem Raspberry Pi verbunden.
Das Programm
In Scratch braucht man beim Programmieren keinen Programmcode
zu tippen. Die Blöcke werden einfach per Drag and drop aneinander
gehängt. Die Blockpalette im linken Teil des Scratch-Fensters enthält,
nach Themen geordnet, die verfügbaren Blöcke.
Sie können das Programm auf dem Bildschirm selbst zusammenbauen
oder das Programm 0lblink aus dem Download verwenden. Wählen Sie
dazu im Menü Datei/Öffnen und klicken Sie im nächsten Dialogfeld auf
die Schaltfläche pi, um das persönliche Home-Verzeichnis auszuwählen,
in dem die heruntergeladenen Programme liegen.
Klicken Sie in Scratch oben links auf das gelbe Symbol Steuerung. Dann
werden in der Blockpalette links die Blöcke zur Steuerung angezeigt. Für
dieses erste Programm brauchen wir nur diese gelben Blöcke.
Ziehen Sie die Blöcke, die Sie brauchen, einfach aus der Blockpalette in
das Skriptfenster in der Mitte von Scratch.
Der Block Wenn (Grüne Fahne) angeklickt dient dazu, ein Programm zu
starten. Die folgenden Skriptelemente werden ausgeführt, wenn man auf
das grüne Fähnchen rechts oben in Scratch klickt. Der Block ist oben rund,
passt also unter keinen anderen Block. Er muss immer als Erstes gesetzt
werden.
Die GPIO-Befehle werden über den Scratch-Block sende an alle
ausgegeben. Im Textfeld werden die jeweilige Pinbezeichnung und
entsprechende Schlüsselwörter eingetragen. Klicken Sie dazu in das
Textfeld im Block, wählen Sie Neu/edit... und geben Sie den Text ein.
Am Anfang werden die GPIO-Pins8 und 12 mit config8out und
config12out als Ausgänge definiert. Jeder GPIO-Pin kann entweder
Ausgang oder Eingang sein.
Eine wiederhole fortlaufend-Schleife sorgt dafür, dass die beiden LEDs
endlos blinken, und zwar so lange, bis der Benutzer auf das rote Stopp-
symbol oben rechts in Scratch klickt. Alle Blöcke innerhalb der Schleife
werden wiederholt.
ZWEI LEDS BLINKEN ABWECHSELND ZWEI LEDS BLINKEN ABWECHSELND
Zwei LEDs blinken am Raspberry Pi.
Dieses Scratch-Programm 0lblink steuert die beiden LEDs.
Nachdem die rote LED an Pin8 eingeschaltet und die grüne an Pin12
ausgeschaltet wurden, wartet das Programm eine halbe Sekunde.
Dazu bietet Scratch einen eigenen Block warte ... Sek. an.
Danach werden auf die gleiche Weise die grüne LED an Pin12 einge-
schaltet und die rote an Pin8 ausgeschaltet. Nach einer weiteren
halben Sekunde wiederholt sich der Zyklus von vorne.
Programm speichern
Vergessen Sie nicht, das fertige Programm mit dem Diskettensymbol
oben links zu speichern, um es später wieder verwenden zu können.
Sollen die LEDs schneller blinken, verkürzen Sie die
Zeiten in den beiden warte...Sek-Blöcken innerhalb der
Schleife. Sollen sie langsamer blinken, verlängern Sie die
Wartezeiten. Scratch verwendet wie viele amerikanische
Programme den Punkt statt wie im Deutschen üblich das Komma.
Eine halbe Sekunde Wartezeit schreibt man also 0.5 und nicht 0,5.
TIPP
Ampel aus drei LEDs.





