This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
projects:lichtwand [2019/05/31 13:40] – rey | projects:lichtwand [2019/06/02 13:32] (current) – removed 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 | ||
- | </ |