=== Project goals === - Pixel display for patterns and sprites - Show NES Tetris in huge pixels - Some pixelflut Code: https://github.com/deepestcyber/rgb-tetris-wall === Sub projects === == Case == * MDF/HDF walls + ground 5mm, acrylic top 3mm, Transparentpapier below acrylic top * Modules 40x40cm, 8x8px * OR one piece 80*120cm, 16x24px * for modules: 3mm outer wall, 6mm inner wall, 6mm base (to not get too heavy), 3mm acrylic top * BUILD THE WALL! == LED control == * Arduino Mega based (sufficient memory limit, fast IO control) * FastLED library * SPI in for image-stream, 115200+ baud rate: 24x16px x 50 or 60Hz x 6bit + control bit(s) * OR USB/serial for image-stream up to 115200 baud rate: 30Hz * Analog inputs for mode switch: Video/Image/Music/Pattern + pattern_program selection * Pattern mode: hard-coded RGB rainbow patterns * Music mode: sound detection + appropriate patterns === Image/video preprocessing === * RasPi based * NES signal: * A/D converter (svideo -> USB) * opt for 50/60Hz, 64 colours, perhaps accept 30Hz * logic for reading tetris game state (block positions, next block, score) * Image presentation: * opt for 24bit colours * web interface for uploading pictures * Trigger Rainbow/Music mode === Energy supply + controller case === * Prepare for 4 x 18A/12V power lines (overall around 72A/864W) * This allows for 0.02x24x16x9 leds (=69.12A) * Cheaper option: 2 instead of 3 strips per cell: 46.08A -> only 2.88A per column * Central power unit, but separate power strip for every column (16x) * Organised as 4x2 molex connector * Case houses: power unit, raspi, arduino, power switch, 1x mode switch button, 2x pattern/submode switch buttons, 2x speed switch buttons, 2x brightness switch buttons, 1x power switch, 1x child-secure switch (buttons only work, when switch enabled) === Link dump === * http://wiki.openmusiclabs.com/wiki/ArduinoFFT * https://github.com/FastLED/FastLED/wiki/FastLED-Design * https://github.com/FastLED/FastLED/blob/master/examples/Ports/PJRCSpectrumAnalyzer/PJRCSpectrumAnalyzer.ino * https://wiki.attraktor.org/Lasercutter#Dokumentation === TODO === - Compile pyv4l @ raspi (needs v4l-dev), see ''~/rgb-text-wall/download/pyv4l/'' - Integrate SPI prototype into rgb-tetris-wall code - Fix YCrCb conversion in streaming tool (see ''streaming/encoding.py'') - Build remaining case parts - Complete the base detection (music mode) und develop nice visual patterns for that - Acquire good Potentiometer