This shows you the differences between two versions of the page.
Next revision | |||
— | projects:rgb-tetris-wall [2019/06/02 13:31] – created rey | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | < | ||
+ | # 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. | ||
+ | * Github repo: https:// | ||
+ | |||
+ | |![](https:// | ||
+ | |---| | ||
+ | |Complete RGB-Tetris-LED-Wall| | ||
+ | |||
+ | ## Hardware: | ||
+ | |||
+ | - WS2811 5050 LED strips (60leds/m, 20ics/m) | ||
+ | - 12V power supply (HP 750W HSTNS-PL18), | ||
+ | - 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 | ||
+ | |||
+ | |![](https:// | ||
+ | |---|---| | ||
+ | |![](https:// | ||
+ | |||
+ | 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, | ||
+ | - adaptive brightness via a photo-resistor (with voltage divider via 5k1ohm resistor for input pulldown) | ||
+ | - annimations: | ||
+ | |||
+ | Communication with Raspi: | ||
+ | - SPI, 487500 bps | ||
+ | - Arduino sets sync_pin if ready for receiving data. | ||
+ | |||
+ | Libraries (C): | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - 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 (tm) | ||
+ | |||
+ | NES Tetris stream: | ||
+ | - NTSC or PAL possible | ||
+ | - 12-15 fps feasible | ||
+ | |||
+ | Libraries (python): | ||
+ | - base64 | ||
+ | - numpy | ||
+ | - Pillow | ||
+ | - pigpio | ||
+ | - pyserial | ||
+ | - PyV4L2Camera | ||
+ | </ |