LinuxLinus

Mac, Linux, Windows – und Gadgets

WS2801 LED Stripe
WS2801 LED Stripe

WS2801 LED Stripe via Raspberry Pi über GPIO ansteuern

| 5 Kommentare

In der Anleitung möchte ich einen Weg beschreiben, wie man recht einfach einen WS2801 LED Stripe über die GPIOs vom Raspberry Pi ansteuern kann. Hintergrund war, das ich wissen wollte, die man eine spannende Weihnachtsbeleuchtung selber bauen kann. Weiterhin möchte ich eine LED Beleuchtung für mein Treppenhaus bauen.

Das ganze sollte am Ende so aussehen können.


Was wird benötigt?

 

  • Optional, um die Lichterkette an den GPIOs des PIs anzuschließen: Female Jumper wire (es gehen auch Stecker aus einem alten PC Gehäuse)

Eine Lötstation, ein Steckbrett, etwas Schrumpfschlauch, Lötzinn und Drahtbrücken erleichtern die Arbeit.

 

Software installieren

Es gibt eine sehr coole fertige Software, die es zulässt, die Lichterkette passend zur Musik, via GPIO-Eingänge oder via Uhrzeiten oder via Webserver zu steuern. Das ganze kommt von Falcon Christmas. Ein fertiges Image für den Raspberry (Falcon Player Pi, FPP) gibt es im Unterforum für den Raspberry. Der Download liegt hier in diesem Thread: http://falconchristmas.com/forum/index.php/topic,4649.0.html

Die Installation ist denkbar einfach: Das Image aus dem oberen Link herunterladen, die SD-Karte Fat32 formatieren, die Daten aus der ZIP-Datei auf die Karte kopieren, SD-Karten in den Pi, Pi mit Strom und Netzwerk versorgen und die Installation beginnt automatisch. Bei mir lief das ganze sogar ohne Rückfragen, so das ich einen Raspberry Pi verwenden konnte, bei dem ich den HDMI-Ausgang bei vorherigen Experimenten zerstört habe.

Eine ausführliche Anleitung befindet sich hier: http://falconchristmas.com/forum/index.php/topic,483.0.html

 

Konfiguration

Nach rund 20-30 Minuten sollte sich der FPP installiert haben. Via Webinterface lassen sich die weiteren Einstellungen vornehmen. Öffnet dazu die Adresse im Browser, die euer Raspberry bekommen habe (siehe Router).

Webinterface vom FPP

Webinterface vom FPP

Anschließend wählt “Input/Output Setup”, “Channel Outputs”. Dort fügt ihr unter dem Punkt “Other” via “Add” einen neuen Ausgang vom Typ “SPI-WS2801” hinzu. Meine LED Stripe verfügt über 50 RGB-LEDs, also 150 Channels.

Lichterkette anmelden (1)

Lichterkette anmelden (1)

Lichterkette anmelden (1)

Lichterkette anmelden (2)

 

Verbinden

Die LED Lichterkette wird mit dem 5 Volt Netzteil verbunden – soweit ganz normal. Anschließend wird wie Lichterkette wie folgt mit dem Raspberry verbunden:

Lichterkette  --- Raspberry
Clock         --- Pin 23 - SCLK
Data          --- Pin 19 - MOSI
LED Ground    --- Pin 25 - GND
LED Power     nicht mit dem Raspberry verbinden

Soweit also recht simpel.

Testen

Via “Status/Control”, “Display Testing” lässt sich nun prüfen ob die Lichterkette angesprochen werden kann:

Output Testing

Output Testing

Sequenz abspielen

Nun braucht ihr nur noch eine Sequenz die abgespielt werden soll. Erzeugt werden können diese super mit dem kostenlosen Programm xLights. Anleitungen hierzu finden sich genug im Netz und da das Programm so umfangreich ist möchte ich an dieser Stelle nicht weiter darauf eingehen.

Ich habe euch aber hier eine Falcon Player (FPP) Sequenz zu Sail von Awolnation hinterlegt – ich weiß ja schließlich wie ungeduldig man sein kann 😉 . Die Passende MP3 dazu müsst ihr im Netz kaufen – wenn ihr sie denn mithören möchtet.

Ihr geht nun zu “Content Setup” und lades die Sequenz unter “Sequence Files (.fseq) hoch – die MP3-Datei unter “Audio”. Unter “Content Setup” erzeugt ihr eine Playlist.

Playlist erzeugen

Playlist erzeugen

 

Die Playlist aus Musik und Sequenz kann nun via “Status / Control” und “Status Page” abgespielt werden.

abspielen

 

Fertig 🙂

Sollte es fragen geben, so könnt ihr diese gerne in den Kommentaren stellen. Beachtet bitte das ich den Blog hier als Hobby führe und nicht immer direkt antworten kann.

Autor: Linus Stehr

Mein Name ist Linus. Im Berufsleben arbeite ich als IT-Mensch, privat zeige ich hier Outdoor-Artikel und ander Gadgets. Zu finden bin ich zudem auf Google+.

5 Kommentare

  1. Hallo Linus,
    schönes Thema. Nach Überwindung einiger Hindernisse habe ich es geschafft, daß Sail.fseq funktioniert.
    (Ein Update auf V1.8 war von Nöten und unter Status/Control, FPP-Settings musste noch ein Speicherplatz eingerichtet werden, damit das uploaden von den *.fseq funktioniert)

    Allerdings habe ich es noch nicht geschafft, das alle 160 LED’s vom WS2801 blinken, wenn ich Sail abspiele. Beim Test werden alle LED’s angesprochen. Bei dem “Lied” nur 50 LED’s.
    Ebenso klappt es nicht, eine eigene, über den xlights erzeugte fseq-Datei abzuspielen.

    Kannst du mir ggf. weiterhelfen?

    Gruß Ingo

  2. Das nur die ersten 50 LEDs blinken liegt daran, das in der Sequenz nur 50 LEDs angesteuert werden (war meine Test-Stripe).

  3. hey linus danke für dein toturial sag mal ich bin ein wenig verwirrt und neu auf dem gebiet mit raspberry zu arbeiten. wie kann ich denn eine eigne lichtshow erstellen? ich habe 12v mit ci di und gnd anschlüssen .. 5m 180 led d.h 540 channel. kann du mir vielleicht irgendwo per chat helfen .. danke dir

  4. HHallo,
    habe es über ne Woche hin und her versucht es hin zu bekommen. Jetzt bin ich das 2. beim Installieren drauf gekomm bevor die Instalation beendet ist wird nach login gefragt ok fpp ein gegeben, dann kam Password: der _ strich blink und wenn ich per tastatur was eingeben will blinkt die schneller aber es passiert nix. auch nicht mit Strg oder Alt taste gedrückt auch nix.
    Wenn ich nur den angegebenen Link für den Player nutze kommt dann die meldung: FPP – Checking for mounted flash drive, Flash Media is Missing. Please Insert.

    was kann ich nun tun??

    • ok nach meheren hin und her versuchen hab ich im Netzt auch entdeckt das die Karte bis zu 2x rausgenommen werden soll und gestartet werden soll. was ich ja auch machte es Klappte endlich. aber dann nach dem Text: Debian GNU/Linux comes with …..by applicable law. passiert nix mehr. Was muß ich da eingeben?

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.