Interactive LED Dance Floor
Recently I was involved in a project to build a giant LED dance floor for a convention. Perhaps the best place to start is this video:
- 64 panels, each with 4 cells, for a total of 256 cells (16x16)
- Size is 17 by 17 feet.
- 'Virtual' resolution of 48x48 via sub-cell addressing.
- A total of 7,680 RGB LEDs, arranged as 2,560 addressable pixels
- Total power consumption 80A at 12V
- 64 custom-designed and populated circuit boards
- 256 pressure-sensitive switches for interactive functions, refreshed 70 times a second
- Capable of 40 frames per second via Art-Net
Here are the electrical schematics for the board that runs inside each panel. They are in Eagle 7 format. This is Rev C of the board, which fixes some of the electrical issues in Rev B (the version that was actually produced)
Two processors run the dance floor.
- A Teensy 3.1 interfaces with the LED strips. It has an ethernet module attached to receive commands and ArtNet signals.
- An Arduino Mega is connected to all the shift registers on the boards and scans all of the button inputs. It is connected to the Teensy via i2c.
Aside from that, the floor is controlled by any software that can send out ArtNet, such as Jinx from live-leds.de
In addition, a C# program controls the interactive aspects of the floor.
All code can be downloaded from GitHub: LED Dance Floor Code
The pin layout of the 10-pin connector that goes between each board is as follows:
- 1 - GND
- 2 - LED Data In
- 3 - GND
- 4 - Clock
- 5 - GND
- 6 - Shift/Load
- 7 - 12V
- 8 - Shifted Data Out
- 9 - 12V
- 10 - 12V
- 11 - Clock
- 10 - Shift/Load
- 22 - Input 1
- 23 - Input 2
- 24 - Input 3
- 25 - Input 4
- 26 - Input 5
- 27 - Input 6
- 28 - Input 7
- 29 - Input 8