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!

AVR – RGB Dimmer Platine

Endlich habe ich auch eine gefräste Platine für mein RGB Dimmer Projekt erstellen können. Durch die Kooperation der Elektrotechniker am Berufsinformationstag an meiner Schule konnte ich sie an einer Art CNC – Fräse erstellen. Das Layout habe ich mit der EAGLE Software erstellt. So sah das ganze dann aus:

Jetzt ist auch die fertiggestellte Platine oben zu sehen ;-).

AVR – Atmega16 – LED Laufschrift

Nach einer Bestandsaufnahme und einem kurzen Einkauf bei Conrad habe ich mich entschlossen die noch von dem letzten Projekt übrig gebliebenen LED 8×8 Displays mit einem ATMega16 anzusteuern um eine Laufschrift zu konstruieren. Hier sollen ASCII Zeichen über die USART Schnittstelle an den Microkontroller von einem anderes Modul oder dem PC als Laufschrift mit einem eigenen Protokoll dargestellt werden. Ich arbeite bei der Darstellung mit einem Multiplexverhalten von 1 zu 16, sodass die daraus erzeugten Pulsweitenmodulationsverhältnisse geringer als die Einzelansteuerung der Matrix beim Pong Projekt. Dies bewirkt eine stärker beleuchtete Darstellung. Ärgerlicher Weise habe ich bei dem Zusammenbau den zweiten Display falsch herum angebracht und ich muss deshalb die zweite Matrix gespieglt darstellen, was softwaretechnisch gelöst wurde^^. Gar nicht so leicht ein Register mit den Bitoperatoren zu spiegeln :-). Hier nun ein Foto der Displaysrückseite:

AVR – Attiny12 – RGB Dimmer

Das nächste Projekt wurde auch im Rahmen meines Unterrichtes in Rechner-Systemtechnik Unterrichtes entwickelt und privat fertiggestellt. Hier wollte ich eine bunte Stimmungslampe bauen, die sanft alle möglichen Farbkombinationen von rot, grün und blau durchlaufen. Ich habe diese Idee von einer Lampe, die meiner Schwester gehörte, bekommen und wollte diese (mittlerweile defekte Lampe) in klein nachbauen. Dies ist die erste eigenständige Schaltung, die ich mit EAGLE Cad erstellt habe und nur noch eine Stromversorgung über USB benötigt. Die Platine habe ich zunächst etwas abgeändert auf eine Entwicklungsplatine gelötet um die Funktion zu testen. Es wird hier der ATtiny12 verwendet, der nur in Assember zu programmieren ist, und Geflashed wird dieses Projekt auch mithilfe des USBasp von fischl.de. Auf der linken Seite befindet sich nun das Layout, welches ich noch fräsen möchte und unten ist der Schaltungsaufbau. Wenn Fragen auftreten kann natürlich jeder fragen :-)

Schaltung:

Provisorium:

In Aktion:

AVR – Atmega8 – 8×8 LED Matrix Projekt

Im Rahmen des Rechner-Systemtechnik Unterrichtes bei der Arbeit mit dem ATmega8 an unserer Schule wuchs das Intresse selbst eine Displayähnliche Schaltung zu entwickeln. Nach einigen Recherchen und Planlosen Suchens in verschiedenen Communitys wie roboternetz.de , mikrocontroller.net und youtube habe ich mich für eine 8×8 LED Matrix entschieden, die ich kurze zeit Später für 1,50€ das Stück bei Ebay ersteigert habe. Die Ansteuerung verläuft in meiner Überlegung über 2 Demultiplexer, die folgende Eigenschaften besitzen:
000 wird zu 11111110
001 wird zu 11111101
010 wird zu 11111011
… usw …
Somit ergab sich folgende Schaltung zur Ansteuerung einzelner Dioden der LED Matrix :

Schaltung - 8x8 Matrix

Und dann wurde gelötet :-) nach ersten Anlaufschwirigkeiten meines Lötkolbens (direkt ausgetauscht :-D) bin ich zu folgendem Ergebnis gekommen:
LED Schaltung