Project:USB Disco Dance Floor/v1: Difference between revisions
(A few updates about floor size) |
(Added project log entry for today) |
||
Line 17: | Line 17: | ||
== Project log == | == Project log == | ||
[[File:DDF-front-20110403.jpg|240|thumb|right|Top of prototype, as of 2011-04-03]][[File:DDF-back-20110403.jpg|240|thumb|right|Bottom of prototype, as of 2011-04-03]] | |||
;2011-03-29: | ;2011-03-29: | ||
:*I am building the prototype circuit on veroboard: one 4x4 array of [http://www.earthshineelectronics.com/optoelectronics/55-pirahna-rgb-led-pack-of-10.html RGB Piranha LEDs], plus three [http://www.earthshineelectronics.com/integrated-circuits/62-tlc5940-16-channel-led-driver.html TLC5940] drivers. | :*I am building the prototype circuit on veroboard: one 4x4 array of [http://www.earthshineelectronics.com/optoelectronics/55-pirahna-rgb-led-pack-of-10.html RGB Piranha LEDs], plus three [http://www.earthshineelectronics.com/integrated-circuits/62-tlc5940-16-channel-led-driver.html TLC5940] drivers. | ||
:*I have yet to decide whether the ICs will be assigned one per colour or just sequentially tie the outputs to the LED pins. I should be able to get 4096 levels per output channel, so this gives me (apparently) 68.7 ''billion'' colours per pixel (4096³), which should probably be enough. I'll probably reduce that down to the more standard 256 levels. | :*I have yet to decide whether the ICs will be assigned one per colour or just sequentially tie the outputs to the LED pins. I should be able to get 4096 levels per output channel, so this gives me (apparently) 68.7 ''billion'' colours per pixel (4096³), which should probably be enough. I'll probably reduce that down to the more standard 256 levels. | ||
:*A quick test on breadboard showed that I can at least control one TLC5940 and 5 LEDs as expected, with a sweeping pattern across the outputs. Next stage is doing exactly the same on the veroboard prototype! | :*A quick test on breadboard showed that I can at least control one TLC5940 and 5 LEDs as expected, with a sweeping pattern across the outputs. Next stage is doing exactly the same on the veroboard prototype! | ||
;2011-04-03: | |||
:*I have finished soldering the LED array onto the board, including resistors, and I have now made a start on wiring the LEDs to the controllers. I also connected all of the common anodes | |||
:*I decided to connect the LEDs to the drivers sequentially, so R0 -> OUT00, G0 -> OUT01, B1 -> OUT02, etc. This was partially prompted by designing [[Media:DDF-PCB-v1-20110403.png|a PCB]] for future use. I hope to have a prototype of the board produced professionally, so I can test and refine it. A future version of the board will have the microcontroller embedded (as described below), or ''possibly'' done as an Arduino shield. Turning it into a shield is unlikely, however: the board would be quite large, and routing might be complex. It would likely be more than my version of Eagle can handle! | |||
== Future directions == | == Future directions == |
Revision as of 23:03, 3 April 2011
USB Disco Dance Floor | |
---|---|
Created | 2011-03-31 |
Version | 1 |
Members | DMI |
Project Status | Prototyping |
QR code |
Introduction
The aim of this project is to create a USB-controlled, Arudino-powered 70's-style disco dance floor, inspired by a similar project by a student at MIT. It will act as a modular, low-resolution RGB display. Each pixel will be 6-8" per side, and it will come in 4x4-pixel modules that can be connected together.
The board, firmware, and software will (of course) be open-sourced.
Terminology
Each pixel will be referred to as a cell, and each self-contained block of 4x4 pixels will be referred to as a module.
Materials
I plan for the main body of the module to be made of wood, with some sort of frosted/diffused acrylic top. It needs to be strong enough to handle a relatively large number of people jumping up and down on it, as well as potentially spilling drinks etc.
Project log
- 2011-03-29
-
- I am building the prototype circuit on veroboard: one 4x4 array of RGB Piranha LEDs, plus three TLC5940 drivers.
- I have yet to decide whether the ICs will be assigned one per colour or just sequentially tie the outputs to the LED pins. I should be able to get 4096 levels per output channel, so this gives me (apparently) 68.7 billion colours per pixel (4096³), which should probably be enough. I'll probably reduce that down to the more standard 256 levels.
- A quick test on breadboard showed that I can at least control one TLC5940 and 5 LEDs as expected, with a sweeping pattern across the outputs. Next stage is doing exactly the same on the veroboard prototype!
- 2011-04-03
-
- I have finished soldering the LED array onto the board, including resistors, and I have now made a start on wiring the LEDs to the controllers. I also connected all of the common anodes
- I decided to connect the LEDs to the drivers sequentially, so R0 -> OUT00, G0 -> OUT01, B1 -> OUT02, etc. This was partially prompted by designing a PCB for future use. I hope to have a prototype of the board produced professionally, so I can test and refine it. A future version of the board will have the microcontroller embedded (as described below), or possibly done as an Arduino shield. Turning it into a shield is unlikely, however: the board would be quite large, and routing might be complex. It would likely be more than my version of Eagle can handle!
Future directions
Version 2 of this project will provide RGB+UV for each cell, with pressure sensors. Ideally the pressure sensors will have a resolution of one cell, so that the floor could be used for games (e.g. Tetris or a mash-up of Dance Dance Revolution and Guitar Hero). The Arduinos (or other microcontrollers) will be embedded into the board design, and the PCBs batch-produced.
Note: Tetris requires 10px wide by 20 high for the playing field. DDR would require ((NPlayers * 5) - 1)px wide. It looks like the floor would have to therefore be a minimum of 3x8 modules for Tetris, and probably the same for DDR (but perhaps shorter). For two players, DDR requires a minimum of 3 modules wide, but the height could be relatively variable. The example floor to the right is 3x7 modules.