LED Cube RGB 12x12x12 - Raspberry Pi Forums


hi all,

finally, after years of prototyping, design, programming, screwing , soldering here is:

12x12x12 rgb led cube powered raspberry pi
website: --> https://sites.google.com/view/flips-cubicle/home <--
website offers download area. if have matlab, can run code , simulate animations on pc.

facts & figures:
58711 lines c-code (2.12 mb in 75 files)
4717 lines of proprietary animation control scripts (140 kb in 32 files)
4507 lines vhdl (695 kb in 24 files)
1728 rgb leds + 1160 other electronic components
more 13.000 solder points
910 drills , threads 195 screws

details:
1) hardware
- display works layer layer. each layer illuminated 0.3ms, resulting in display rate of 280 hz.
- 144 rgb leds of layer controlled 27 x tlc5940, connected via spi raspberry pi (using dma data transfer)
- active layer sourced through 36 fets (irf4905)
- cube has 2 power supplies: small 1 25w (for low power consumption / low heat dissipation @ low ambient light) , big 1 20a (for higher power @ noon, fan cooling required)
- 2 fans pwm controlled , activated if cpu or electronics (additional temperature sensor on interface pcb) need cooled. voltage control keeps noise of fans @ level of wristwatch.
- 2 ad converters audio inputs, temperature measurement, voltage & current monitoring, fan speed control, ...
- ad converters, fans, power supplies controlled fpga (the fpga switches off power supplies when raspi has shut down). fpga connected raspi via spi.


2) software
- each 10ms rgb data updated 6 layers according current animations --> recalulation rate complete cube 50 hz.
- if cpu running short in complex calculations (eg. complex rubiks cube), less layers recalculated.
- displayed "picture" results software objects various animation types (eg. rubiks, rain, 3d objects, ...).
- color, position, scaling, rotation ... transformed transformation object.
- these objects created, parametrized, selected, combined (and removed) proprietary animation control script interpreter running online in multiple instances (one script per graphical object , 1 top level animation control).
- example: transitions (shift, tilt, ...) animation animation , fade , down of clock parmeter variations of transformation objects controlled animation control scripts.
- text display (eg. time) software imports true type fonts (*.ttf). text online interpreted bezier curves , projected on 3d surface of cube, sphere or cylinder.
- besides graphic functions there software modules dma control, fan control, power monitoring, failure report, failsafe operation , website.
- after initialization functions scheduled in 10ms timer tasks.

3) interfaces
- cube has power switch on front side (and ambient light sensor).
- cube provides website other sorts of operation control: brightness, vividness, mode select, clock display rate, auto shut down ambient light, ...
- development purpose website provides access parameters (eg temperature table fan control, display gamma, monitoring thresholds, ...) , variables (eg voltages, current, cpu load, memory, temperatures, ...). provides threefold graph course of variables on time. ("calibration tool").
- eventual faults , events reported in report section of website, failures sent me email.
- cube can linked matlab via tcp (display of matlab animations on cube or vice versa) animation development (mil).
- software modules can compiled small console application again can linked either cube or matlab (for software development, sil).


last not least advice:
please not reproduce cube unless have socially acceptable place in house such monster device , unless have years of spare time , approx 3000 bugs left build :-)

have fun videos on website!

flip

one of best things i've ever seen.


raspberrypi



Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'