LED Coffee Table – Raspberry PI

42bdc09881e611e28b8322000a1f92ef_7Neuen Lötkolben zu Weihnachten bekommen und Semesterferien haben. Ideale Bedingungen um ein neues Bastel/Elektro Projekt zu starten. Vor zwei Wochen habe ich dann mehrere YouTube Videos für einen LED Coffee Table im Netz entdeckt und mich entschieden so einen in etwas abgespeckter Form nachzubauen. Ziel war außerdem das ganze als Low Budget Projekt aufzuziehen.

Die Software habe ich Python geschrieben und öffnet die SPI Schnittstelle als Filestream. In diesen schreibe ich die Farbinformationen in Schieberegister-Manier in die 25 PWM Controller der Lichterkette. Der Quellcode befindet sich auf github.com. Erste Module sind Game of Live mit dimmenden Farbwechseln, Snake mit 2 Tastern, Laufschrift welche alle ASCII Zeichen abdeckt und einem Menü um zwischen den Modulen wechseln zu können. (Siehe YouTube Video) Nicht wundern – der Code ist noch etwas Quick and Dirty ;-)

Stückliste:

  • 01,50 € – 2 Styroporplatten (1 x 10mm) (1 x 15mm) 
  • 20,00 € – LED Kette mit adressierbaren Bus von Adafruit (Ebay deutlich günstiger)
  • 20,00 € – maßgeschneidertes Acrylglas 550×550 30% Lichtdurchlässig (Ebay)
  • Raspberry PI (bereits vorhanden gewesen)
  • IKEA LACK Tisch 550×550 (bereits vorhanden gewesen)
  • 5V 2A Power Adapter (bereits vorhanden gewesen)

Zum Anschluss der LEDs an den Raspberry PI konnte die SPI Schnittstelle (RPi Low-level peripherals) genutzt werden. Die Stromversorgung des PIs muss hier auch über diese Schnittstelle erfolgen (Nicht über USB!) und kann parallel geschaltet auch die LEDs treiben. Sollte jemand Fragen haben oder eine ausführliche Bauanleitung benötigen kann er sich gerne bei mir melden :-)

Bestellt sind jetzt noch 2 Arcade Buttons die rechts und links an den Tisch eingelassen werden um die Steuerung des Tischs ohne SSH durchführen zu können.


 

Update (20.11.2013) element14 Blog Comment:

Hey, this project isn’t that big outlay :-) First of all you need this 25 LED Stript with WS2801 controllers. I bought them on ebay for 19€ ;-) In this strip of LEDs there is a 5-6 cm long wire for the SPI connection, you simply have to wire the beginning of the strip to the Pi’s SPI interface. I also used a single power source as u can see in this wiring diagram.

https://i1.wp.com/boblight.googlecode.com/svn/wiki/diagram.png

After i have done the connection, I started to try some programming, like simple light slides with python and the SPI interface. You can use it as a file when you have done the SPI setup.

spidev = file("/dev/spidev0.0", "wb")

You can also use something like this http://www.100randomtasks.com/simple-spi-on-raspberry-pi

Otherwise, take a look at my github project for this table :-)

My setup looks like this:

led_diagram

To setup two buttons on the side, I used two of the GPIO ports with a 10k pullup resistors!

30 Gedanken zu “LED Coffee Table – Raspberry PI

  1. Sieht schick aus. Ist das anleuchten der benachbarten Felder beabsichtigt, oder kkönnte man da mit Holz statt dem Styropor noch mehr ‚abdichten‘?

    1. Ja genau, mit Holz wäre es sicher besser gewesen, aber da man das Styropor viel einfacher zuschneiden kann, habe ich mich dafür entschieden. Außerdem läuft ja dieses Abientlight am meisten, das verbessert den Effekt dann :-)

  2. das sieht echt cool aus. mein sohn wünscht sich so ein teil zum Geburtstag. mal schaun ob ich das noch hinbekomme.. sind noch 17 tage.. das ist zum 8 sicher ein hingucker. 8-)..

      1. So.leds bestellt. Jetzt noch der Rest. Kannst du noch etwas genauer auf die SPI Geschichte eingehen. Anschluss der LEDs und power fuer den Pi.. Danke

      2. Hallo Stetro . Leider muss ich dich um deine Hilfe bitten. Ich hab nun soweit alles verkabelt, aber es klappt nix.
        Ich hab das neuste raspbian installiert plus die notwendigen Python Image librarys. Wenn ich deinen Python Code starte kommt keine Fehlermeldung, aber es passiert nix mit dén LEDs. Fehlt eventuell was ?ß
        Wenn ich die led Kette alleine betreibe mit nur 5v und ground leuchtet eine einzige led.. Ist das normal ueberhaupt? Sie ist weiß.
        Wenn ich alles an den pi anschließe und den pi und die LEDs ueber die p1 Connection betreibe flackert die led beim Booten des pi in allen Farben. Wenn er fertig ist mit Booten bleibt sie weiß an.. Hast du eventuell eine Idee. LEDs Defekt hoffe ich mal net. Danke schonmal fuer deine Hilfe.. Geburtstag ist am Freitag..das wird knapp. Wenigstens hab ich den Tisch schon fertig… Bye Roman und nochmals danke

      3. Hallo Roman, tut mir Leid, ich hab deinen letzten Eintrag wohl übersehen. Die SPI Schnittstelle habe ich mir von Adafruit abgeschaut: http://learn.adafruit.com/assets/1589 .. Du musst bei der Lichterkette auf die korrekte Ausrichtung achten. Das flackern beim Booten ist normal, beschränkt sich bei mir auch nur auf die erste LED. Ansonsten ist die Ferndiagnose gerade etwas schwierig.. Aber schau dir zunächst nochmal die gesamte Verkabelung anhand der Skizze im Link an. Oder aber die Schnittstelle ist im System unter „/dev/spidev0.0“ noch nicht richtig eingerichtet? Viele Grüße Steffen

  3. Hallo stetro, danke für die antwort. ich würde fast wetten ich habs richtig verkabelt .. zumindest denk ich mal. mache heute abend (wenn kind im bett) nochmal nen test mit bild. versuche es auch mal mit 2 power suppyls.. einen für den pi die andere für den led-streifen.. nur zum testen. bzw. ich verbinde mal den ground vom anderen led kabelende mit nem weiteren ground am pi connector.. eventuell geht das ja.. das device sollte da sein, da dein python script ohne fehler startet..was hast du den für ne distribution. raspbian wheezy ? kernel ?.. nur um das noch abzuchecken..

    danke nochmals.
    bye
    roman

    1. Die beiden Spannungsquellen zu kombinieren ist glaube ich keine gute Idee, zumal die LED ja funktioniert und auch der PI Spannung erhält. Hmm das ist komisch … Viel Erfolg!

      1. Schaum wir mal.kombinieren will ich net. Jedes Netzteil macht nur 1 Gerät. Und nur die beiden SPI Pins sind an beiden Geräten dran…in 2 Stunden kann ich mehr sagen…

  4. Hi. Da bin ich wieder.. es geht.. zumindest die LEDś. Dein Tip mit dem spidevice war richtig. Dein Programm wirft keinen error, wenn es fehlt 8-),
    Manuell überprüft und das Device fehlte. Ich mußte manuell nen modprobe auf das spidev und den spi_bcm2708 machen. dann sind die deviceknoten da 8-)..
    Jetzt noch die 2 Buttons testen.. Für die LEds, in welcher Reihenfolge hast du die den in die Löcher geklebt.
    Unten links angefangen, dann nach rechts und schlangenartig nach oben gearbeitet..

    Also so:
    21 22 23 24 25
    20 19 18 17 16
    11 12 13 14 15
    10 9 8 7 6
    1 2 3 4 5

    Nur das ich es net falsch mache. Noch keine Buttons dran und ich kanns net testen 8-)..
    Danke nochmals.
    Wenn jetzt alles geht, gibts als nächsten Post nur noch nen Link zum Bild des Tischs 8-)

  5. Hallo Stetro, eventuell ist mein letzter Kommentar nicht durchgekommen. Hier deshalb nochmal. Die LED´s gehen 8-). Der Deviceknoten im /dev war wirklich nicht da und dein Programm wirft keinen error. Ich mußte das spidev und spi_bcmxxx module per Hand laden und dann war der Knoten da 8-). Keine Ahnung warum raspbian die nicht direkt aktiviert. Egal.. Geht jetzt. Jetzt bin ich noch an den Tastern dran.
    Kannst du mir bitte noch kurz sagen, wie du die Leds eingebaut hast. Von Unten Links nach rechts und dann eine Reihe höher von Rechts nach Links..
    Also so mein ich:

    21 22 23 24 25
    20 19 18 17 16
    11 12 13 14 15
    10 9 8 7 6
    1 2 3 4 5

    Nicht das ich die noch falsch verkabele , Testen kann ich noch net weil die buttons fehlen 8-)

    Danke schonmal und mein nächster Post ist hoffentlich ein Link zum fertigen Bild vom Tisch 8-)
    bye
    roman

  6. Hallo,
    ich hätte auch mal eine Frage zu der Verkabelung der Taster,
    könntest du das mal ein bisschen genauer erklären, bzw. ein Bild oder eine Skizze zeigen?

    MfG
    Basti

  7. ich habe das video gesehen und ohne es zu wissen genau an den gleichen tisch gedacht, um auch sowas zu bauen :D
    ich habe den gleichen, in weiß, woher genau hast du das Acrylglas?
    würde das auch gerne so ähnlich bauen :)

    1. Hi, also das Glas hab ich online bei VitrinenSchmidt GbR bestellt. Und zwar habe ich einfach per Mail meine Maße und die Anforderungen geschickt. das ganze hat dann incl. versandt 20€ gekostet. Hier die Bezeichnung:

      Kunden Angebot: 2013434 – PLEXIGLAS® / Acrylglas XT

      – milchglas 79% Lichtdurchlässigkeit, ideal geeignet als Sichtschutz,Türausschnitt u.s.w
      – (für indirekte Beleuchtungen empfehlen wir opal weiß 45% LD)
      * glatte glänzende Oberfläche
      * UV – beständig

      1 x Plexiglas milchglas, 550mm x 550mm x 4mm Stückpreis: 15,80€

      Viele Grüße

  8. ehm noch eine Frage, oben schreibst du „30% LD“, hier unten „79% LD“ und dann noch mal „45% LD“, was hast du denn jetzt? :D

    1. Hallo Robert, da ist mir wohl ein Fehler unterlaufen :) die in dem Kommentar ist die richtige LD, also 75%.. Ich glaube aber dass das noch weiter bis 45% OK wäre, zumal ich die LEDs nur auf 30% Helligkeit laufen lasse

  9. Hallo, der Tisch sieht ja echt cool aus. Ich hoffe ich bekomme es hin. Wenn nicht denke ich mal kann ich mich ja an Dich wenden. LG

  10. I am a student studying engineering in Korea. I’ll try to do it according to the same project. RPi seeing for the first time, but a lot of hard use. So you try to ask for help. If you are using a program code for give me if you have open, yangseon5266@naver.com hope you send me the answers. Thank you.

  11. HI… my name is sbc korean student. i have some question. it is a pin number. You used to pin 19,23 but Look at your coding left pin 23. righpin22, Why is that the pin number is used differently.. i don’t understand… Please explain about different pin number

  12. Hi,

    Find den Tisch echt klasse.
    Wollte mir etwas ähnliches zusammen stellen und habe mir mal deinen Code angesehen als Beispiel.
    Verstehe leider noch nicht genau wie du es schaffst, die LEDs einzeln anzusprechen.
    Bin noch nicht so sehr mit Python vertraut.
    Kannst du mir da eine eventuell Anleitung , Tipp oder sowas zur Steuerung der einzelnen Leds empfehlen.
    Denn ich wollte eigene Animationen schreiben und das ganze von Grund auf selbst schreiben.

    1. Hi! Also der Mechanismus der hinter diesen LEDs steckt ist relativ simpel:

      /dev/spidev0.0 repräsentiert die SPI Schnittstelle des Raspberry PIs, in diese kann man wie in eine Datei ganz einfach Zahlen hineinschreiben. Dabei sind immer je 3*8 Bit als ein Farbwert (RGB) bestimmt. Also angenommen ich hätte nur eine LED am Bus würde ich mit 0xFF 0x00 0x00 (flush) die LED rot ansteuern.
      Um jetzt mehrer LEDs ansprechen zu können agiert das Bus System wie ein Schieberegister bis deine Eingabe mit einem Flush beendet wird. Also sähe das Beispiel mit 3 LEDS in Reihe so aus:
      0xFF 0x00 0x00 0x00 xFF 0x00 0x00 0x00 0xFF (flush) hierdurch würden die LEDs in Rot Grün und Blau leuchten. Ich hoffe das hilft dir weiter.

      Viele Grüße

  13. Was für ein geiler Tisch. Und das hast du alles selbst zusammengebaut? Respekt! :-)
    Bin auch am überlegen mir auch so einen Tisch zu basteln. Dank deiner Anleitung sollte es klappen – allerdings finde ich kein Acrylglas 550×550 für 20e auf Ebay….das günstigste kostet über 100€ o.O… vielleicht muss ich etwas besser suchen :-)

    Viele Grüße,
    Florian

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s