Neopixel (WS2812)

Bei Neopixel-RGB-LEDs ist ein genaues Timing bei der Ansteuerung gefragt. Aus diesem Grund greift man dafür üblicherweise zu Mikrocontroller-basierten Systemen wie zum Beispiel Arduino-Boards. Dementsprechend wird auch die Adafruit-Neopixel-Bibliothek für Arduino entwickelt.

Mit Hilfe der Bibliothek rpi_ws281x lassen sich aber auch mit Python auf dem Raspberry Pi Neopixel zuverlässig und bequem ansteuern.

Bibliothek

Für die Installation der Python-Bibliothek müssen folgende Pakete installiert sein:

$ sudo apt-get update
$ sudo apt-get install build-essential python-dev git scons swig

Die Bibliothek wird installiert mit:

$ git clone https://github.com/jgarff/rpi_ws281x.git
$ cd rpi_ws281x
$ scons
$ cd python
$ sudo python setup.py install

Schaltung

Für die Stromversorgung wird einer der 5V-Pins des Raspberry Pi verwendet. Der In-Port der Neopixel muss mit einem der PWM-Ports des Pi verbunden werden, bspw. Pin 12 (BCM 18) wie in den Beispielprogrammen der Bibliothek angegeben.

Neopixel Raspberry Pi
GND/G GND
5V/+ 5V
In/DI BCM 18/12/13/19
O/DO

Bei anderen PWM-Pins muss eventuell der Kanal (LED_CHANNEL) im Code mit angegeben werden. Weitere Infos dazu gibt es in diesem Blogpost.

Code

Im Ordner python/examples finden sich einige Beispiele. Nachdem im entsprechenden Beispiel-Programm die Variablen LED_COUNT und ggf. LED_PIN und LED_CHANNEL angepasst wurden, kann es gestartet werden mit:

 $ sudo python strandtest.py

Die rpi_ws281x-Bibliothek erfordert Root-Zugriff, sodass das Python-Skript mit sudoaufgerufen werden muss.


Hinterlasse einen Kommentar

Deine E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *

Lade...