This is an old revision of the document!


<markdown> # RGB-Tetris-wall:

LED-based pixel wall for animations and tetris visualisation. Provides 16×24 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. * Github repo: https://github.com/deepestcyber/rgb-tetris-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): - https://playground.arduino.cc/Code/ElapsedMillis - https://github.com/FastLED/FastLED - SPI

### 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 ™

NES Tetris stream: - NTSC or PAL possible - 12-15 fps feasible

Libraries (python): - base64 - numpy - Pillow - pigpio - pyserial - PyV4L2Camera </markdown>