Web-gesteuerte LED-Animationen mit Raspberry Pi & Arduino selbst bauen
Komponenten und Zubehör
| Raspberry Pi 3 Model B | × | 1 |
| Arduino UNO (Arduino Nano auch möglich, Mega für mehr LEDs) | × | 1 |
| NeoPixel-Strip (WS2812) (jeder WS2812-LED-Strip nutzbar) | × | 1 |
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Projektübersicht
Arduino Light Animation (ALA) ist eine Arduino-Bibliothek zur Steuerung von LEDs und farbigen Animationen mit minimalem Aufwand. Sie bietet über 30 vorgefertigte Animationen und mehrere Farbpaletten. Mehr Infos im Blog.
Dieses Projekt ergänzt einen Raspberry Pi 3, der eine Webseite bereitstellt, um Animationen, Farben und Geschwindigkeit per Smartphone oder PC im Browser zu steuern. Kurzes Video zeigt AlaWeb in Aktion.
Benötigte Komponenten:
- WS2812 RGB-LED-Strip: Enthält einzeln ansteuerbare RGB-LEDs über Ein-Draht-Interface – volle Kontrolle über jede LED.
- Arduino: Führt die ALA-Bibliothek aus, treibt den LED-Strip an, empfängt Befehle vom Raspberry Pi über USB-Seriell. Uno, Nano, Mega möglich.
- Raspberry Pi: Kleiner PC, stellt die Web-UI für Licht-/Animationsparameter bereit.
Das Projekt ist einfach, wenn man Arduino und Raspberry Pi kennt. In zwei Schritte unterteilt:
Verdrahtung
WS2812-Strips sind einfach anzuschließen. Wichtig: ausreichend Strom für alle LEDs. Bei sehr kurzen Strips (≤10 LEDs) reicht USB-Strom, bei längeren Strips externes Netzteil nötig. Als Startpunkt: Arduino 5V-Pin für LED-Strip nutzen (wie im Video).
- Arduino GND → WS2812 GND
- Arduino 5V → WS2812 5V
- Arduino Pin 6 → WS2812 Ctrl/Din
Mehr Pixel = mehr Strom. Faustformel: Jede RGB-LED zieht 60 mA bei voller Weiß-Helligkeit. Beispiel: 2 m Strip mit 60 LED/m → 2 × 60 × 60 mA = 7,2 A (5 V Netzteil nötig).
Verbesserte Verdrahtung für lange Strips:
- Netzteil GND → Arduino GND & WS2812 GND
- Netzteil 5V → Arduino 5V-Pin & WS2812 5V
- Arduino Pin 6 → WS2812 CTRL
Achtung: Arduino über 5V-Pin zu versorgen umgeht den Spannungsregler und Schutzschaltungen. Vorsicht! Details in diesem Guide.
Weitere Details zur WS2812-Verdrahtung: Guide.
Arduino einrichten
Arduino per USB an PC anschließen. Arduino IDE → Bibliotheksverwalter (Sketch → Bibliothek einbinden → Bibliotheken verwalten) → ALA-Bibliothek installieren.
Beispiel RgbStripSerial öffnen (Datei → Beispiele → ALA → RgbStripSerial). Prüfen, ob NUM_PIXELS der LED-Anzahl im Strip entspricht. Bei >10 LEDs verbesserte Verdrahtung nutzen.
Sketch hochladen (Strg+U oder Sketch → Hochladen). Board-Typ und Port in Werkzeuge prüfen falls Probleme.
Serieller Monitor (Werkzeuge → Serieller Monitor) öffnen. Willkommensmeldung erscheint.
Zeilenende auf „Newline“, Baudrate 9600 einstellen.
Testbefehle (fett, ohne Leerzeichen):
- A=101 – LEDs einschalten
- A=251 – „Larson Scanner“-Animation
- P=2 – Regenbogen-Palette
- A=242 – weitere Animation
Kommando-Referenz:
- A=[Animationscode] – Animation setzen (Codes in
AlaLed.h) - B=[Helligkeit] – 0–100
- D=[Dauer] – Animationszyklus in ms (typisch 500–5000)
- C=[Farbe] – Hex-RGB z. B. E8A240
- P=[Palette] – 0–5
Jetzt per Smartphone steuern.
Raspberry Pi einrichten
Raspberry Pi als kleiner Webserver für Browser-Steuerung. Läuft auch auf jedem PC mit Python 3.
Voraussetzung: Raspberry Pi mit aktuellem Raspbian OS (getestet mit Stretch) und Internetzugang.
Python-3-Bibliotheken installieren:
sudo pip3 install pyserial flask
Projektverzeichnis anlegen:
mkdir /home/pi/AlaWeb
cd /home/pi/AlaWeb
AlaWeb-Repository herunterladen und entpacken:
wget https://github.com/bportaluri/AlaWeb/archive/master.zip
unzip master.zip
Software bereit. Arduino per USB an Raspberry Pi anschließen. AlaWeb kommuniziert über USB-Seriell mit Arduino.
cd AlaWeb-master
sudo python3 AlaWeb.py
Die App listet USB-Seriell-Ports und erkennt Arduino automatisch. Falls Endlosschleife: Abbrechen und Port manuell angeben:
sudo python3 AlaWeb.py /dev/ttyACM0
Erfolgreicher Start:
Im Browser die angezeigte URL öffnen → Webseite mit Buttons zur LED-Steuerung.
Viel Spaß!
Code
AlaWeb
Kleiner Webserver in Python/Flask zur Animationssteuerung per Browser.
https://github.com/bportaluri/AlaWeb
ALA
Arduino Light Animation (ALA) – Bibliothek für LED-Animationen auf Arduino-Boards. Details: Blog
https://github.com/bportaluri/ALA
Schaltpläne
Herstellungsprozess
- Schnelles, zuverlässiges Branderkennungssystem mit Samsung SAMI, Arduino UNO & Raspberry Pi
- Automatisiertes Aeroponik-System mit Raspberry Pi und Feuchtigkeitssensor bauen
- Roboter mit Raspberry Pi und Python bauen: Komplette Anleitung
- Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
- gatoBot: Web-gesteuerter Raspberry Pi Zero W Roboter mit Live-Videostreaming
- Arduino Nano Flight Simulator 2020 Kontrollpanel – LCD & CDI Display
- Arduino-basiertes Schalter- & LED-Panel für Microsoft Flight Simulator 2020
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Intelligenten Arduino-Vierbeiner-Roboter bauen: Schritt-für-Schritt-Anleitung
- Arduino & MPU6050: Präzise Servomotor-Steuerung mit SG90 & MG996R