RASPBERRY PI. Physical Computing

Ähnliche Dokumente
Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung

Der CodeBug. B) Physical Computing. 1) Einleitung

Der BBC Micro:Bit. B) Physical Computing. 1) Experimente mit LEDs a) Grundlagen

Raspberry Pi Lüftersteuerung

Minecraft. Starte anschließend die Programmiersprache Python, indem du folgenden Befehl in das Terminalfenster eingibst:

Der CodeBug. A) Erste Schritte. 1) Einleitung

M15 - Physical Computing mit dem Raspberry Pi I

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

Informatik Enlightened. Station 0 - Einstieg

Workshop 4: Raspberry Pi

Praktikum Komponenten & Programmierung von Automatisierungssystemen

DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino

- Der heisse Draht - Physical Computing. Workshop Oktober 2015 Olav Schettler

1,8 Display Bedienungsanleitung Raspberry Pi

Linkerkit OLED Raspberry Pi und Arduino

Raspberry Pi Rezepte Teil 5

FÜR KIDS RASPBERRY PI. Für Scratch 2. Rasperry Pi nicht enthalten

Raspberry Pi Rezepte Teil 6 Das ADC des guten Geschmacks

Eine tastengesteuerte Ampelanlage

Was so passieren wird:

EXP500. Ausgabe Copyright by Joy-IT 1

Mikrocontroller: Einführung

Mikrocontroller: Einführung

Bedienungsanleitung. Abb. 1 Abb. 2

8.3 Taster am µcontroller

KY-001 Temperatur Sensor Modul

MSP-EXP430F5529LP. LaunchPad Entwicklungskit MSP-EXP430F5529LP. Schnellstart mit dem Texas Instruments. LaunchPad Entwicklungskit

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino

I2C Serial 2.6 LCD Modul

ARDF Maus. Schaltungsbeschreibung

3,2 Touch-Display-V2 / 3,5 Touch-Display Bedienungsanleitung [Version ]

Ampelsteuerung Merkblatt 1 Wie werden die Bauteile angeschlossen?

Adventskalender Raspberry Pi 2017

VOLTmonitor. VOLTmonitor. Schritt 1: Schaltung. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p... 1 of

LinkerKit LK-Temp2 Raspberry Pi und Arduino

Dokumentation Raspberry USV+ E

Raspberry Pi. AddOn. Der Port-Expander MCP23S17 (Teil 2) by Erik Bartmann

Sehr geehrter Kunde, Seite 2

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

RFID RC522. Ausgabe Copyright by Joy-IT 1

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Eine tastergesteuerte LED

Anleitung Light Module LM2-S

Die Reihenschaltung und Parallelschaltung

Bauanleitung. Wechselblinker. Nicola Ramagnano, Julian Müller. 09. Oktober 2012

Infokarte: Snap4Arduino

SINNsorik Wahrnehmen durch Sensoren NAME, KLASSE:

3 Verkehrsampel So funktioniert es 34

Skriptum zum. Raspberry Pi. Stand 05. November. Raspberry Pi is a trademark of the Raspberry Pi Foundation

ARDUINO Übung. Inhalt:

Ampelschaltung mit dem Raspberry Pi

MotoPi. Ausgabe Copyright by Joy-IT 1

Kapitel. Eins zurück, zwei vor: die ersten Schritte

Versuch 5: Linux embedded

Der Transistor (Grundlagen)

Jugend Programmiert Die. Schlaue Pflanze.

Verdrahten des GPS Empfängers mit dem Raspberry Pi:

3,2 Touch-Display-V2 Bedienungsanleitung

Modellbau Ampel für 10 LEDs (2x Auto- und 2x Füssgängerverkehr)

MotoPi. Ausgabe Copyright by Joy-IT 1

3,2 Touch-Display-V2 Bedienungsanleitung [Version (Raspberry Pi 3)]

ArduBlock Station 4 - Farbthermometer

Microcontroller Kurs Programmieren Microcontroller Kurs/Johannes Fuchs 1

Christian Immler. Lieferumfang: 1x 192-seitiges Handbuch. 41 Bauteile:

3 Verkehrsampel So funktioniert es 32

Bedienungsanleitung Folientastatur & Controller

LED Skalenbeleuchtung mit einem Arduino

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:

Lötfigur. Inhaltsverzeichnis

Aufgaben zur Attiny-Platine

Arduino 1/10. Das erste Programm: LED-Blinklicht. Einzelheiten der Schaltung. Programm für das Blinklicht

Stefan Schröder Hard- und Softwareentwicklungen. Steuerung für GPRS-Module und elektronische Sicherung. Zum Neetzekanal Brietlingen

Manuelle Konfiguration Ihrer Lautsprecher/Subwoofer mit BeoLab Transmitter 1

Eingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Konfiguration der PV-Station mit integrierten LAN-Modem

LED DMX & PWM Dimmer - RGBW Bedienungsanleitung

Benötigte Teile für die Statusanzeige, Kosten und Beschaffungslinks:

Weichenanzeige, mit 2 LED s, kompatibel zum Anschluss direkt an grünen Trix-Schalter 0,25W

AMG-GSM-DIALER-02 31/08/2015 (05)

TNX Series. page 1-3 USER S MANUAL. TNX-10a TNX-12a TNX-15a

Schrittmotor Parallel Port Interface Platine

Fühlen, Kontrollieren, Interagieren

LCD Display 20x4 mit Buttons

Schnelleinstieg. Steckbretter

Einführung Arduino - Aufbau

Arduino Digispark. Ausgabe Copyright by Joy-IT 1

Abb. 1: Unser Experimentierset

Arduino Mikrocontrolling

Herzlichen Glückwunsch zum Dinamo Plug & Play Starter-Set!

Was ist ein Stromkreis?

Wunderst du dich auch manchmal, wo die ganzen Kekse hin sind? Mit diesem Projekt kommst du dem Dieb schnell auf die Schliche.

TURN ON YOUR CREATIVITY RASPBERRY PI

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Aufgabe Im Quadrat fahren

am besten erst den ganzen Abschnitt lesen, besonders das mit dem patch!

Wichtig zu erwähnen ist, dass es sich hier um ein SMD Bauteil handelt und für Lötanfänger nicht geeignet ist!

Datenblatt zu PKKC1091 V2.2 Pufferakku-Ladeschaltung / USV

Transkript:

RASPBERRY PI Physical Computing Mit dem Raspberry Pi kann man Leuchtdioden aber auch Geräte steuern. Man braucht dazu eine geeignete Programmierumgebung. Python und Scratch sind solche geeigneten Programmiersprachen. Scratch ist die einfachere Programmiersprache. Mit dieser können wir Leuchtdioden z.b. zum Blinken bringen. Wir brauchen dazu: 1) ScratchGPIO Das ist eine kleine Erweiterung für Scratch um damit die GPIO-Pins des Raspberry Pi zum Steuern unter Scratch verwenden zu können. Wie können wir ScratchGPIO einrichten? Wir öffnen das LXTerminal unseres Raspberry Pi-Desktops und tippen in die Kommandozeile: wget http://bit.ly/1wxrqdp -O isgh7.sh Nachdem wir mit Enter bestätigt haben, wird der Installer heruntergeladen. Danach tippen wir in die Kommandzeile: sudo bash isgh7.sh ScratchGPIO7 wird installiert. Auf dem RasPi-Desktop erscheinen zwei Icons mit den Namen ScratchGPIO7 und ScratchGPIO7plus. Die Scratch-Oberfläche hat sich nicht verändert, aber einige zusätzliche Scripts ermöglichen Scratch nun mit den GPIO-Pins des Raspberry Pi zu kommunizieren. Beim Starten von Scratch erscheint als Erstes ein Dialog, der meldet, dass die Remote Sensor Extensions nun aktiviert sind. Dies quittieren wir mit OK! (ScratchGPIO7 ist die Standartversion während ScratchGPIO7plus für kompliziertere Projekte verwendet wird.) Heerdegen-Leitner & Heerdegen, 2016 Seite 1

2) Benötigte elektronische Bauteile.) eine Steckplatine (Breadboard) - damit ersparen wir uns das Löten; die beiden äußeren (rot, blau) Längsreihen sind mit Kontakten miteinander verbunden. Sie werden oft als Plus- und Minuspol zur Stromversorgung genutzt. Bei den inneren (grün) Reihen sind jeweils 5 Kontakte miteinander verbunden..) Leuchtdioden - oder LEDs leuchten, wenn Strom in einer Richtung durch sie fließt. Sie haben zwei Anschlussdrähte, einen längeren, das ist der Pluspol oder die Anode und einen kürzeren, das ist der Minuspol oder die Kathode. LEDs haben nur einen sehr geringen Widerstand, d.h. sie lassen beliebig viel Strom durch. Damit sie nicht sofort durchbrennen, muss zwischen dem GPIO-Pin und dem Pluspol der LED ein Widerstand (VORwiderstand) eingebaut werden..) elektrische Widerstände (220 Ohm, 20 MOhm) - sie begrenzen den Strom, der durch eine Leitung fließt. Die Maßeinheit für den Widerstand ist Ohm. Auf ganz alten Widerständen sieht man noch den Widerstandswert in ganz kleinen, sehr schwer lesbaren Zahlen. Heute wird der Widerstandswert mit Farbcodes (verschiedene farbige Ringe auf den Widerständen) angegeben..) Jumper-Kabel (male - male) - sie werden als Steckbrücken auf dem Steckbrett gebraucht. Man kann sich auch mit kleinen Drahtstücken solche Steckbrücken bauen. Heerdegen-Leitner & Heerdegen, 2016 Seite 2

.) Jumper-Kabel (female - male) - mit ihnen wird die Verbindgung zwischen GPIO-Pin des Raspberry Pi und der Steckplatine hergestellt. 3) GPIO-Schnittstelle Der Raspberry Pi hat eine Ein- und Ausgabeeinheit, die GPIO-Schnittstelle (General Purpose Input/Output). Es handelt sich dabei um zwei Reihen mit insgesamt 40 Pins (beim älteren Modell B sind es nur 26 Pins). An diese Pins können wir mit Jumper-Kabeln elektrische Schaltkreise anschließen. Hier eine Übersicht über die 40 Pins und deren Aufgaben: Die mit einer Zahl bezeichneten Pins (z.b. GPIO17) können sowohl als Eingang als auch als Ausgang verwendet werden. An ihnen liegt entweder die Spannung 0 Volt oder +3,3 Volt an! Es gibt je zwei Pins mit +3,3 Volt Spannung und +5 Volt Spannung. Außerdem gibt es acht Pins mit Masseanschluss (Ground)! 4) Projekt 1: Eine blinkende LED Für unser erstes Beispiel verwenden wir Pin# 06 (Ground), also einen Masseanschluss und Pin# 11 (GPIO17). Heerdegen-Leitner & Heerdegen, 2016 Seite 3

Wir bauen die abgebildete Schaltung auf unserem Steckbrett auf: eine LED, ein Widerstand (220 Ohm), zwei Jumper-Kabeln Wir wollen Pin# 11 (also GPIO17) als Ausgang verwenden, wir kreieren in SCRATCH folgenden Befehlsblock und klicken ihn an: Heerdegen-Leitner & Heerdegen, 2016 Seite 4

Danach brauchen wir noch folgende Befehlsblöcke: Klicken wir den on-befehlsblock an, fließt Strom, die LED leuchtet, klicken wir den off- Befehlsblock an, fließt kein Strom, die LED leuchtet nicht. Statt "on" und "off" können wir auch "high" (Strom fließt) und "low" (Strom fließt nicht) schreiben. Statt "gpio17" können wir auch "pin11" verwenden. Wir können aber auch "1" (Strom fließt) oder "0" (Strom fließt nicht) verwenden. Dann müssen wir aber in Scratch mit dem Operator "verbinde" arbeiten. Mit folgendem kleinen Script können wir unsere LED bereits blinken lassen: Heerdegen-Leitner & Heerdegen, 2016 Seite 5

5) Das Projekt 1 in Python Die Bibliothek RPi.GPIO muss zuerst installiert werden, um die GPIO-Ports des Raspberry Pi nutzen zu können. Wir gehen dazu in das LXTerminal und geben folgende Befehle ein: sudo apt-get update sudo apt-get install python-dev sudp apt-get install python-rpi.gpio Die notwendigen und vor allem aktuellen Module werden installiert. Nur mit Administratoren-Rechten können wir auf die GPIO-Schnittstelle zugreifen. Im LXTerminal geben wir folgenden Befehl ein: sudo idle3 Wir importieren das Modul RPI.GPIO mit dem Befehl from RPi import GPIO Mit setmode() geben wir an, mit welcher Art von Pin-Nummerierung wir arbeiten. GPIO.setmode(GPIO.BOARD) Nun können wir mit den Pin-Nummern arbeiten, die bei der etwas weiter oben stehenden Übersicht mit Pin# bezeichnet sind. Wir machen Pin#11 zum Ausgabekanal! GPIO.setup(11, GPIO.OUT) Mit dem Befehl GPIO.output(11, True) oder GPIO.output(11, 1) leuchtet die LED! Der Wahrheitswert "True" bedeutet, dass am Pin 11 ein Spannungspegel von 3,3 Volt anliegt. Es fließt also Strom. (1 = Strom fließt) Heerdegen-Leitner & Heerdegen, 2016 Seite 6

Mit dem Befehl GPIO.output(11, False) oder GPIO.output(11, 0) wird die LED ausgeschaltet! Der Wahrheitswert "False" bedeutet, dass am Pin 11 ein Spannungspegel von 0 Volt anliegt. Es fließt also kein Strom. (0 = Strom fließt nicht) Das fertige Programm wird folgendermaßen erstellt:.) Wir öffnen das LXTerminal und geben ein nano LED1.py.) Der Texteditor öffnet sich und wir tippen das Programm ein! from RPi import GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, True) GPIO.output(11, False) while True: leitet eine Endlosschleife ein. Der eingerückte Block wird ewig wiederholt, weil die Bedingung der while-anweisung immer wahr (True) ist. Das Programm wird mit der Tastenkombination Strg+C abgebrochen (Keyboard- Interrupt)!.) Mit der Tastenkombination STRG+X und anschließendem Bestätigen mit ENTER speichern wir die Datei ab!.) Aufrufen können wir die Datei im LXTerminal mit dem Befehl sudo python LED1.py.) Oder wir rufen im LXTerminal den Befehl Heerdegen-Leitner & Heerdegen, 2016 Seite 7

sudo idle3 auf und wählen in der Python Shell File - Open und öffne die Datei LED1.py. Anschließend wählen wir Run - Run Module und das Programm wird ausgeführt 6) Projekt 2: Zwei blinkende LEDs Zwei LEDs sollen nach einem bestimmten Muster blinken. Zuerst sind beide LEDs ausgeschaltet. Jetzt soll die erste LED leuchten, dann sind beide wieder ausgeschaltet. Dann soll die zweite LED leuchten. Wieder sind danach beide LEDs ausgeschaltet. Zum Schluss sollen alle beiden LEDs blinken. Danach beginnt das Blinkmuster wieder von vorne. Mit dem Wiederhole-Befehl können wir entscheiden, wie oft das Blinkmuster aufgerufen werden soll. Für dieses Beispiel verwenden wir Pin# 01 (3,3 V), Pin#10 (GPIO15) und Pin#12 (GPIO18). Wir bauen die abgebildete Schaltung auf unserem Steckbrett auf: zwei LEDs, zwei Steckbrücken, zwei Widerstände (220 Ohm), drei Jumperkabeln (female - male) Pin#10 und Pin#12 sollen als Ausgang verwendet werden. Wir programmieren in Scratch: An Pin#01 ist immer ein Spannungspegel von 3,3 Volt vorhanden. Heerdegen-Leitner & Heerdegen, 2016 Seite 8

Wenn wir nun programmieren dann ist auch an Pin#10 ein Spannungspegel von 3,3 Volt vorhanden. Beide Pins (Pin#01 und Pin#10) haben das gleiche elektrische Potenzial, zwischen ihnen gibt es keine Spannung und es fließt deshalb kein Strom. Die LED leuchtet nicht. Wenn wir aber programmieren dann ist an Pin#10 eine Spannung von 0 Volt. Damit wird dieser Pin gegenüber Pin#01 zum Minuspol, weil an Pin#1 immer noch 3,3 Volt anliegen. Es fließt also Strom, die LED leuchtet. Somit programmieren wir der Reihe nach: Beide LEDs leuchten nicht! LED 1 leuchtet eine halbe Sekunde, danach erlischt sie! Es wird eine halbe Sekunde gewartet. LED 2 leuchtet eine halbe Sekunde, danach erlischt sie! Wieder wird eine halbe Sekunde gewartet. Heerdegen-Leitner & Heerdegen, 2016 Seite 9

Beide LEDs werden eingeschaltet. Sie leuchten eine halbe Sekunde. Beide LEDs werden wieder ausgeschaltet. Das ganze Script sieht folgendermaßen aus: Das ganze wiederholen wir 10 mal. Heerdegen-Leitner & Heerdegen, 2016 Seite 10

7) Das Projekt 2 in Python Die Module GPIO und time werden imortiert: from RPi import GPIO import time Es wird die Pin-Nummerierung BOARD eingestellt GPIO.setmode(GPIO.BOARD) Wir definieren PIN#10 und Pin#12 als Ausgang! GPIO.setup(10, GPIO.OUT) GPIO.setup(12, GPIO.OUT) PIN#10 und Pin#12 werden in den Zustand True versetzt. An beiden Pins liegt nun eine Spanung von 3,3 Volt. Es fließt kein Strom durch die LEDs. Beide LEDs leuchten nicht. GPIO.output(10, True) GPIO.output(12, True) Das Programm wartet eine halbe Sekunde Pin#12 wird zuerst in den Zustand False versetzt, es fließt Strom, die LED leuchtet. Nach einer halben Sekunde wird Pin#12 in den Zustand True versetzt, es fließt kein Strom, die LED leuchtet nicht. GPIO.output(12, False) GPIO.output(12, True) Das selbe machen wir mit Pin#10: GPIO.output(10, False) Heerdegen-Leitner & Heerdegen, 2016 Seite 11

GPIO.output(10, True) Nun werden beide LEDs eingeschaltet, PIN#10 und Pin#12 werden in den Zustand False versetzt! Strom fließt. Nach einer halben Sekunde werden sie wieder in den Zustand True versetzt, es fließt kein Strom, LED 1 und LED 2 sind ausgeschaltet. GPIO.output(12, False) GPIO.output(10, False) GPIO.output(12, True) GPIO.output(10, True) Das fertige Programm wird folgendermaßen erstellt:.)wir öffnen das LXTerminal und geben ein nano LED2.py.) Der Texteditor öffnet sich und wir tippen das Programm ein! from RPi import GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(10, GPIO.OUT) GPIO.setup(12, GPIO.OUT) while True: GPIO.output(10, True) GPIO.output(12, True) GPIO.output(12, False) GPIO.output(12, True) GPIO.output(10, False) GPIO.output(10, True) GPIO.output(12, False) Heerdegen-Leitner & Heerdegen, 2016 Seite 12

GPIO.output(10, False) while True: leitet eine Endlosschleife ein. Der eingerückte Block wird ewig wiederholt, weil die Bedingung der while-anweisung immer wahr (True) ist. Das Programm wird mit der Tastenkombination Strg+C abgebrochen (Keyboard- Interrupt)!.) Mit der Tastenkombination STRG+X und anschließendem Bestätigen mit ENTER speichern wir die Datei ab!.) Aufrufen können wir die Datei im LXTerminal mit dem Befehl sudo python LED2.py.) Oder wir rufen im LXTerminal den Befehl sudo idle3 auf und wählen in der Python Shell File - Open und öffne die Datei LED2.py. Anschließend wählen wir Run - Run Module und das Programm wird ausgeführt. 8) Projekt 3: Einfache Verkehrsampel Es soll eine Verkehrsampel mit ihrem typischen Leuchtzyklus - Grün über Gelb nach Rot und dann von einer Leuchtkombination Rot-Gelb wieder auf Grün - aufgebaut und programmiert werden. Wir wollen Pin#06 als Masseanschluss und die Pins #7 (also GPIO04), #12 (also GPIO18) und #18 (also GPIO24) als Ausgänge verwenden. Wir konfigurieren die Namen der Pins in Scratch also folgendermaßen: Wir bauen die abgebildete Schaltung auf unserem Steckbrett auf: drei LEDs (rot, gelb, grün), drei Widerstände (220 Ohm), vier Jumperkabeln (female - male) Heerdegen-Leitner & Heerdegen, 2016 Seite 13

Das fertige Programm sieht dann folgendermaßen aus: Der Leuchtzyklus soll dreimal wiederholt werden! Der zweite Wiederhole-Block lässt die grüne LED 5 mal blinken ehe die gelbe eingeschaltet wird. Heerdegen-Leitner & Heerdegen, 2016 Seite 14

Wir können aber auch die Nummern der Pins (#7, #12 und #18) konfigurieren und unsere Verkehrsampel so programmieren: Heerdegen-Leitner & Heerdegen, 2016 Seite 15

.)Wir öffnen das LXTerminal und geben ein 9) Das Projekt 3 in Python nano Verkehrsampel1.py.) Der Texteditor öffnet sich und wir tippen das Programm ein! from RPi import GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.OUT) GPIO.setup(12, GPIO.OUT) GPIO.setup(18, GPIO.OUT) while True: GPIO.output (7, True) time.sleep (4) GPIO.output (12, True) time.sleep (2) GPIO.output (7, False) GPIO.output (12, False) GPIO.output (18, True) time.sleep (4) GPIO.output (18, False) time.sleep (0.3) GPIO.output (18, True) time.sleep (0.3) GPIO.output (18, False) time.sleep (0.3) GPIO.output (18, True) time.sleep (0.3) GPIO.output (18, False) time.sleep (0.3) GPIO.output (18, True) time.sleep (0.3) GPIO.output (18, False) GPIO.output (12, True) time.sleep (2) GPIO.output (12, False) Heerdegen-Leitner & Heerdegen, 2016 Seite 16

while True: leitet eine Endlosschleife ein. Der eingerückte Block wird ewig wiederholt, weil die Bedingung der while-anweisung immer wahr (True) ist. Das Programm wird mit der Tastenkombination Strg+C abgebrochen (Keyboard- Interrupt)!.) Mit der Tastenkombination STRG+X und anschließendem Bestätigen mit ENTER speichern wir die Datei ab!.) Aufrufen können wir die Datei im LXTerminal mit dem Befehl sudo python Verkehrsampel1.py.) Oder wir rufen im LXTerminal den Befehl sudo idle3 auf und wählen in der Python Shell File - Open und öffne die Datei Verkehrsampel.py. Anschließend wählen wir Run - Run Module und das Programm wird ausgeführt. 10) Projekt 4: Einen Schalter verwenden Ein GPIO-Pin kann auch als Eingang benutzt werden, der einem Computerprogramm 0 oder 1 schickt. Das hängt davon ab, welches Signal am Eingang liegt. Man unterschiedet hier zwischen Low (niedrig) und High (hoch). Dabei bedeutet Low, dass der Eingang mit der Masse verbunden ist (Wert 0) und High, dass am Eingang eine positive Spannung anliegt (Wert 1). ScratchGPIO nutzt interne Pullup-Widerstände im Raspberry Pi, sodass GPIO-Eingänge, an denen ein nicht gedrückter Schalter angeschlossen ist, immer den Wert 1 haben. Verbindet man einen solchen GPIO-Eingang über einen Schalter mit Ground, indem man den Schalter drückt, nimmt er den Wert 0 an. Ein gedrückter Schalter schaltet in ScratchGPIO einen Eingang also nicht ein sondern aus. Mit Hilfe eines Schalters soll eine LED ein- und wieder ausgeschaltet werden. Wir bauen die abgebildete Schaltung auf unserem Steckbrett auf: eine LED, ein Widerstand (220 Ohm), drei Jumperkabeln (female - male), ein Schalter Heerdegen-Leitner & Heerdegen, 2016 Seite 17

Wir konfigurieren Pin#26 als Eingang und Pin#11 als Ausgang. (Das rote Kabel kommt an Pin#26, das grüne Kabel an Pin#11, das blaue Kabel an Pin#6.) Unser Programm in Scratch sieht dann so aus: Wird der Schalter gedrückt, nimmt der GPIO-Eingang an Pin#26 den Wert 0 an! In diesem Fall leuchtet die LED, die am Pin#11 angeschlossen ist 0.5 Sekunden. Danach wird sie wieder ausgeschaltet. Durch Anklicken des roten Stopp-Schildes in der Programmierumgebung Scratch (rechts oben) kann das Programm abgebrochen werden. 11) Projekt 5: Fußgängerampel und Verkehrsampel In diesem Projekt wird eine einfache Verkehrsampel mit einer Fußgängerampel kombiniert. Die Ampelschaltung soll während der Rotphase der Verkehrsampel eine Heerdegen-Leitner & Heerdegen, 2016 Seite 18

Grünphase für die Fußgänger anzeigen. Mit einem Schalter soll die Ampel in Betrieb gesetzt werden. Wir bauen die abgebildete Schaltung auf unserem Steckbrett auf: zwei Steckbretter, zwei LEDs (rot), zwei LEDs (grün), eine LED (gelb), ein Schalter, fünf Widerstände (220 Ohm), sieben Jumperkabeln (female - male), zwei Steckbrücken Das eine Steckbrett enthält die Verkehrsampel für die Autofahrer, das andere die Fußgängerampel mit dem Schalter. Beide Steckbretter brauchen für die LEDs eine Masseleitung. Deshalb brauchen wir die lange Steckbrücke! Auf dem Raspberry Pi werden folgende Pins für die LEDs, den Schalter und die Masse verwendet: pin#16 - Verkehrsampel/grün pin#13 - Verkehrsampel/gelb pin#12 - Verkehrsampel/rot pin#15 - Fußgängerampel/rot pin#18 - Fußgängerampel/grün pin#26 - Schalter pin#6 - Masse Heerdegen-Leitner & Heerdegen, 2016 Seite 19

Das fertige Script sieht dann folgendermaßen aus: Am Beginn zeigt die Verkehrsampel grün (Pin#16) für die Autofahrer und die Fußgängerampel zeigt rot (Pin#15). Wird der Schalter gedrückt, nimmt der GPIO- Eingang an Pin#26 den Wert 0 an! In diesem Fall blinkt die grüne LED der Verkehrsampel dreimal. Danach wird sie ausgeschaltet und die gelbe Verkehrsampel (Pin#13) leuchtet eine Sekunde. Dann zeigt die Verkehrsampel rot (Pin#12), das rote Licht der Fußgängerampel erlischt, das grüne Licht der Verkehrsampel (Pin#18) wird für drei Sekunden eingeschaltet. Dann wieder rot der Fußgängerampel. Nach zwei Sekunden gelb der Verkehrsampel beginnt das Programm wieder von vorne. Durch Anklicken des roten Stopp-Schildes wird das Programm abgebrochen. Heerdegen-Leitner & Heerdegen, 2016 Seite 20