Raspberry Pi – Pibrella

Ein ganz besonderes Erweiterungsboard für den Raspberry Pi heißt Pibrella. Pibrella ist konzipiert für Anfänger um erste Erfahrungen mit dem Raspberry Pi, der GPIO Schnittstelle und Python zu machen. In diesem  Artikel zeige ich euch wie Ihr mit dem Pibrella Board arbeitet und schnell und einfach zu den ersten Ergebnissen kommt. In weiteren Artikeln werde ich das Board immer wieder einsetzen. Es vereinfacht das Prototyping.

pibrella

Das Raspberry Pi Board Pibrella

Das Pibrella Board wurde von der Firma Pimoroni konzipiert und wird von mehreren Händlern vertrieben. Das Board ist sehr günstig und kann zum Beispiel auf Amazon bestellt werden. Das Board hat folgende Funktionalitäten:

  • 3 LEDs (grün, gelb, rot)
  • einen einfachen Lautsprecher
  • einen Knopf
  • 4 GPIO Ausgänge
  • 4 GPIO Eingänge
  • einen eigenen Stromanschluss

Auf GitHub findet man eine Bibliothek mit zahlreichen Codebeispielen für Python. Diese sind hilfreich für einen raschen und unkomplizierten Einstieg.

Montage

Das Board ist einfach zu montieren. Es wird direkt auf die GPIO Schnittstelle des Raspberry Pis aufgesteckt. Dabei ist die Ausrichtung wichtig, das Board muss über dem Raspberry Pi Board platziert werden. Das Pibrella Board ist kompatibel mit allen Raspberry Pi Modellen. Sofern man es mit dem neuen Raspberry Pi B+ verwendet, so muss man darauf acht geben, dass es ganz oben auf dem GPIO Stecker montiert wird. Die ersten Pins sind beim B+ exakt gleich wie beim älteren Raspberry Pi B Modell. Will man das Board verwenden, so muss man den Raspberry Pi von nun an über den Micro USB Anschluss des Pibrella Boards mit Strom versorgen. Falls man es nicht benötigt, kann man den normalen Stromanschluss verwenden. Bitte nicht beide gleichzeitig!

Installation

Das Pibrella Board stellt eine eigene Python Bibliothek bereit, damit es aus Python sehr einfach angesprochen werden kann. Diese wird wie folgt installiert. Zuerst machen wir ein Systemupdate:

Danach können wir die Bibliothek wie folgt holen:

Damit ist die Installation komplett. Von nun an kann man die Pibrella Bibliothek in den Python Skripten mittels import pibrella verwenden.

Arbeiten mit dem Pibrella Board

pibrella-boardMit Hilfe der Python Bibliothek ist das Arbeiten mit dem Board beziehungsweise die Verwendung der einzelnen Komponenten sehr einfach und meistens mit einer einzigen Codezeile möglich.

Skripte testen

Die folgenden Beispielskripts kann man interaktiv ausführen. Dazu gibt es eine interaktive Python Shell in der man Zeilenweise Python Kommandos eingeben kann. Das eignet sich perfekt um einzelne Komponenten zu testen. Die dort getesteten Kommandos kann man später zu einem Python Script zusammenfügen. Die interaktive Python Shell wird wie folgt gestartet:

LED ein- und ausschalten

Die LED Lampen kann man mit folgendem kurzen Python Script ansteuern und einschalten:

In diesem Fall wird das grüne LED aktiviert. Alternativ dazu kann man mit red beziehungsweise yellow das rote und das gelbe LED ansteuern. Alternativ wird die LED mit off() deaktiviert.

Das Skript muss übrigens immer als root ausgeführt werden, also mit sudo. Der Grund dafür ist, dass am Raspberry Pi die GPIO Schnittstelle nur über den root Benutzer angesteuert werden.

Es gibt noch drei weitere Kommandos um mit den LED Lichtern zu arbeiten. Das sind:

  • pibrella.light.yellow.blink(ON_TIME, OFF_TIME)
    damit lässt man ein LED blinken. Folgendes Beispiel lässt das gelbe Licht immer 1 Sekunde lang eingeschaltet und 1 Sekunde ausgeschaltet:
  • pibrella.light.yellow.pulse(FADE_IN_TIME, FADE_OUT_TIME, ON_TIME, OFF_TIME)
    damit kann man das LED pulsieren lassen. Der Unterschied zum vorherigen Kommando ist, dass das LED nicht mit voller Leuchtstärke leuchtet, sondern erst langsam an Intensität gewinnt. Die Zeitspanne bis zur vollen Leuchtstärke regelt man mit der FADE_IN_TIME und der FADE_OUT_TIME. Das kann beispielsweise beim gelben LED so aussehen und würde 5 Sekunden bis zur vollen Lichtstärke brauchen:
  • pibrella.light.yellow.fade(INTENSITY_START, INTENSITY_END, FADE_TIME)
    eine alternative Möglichkeit ist die fade Funktion. In dieser kann man auch die Intensität regeln. Das folgende Kommando schaltet das gelbe LED von der Intensität 0% zu 50% in 2 Sekunden:

Lautsprecher

Das Board hat auch einen einfachen Lautsprecher, einen so genannten Buzzer. Man kennt das vermutlich noch von alten PCs, welche am Mainboard auch einen solchen primitiven Lautsprecher integriert hatten. Diese piepte oft im Fehlerfall.

Der Pibrella Lautsprecher hat zwei vordefinierte Klänge. Einen für den Fehlerfall und einer für den Erfolgsfall. Man kann diese folgendermaßen abspielen:

Neben diesen vordefinierten Klängen gibt es auch die Möglichkeit, dass man selber kreativ wird und eine Melodie oder einzelne Töne abspielt. Das geht entweder über die Notenfunktion note:

Wobei man hier eine Zahl als Note eingibt. 0 ist dabei das Äquivalent der Note A (440 Hz). Wem das noch zu wenig Freiheit ist, der kann auch bestimmte Frequenzen abspielen. Das funktioniert mit der Funktion buzz:

Knopf

Das Board hat auch eine primitive Eingabe. Einen einzelnen roten Knopf. Den Status dieses Knopfs kann man jederzeit über folgende Funktion abfragen:

Neben dem Auslesen des Status kann man den Button auch direkt für die Steuerung in einem Python Script verwenden. Dazu stellt die Bibliothek zwei Funktionen zur Verfügung:

  • pibrella.button.pressed(button_pressed)
    In dieser Funktion wird ein Eventhandler definiert. Der Parameter button_pressed ist dabei eine Funktion, welche im Fall des Drückens des Knopfes ausgeführt wird. Eine einfache button_pressed Funktion würde beispielsweise so aussehen:
  • pibrella.button.changed(button_changed)
    Ein weiterer Eventhandler. Dieser wird immer dann ausgeführt, wenn sich der Zustand des Knopfes ändert. Der Unterschied zur pressed Funktion ist der, dass die angegebene Funktion bei einem Tastendruck 2 Mal ausgeführt wird. Einmal weil sich der Zustand auf „gedrückt“ ändert und ein zweites Mal weil sich der Zustand wieder zu „nicht gedrückt“ ändert. In der Eventfunktion kann man darauf eingehen. Ein Beispiel:

GPIO Ein- und Ausgabe

Seitlich vom Knopf stellt das Board jeweils 4 Eingabe GPIO Pins und 4 Ausgabe GPIO Pins zur Verfügung. Am Board sind für jeden dieser Pins auch LEDs hinterlegt die Anzeigen ob der Pin gerade mit Strom versorgt wird. Das ist für die Fehlersuche sehr hilfreich!

Die Verwendung der Ein- und Ausgaben ist extrem einfach. Noch einmal einfacher als die Verwendung der eigentlichen GPIO Pins des Raspberry Pis, weshalb gerade Anfänger viel Freude mit dem Pibrella Board haben werden.

Ausgabe

Die Pins zur Ausgabe (e, f, g, h) kann man folgendermaßen verwenden:

oder alternativ dazu:

in beiden Fällen liegt nun am Pin e (siehe Beschriftung auf dem Board) Spannung an. Die LED neben den Steckplätzen von Pin e zeigt auch optisch den Status an.

Eingabe

Für die Eingabe sind die Pins a, b, c, d reserviert. Der aktuelle Status eines Pins kann wie folgt eingelesen werden:

Fazit

Das Pibrella Board ist sehr günstig und einfach zu bedienen. Es ist gerade für Anfänger sehr gut geeignet um die ersten Schritte mit der GPIO Schnittstelle und mit Ein- und Ausgabegeräten zu arbeiten. Auch für Fortgeschrittene kann das Board sehr gut benutzt werden, da es das Prototyping vereinfacht und man schnell und unkompliziert zu ersten Ergebnissen kommt. Einzig die geringe Zahl an lediglich 4 Ein- und 4 Ausgangspins ist für viele Projekte zu wenig. Da kann man aber schnell auf die eigentliche GPIO Schnittstelle zurückgreifen.

(Visited 1.233 times, 1 visits today)

Das könnte auch interessant sein...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.