Artikelformat

LED mit Raspberry PI schalten

Raspberry PI Typ B

Es gab Weihnachten ja wie berichtet einen 2. Raspberry PI um endlich auch mal damit zu basteln.

Als erste kleine Schaltung möchte ich jetzt eine LED zum leuchten bringen.

 

Material:

1 x Raspberry PI
1 x GPIO Kabel zur Steckplatine
1 x Steckplatine (ich nutze eine mit 840 Steckplätzen)
1 x LED (meine ist grün 5mm max 30mA/2,2V)
1 x Widerstand 680Ω ( 1/4W )
diverse Drahtbrücken

Zielsetzung:

Die LED soll über ein Shell Script ein und aus geschaltet werden.

Schaltung:

LED mit Widerstand

LED mit Widerstand gegen Masse an GPIO 2

Die LED wird mittels eines 680 Ω Widerstand gegen Masse an den Pin 9 angeschlossen.

Der gewünschte GPIO2 ist Pin 2 auf dem Stecker der zur Steckplatine führt. Diesen Pin verbinden wir mit der LED.

Da ich die Schaltung später erweitern möchte nutze ich zur Masse Verteilung gleich die durchgehende Kontaktreihe. So bleiben die Drahtbrücken auch übersichtlich.

Damit ist die Schaltung 1 auch schon aufgebaut. der Rest ist nun BASH Programmierung.

Programm:

Das schöne am Raspberry PI ist ja das man die GPIOs alle einzeln ansprechen kann und sich so relativ unkompliziert eigene Steuerungen erstellen kann. Bevor man nach einem Reboot des Raspberry PI die GPIOs nutzen kann muss man diese aktivieren. Mein Raspberry PI hat zur Zeit keinen Monitor und auch keine Tastatur, er hängt einfach mittel WLAN im Netz. Um also etwas auf den Raspberry PI zu machen muss ich eine SSH Shell öffnen. Dort bin ich dann als User PI angemeldet.

Um gleich Ordnung auf den Rechner zu halten richte ich mir im home Verzeichnis des Users PI ein Verzeichnis scripte ein und wechsle gleich in das neue Verzeichnis:

cd ~
sudo mkdir scripte
cd ~/scripte

Um etwas entspannter zu arbeiten öffne ich gleich noch eine weitere SSH Sitzung um dort gleich die Ergebnisse zu begutachten, der Monitor ist ausreichend um beide Fenster parallel anzuzeigen.

SSH Schell Die GPIOs findet man unter  /sys/class/gpio
also wechseln wir in das Verzeichnis und lassen es uns anzeigen:

cd /sys/class/gpio 
la -la
GPIO Interface

Verzeichnis /sys/class/gpio das Interfache der GPIOs um Userspace

Hier finden wir 2 Dateien (export und unexport) und den gpiochip0 als Link.
Dort kann man sich mittels

 cat /sys/class/gpio/gpiochip0/label

die Bezeichnung des Chips anzeigen lassen : bcm2708_gpio

Die Datei export ist zuständig die einzelnen GPIOs einzuschalten und die Datei unexport schaltet sie wieder aus. Zur Zeit sind noch alle GPIOs ausgeschaltet.

Wir wollen ja nun die LED zum leuchten bringen, verbunden ist die LED auf dem Board mit GPIO2.
Somit muss erst mal der GPIO2 aktiviert werden:

sudo echo "2" > /sys/class/gpio/export

Dann den GPIO2 als Ausgang definieren

sudo echo "out" > /sys/class/gpio/gpio2/direction

und mittels

sudo echo "1" > /sys/class/gpio/gpio2/value

einschalten.

Ist die Schaltung ok sollte nun die LED leuchten. Leuchtet sie nicht ist sie u.U. falsch herum eingebaut also einfach noch mal schauen das der lange Draht zum GPIO2 und der kurze Draht über den Widerstand an GND (Masse) gelegt ist.

Mittels dem Befehl:

sudo echo "0" > /sys/class/gpio/gpio2/value

kann man die LED wieder aus schalten.

Um den GPIO in den Startmodus zurück zu versetzen kann man den Raspberry PI booten oder eleganter mittels dem Befehl:

echo "2" > /sys/class/gpio/unexport

den GPIO2 deaktivieren.

Viel Spass beim spielen und basteln.

In der nächsten Folge beschreibe ich wie man mittels eines Tasters die LED ein und aus schalten kann. Dann werden wir auch das erste BASH Script schreiben.

Wichtig!

Für Schäden die ihr an eurem Rasperry PI durch Kurzschlüsse, unsachgemäße Behandlung oder durch Schreibfehler in der Anleitung verursacht werden nehme ich mir nichts an. Hardware basteln geschieht auf eigene Gefahr. Die Schaltung ist auf einem Rspberry PI Typ B Version 2 bei mir selber aufgebaut worden und er lebt noch.

Autor: Radzio Frank

Jahrgang 66, ein Nordlicht das seine Wurzeln im Ruhrgebiet hat und seit 2001 im hohen Norden lebt und arbeitet. Mein Blog findet Ihr unter http://bloglich.de

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.