Rundbuntplasma: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
Zeile 4: Zeile 4:
  
 
== Umsetzung ==
 
== Umsetzung ==
Die Ansteuerung der LPD8806 LED-Ketten dürfte ziemlich unproblematisch sein, als Webserver wird vermutlich lighttpd zum Einsatz kommen, das Webfrontend wird von jquery mobile gestützt. Entwicklungsschwerpunkt ist damit die Erzeugung der Animationen in C(++) sowie die Anbindung des Animationsprogrammes an das Webinterface.
+
 
 +
=== Hardware ===
 +
Die Ansteuerung der LPD8806 LED-Ketten dürfte ziemlich unproblematisch sein, die Kette müsste sich direkt mit dem SPI-Port des Raspberry Pi verbinden lassen. Zur Versorgung wird allerdings ein stärkeres Netzteil (5V, viel Ampere) nötig sein. Die Kette wurde um die innere Drahtkonstruktion gewickelt und mit Draht fixiert, und zwar so, dass sich genau 10 LEDs pro komplette Umwicklung ergeben. Das macht die Ansteuerung als einfache 32x10 Matrix später möglich.
 +
 
 +
<gallery perrow=2 caption = "Kern des Rundbuntplasmas">
 +
Datei:Rbp_innerei1.jpg
 +
Datei:Rbp_innerei2.jpg
 +
</gallery>
 +
 
 +
=== Software ===
 +
Als Webserver wird vermutlich lighttpd zum Einsatz kommen, das Webfrontend wird von jquery mobile gestützt. Entwicklungsschwerpunkt ist damit die Erzeugung der Animationen in C(++) sowie die Anbindung des Animationsprogrammes an das Webinterface. Die Idee ist bisher wie folgt:
 +
 
 +
* Webfrontend
 +
** Zugriff über QR-Code, der an der Lampe hängt für jeden in der Nähe möglich
 +
** lighttpd liefert eine Seite mit Schiebereglern (jQuery mobile basiert), wo man z.B. R/G/B-Werte sowie Animationseinstellungen machen kann
 +
** Ein CGI nimmt veränderte Werte entgegen und sendet sie per TCP (oder UDP?) an das Animationsprogram
 +
 
 +
* Animationsprogram
 +
** läuft dauernd im Hintergrund
 +
** nimmt Anfragen über TCP oder UDP oder StdIn/Out oder noch was anderem hin und wieder entgegen
 +
** ruft möglichst 60x pro Sekunde die Animationsprozedur auf
 +
 
 +
* Animationsprozedur
 +
** berechnet das nächste Bild im Speicherarray
 +
** holt gelegentlich geänderte Animationsparameter
 +
** sendet das Speicherarray an den LPD8806-Streifen
 +
** optional: baut die Animation auch in ein X-Fenster o.ä. auf

Version vom 28. Juli 2013, 17:57 Uhr

Idee

Eine günstige tallierte, zylindrische Papierlampe soll zu einem interaktiven Dekoobjekt umgebaut werden. Von Innen wird in die Lampe ein Lichtschlauch mit LPD8806 LED-Controllern eingebracht, der sich dadurch auszeichnet, das jede LED einzeln angesteuert werden kann. Ein Raspberry soll das ganze steuern, mit einem für Mobilgeräte optimierten Webinterface kann der Lichteffekt dann eingestellt werden. Einer der wichtigsten Effekte ist der Oldschool Plasmaeffekt, der auch realisiert werden soll.

Umsetzung

Hardware

Die Ansteuerung der LPD8806 LED-Ketten dürfte ziemlich unproblematisch sein, die Kette müsste sich direkt mit dem SPI-Port des Raspberry Pi verbinden lassen. Zur Versorgung wird allerdings ein stärkeres Netzteil (5V, viel Ampere) nötig sein. Die Kette wurde um die innere Drahtkonstruktion gewickelt und mit Draht fixiert, und zwar so, dass sich genau 10 LEDs pro komplette Umwicklung ergeben. Das macht die Ansteuerung als einfache 32x10 Matrix später möglich.

Software

Als Webserver wird vermutlich lighttpd zum Einsatz kommen, das Webfrontend wird von jquery mobile gestützt. Entwicklungsschwerpunkt ist damit die Erzeugung der Animationen in C(++) sowie die Anbindung des Animationsprogrammes an das Webinterface. Die Idee ist bisher wie folgt:

  • Webfrontend
    • Zugriff über QR-Code, der an der Lampe hängt für jeden in der Nähe möglich
    • lighttpd liefert eine Seite mit Schiebereglern (jQuery mobile basiert), wo man z.B. R/G/B-Werte sowie Animationseinstellungen machen kann
    • Ein CGI nimmt veränderte Werte entgegen und sendet sie per TCP (oder UDP?) an das Animationsprogram
  • Animationsprogram
    • läuft dauernd im Hintergrund
    • nimmt Anfragen über TCP oder UDP oder StdIn/Out oder noch was anderem hin und wieder entgegen
    • ruft möglichst 60x pro Sekunde die Animationsprozedur auf
  • Animationsprozedur
    • berechnet das nächste Bild im Speicherarray
    • holt gelegentlich geänderte Animationsparameter
    • sendet das Speicherarray an den LPD8806-Streifen
    • optional: baut die Animation auch in ein X-Fenster o.ä. auf