RGB-Tetris-wall:

LED-based pixel wall for animations and tetris visualisation. Provides 16x24 RGB pixels on 80x120cm. LEDS are controlled with an Arduino, a Raspi provides input from arbitrary image or stream inputs including showing live Tetris games from NES input.

Complete RGB-Tetris-LED-Wall

Hardware:

  • WS2811 5050 LED strips (60leds/m, 20ics/m)
  • 12V power supply (HP 750W HSTNS-PL18), provides 62.5A/12V
  • Arduino Mega
  • Raspberry PI 3 B
  • EasyCAP USB grabber with Syntek STK1160 chip set
  • Microphone: line in, perhaps with amplifier Iduino SE019
  • Switches, Buttons, Photo-resistor,
  • Case made from HDF, with cells of size 5x5x5cm, top layer is Transparenzpapier + 3mm clear acrylic

Energy supply:

  • worst case need: 0.02x24x16x9 = 69.12A
  • mostly organises via 4×2 molex connectors
  • 12 -> 5V converter for Arduino + Raspi + Controlleds (WS2812b)

Software:

Arduino:

Purpose: direkt control of all LEDs via the FastLed library.

  • controlled via buttons: mode (animations, images, beat dedection, NES Tetris stream, pixelflut), submode (e.g. which animation), speed, brightness
  • adaptive brightness via a photo-resistor (with voltage divider via 5k1ohm resistor for input pulldown)
  • annimations: library of 16+ animation patterns: rainbow, fire, plasma, ...

Communication with Raspi:

  • SPI, 487500 bps
  • Arduino sets sync_pin if ready for receiving data.

Libraries (C):

Raspberry PI:

Purpose: Proprocessing streams of input images, beat detection, NES tetris streams, and pixelflut.

  • Image processing: cycles through all images that are located in /images
  • Beat detection: Microphone measures sound for simple beat detection that can get visualised
  • NES Tetris stream: reads the composite signal of an NES via the Syntek STK1160 grabber. All frames are analysed for the content of the Tetris game: game state, next block, score, level, number of lines
  • Pixelflut (tm)

NES Tetris stream:

  • NTSC or PAL possible
  • 12-15 fps feasible

Libraries (python):

  • base64
  • numpy
  • Pillow
  • pigpio
  • pyserial
  • PyV4L2Camera

SDK

Sooo... Wir haben heute die LED-Tetris-Wall soweit, dass man sich von extern mit pixelflut Bilder draufspielen kann (wenn wir wollen und wenn man sie erreichen kann). Man kann also Animationen bauen (die auch z.B. viel rechenzeit erfordern) oder Spiele basteln, die die wall nutzen (snake anyone? hab gehört, da wollte sich jemand versuchen). Die dinge können dann einfach auf eurem Computer laufen (oder 'nem raspi, wenn ihr was aufbauen wollt, das stehen bleiben kann). Wenn ihr basteln wollt, wir haben eine entwicklungsumgebung dafür, mit der ihr auf eurem rechner n fenster öffnet, das sich wie die wand verhält. Ist für linux entworfen, andere betriebssysteme könnt ihr gern anpassen, wenn da was zurechtzubiegen ist. Gerne pull requests. Gibt ein paar beispiele (alles, was wir bisher so haben), damit sollte das schnell klar werden. Viel Spass!

Software: https://github.com/deepestcyber/niedrigwasser