I'm building an interactive disco dance floor. Like the light up dance floors from the 70's, but each floor panel should be able to detect when it's being stepped on and possibly light up to show this. I'm trying to figure out the best method of step detection.
- Each panel will be about 12" x 12".
- Since people will be dancing, the panels should not move (a little bit of give is okay)
- Optical detection from above will detect the person blob, but not which panel is being stepped on (not accurate enough).
- Optical detection from below is expensive and could be troublesome if trash is on the floor.
What is the best approach here? Ideally the panel wouldn't move at all and could just detect that someone is standing on it. Although, I'm okay with the panel having a bit of give, if needed. The important thing is that people can dance normally without feeling like the floor is unstable.
Here are some of the ideas that I have come across:
Piezo Sensor: I believe the voltage spike with these sensors is momentary and wouldn't let the system know if the person is still standing on the panel.
Custom Foam Pressure Sensor: Based on this instructable, an analog pressure sensor made from foam. It is cheap, but probably not well calibrated or consistent between panels.
Accelerometer Tap/Click Detection: Would require a heavy enough stomp to detect and the feedback would be momentary, like the piezo sensor, and not let me know the person is still standing on it.
Air Pressure sensor: A sealed rubber tube with a barometric pressure sensor under the panel. This would require me to build the sealed tube and could be susceptible to damage or leaks over time.
Capacitance Detection: Would it be possible to detect capacitance change over the panel? Even if the person is wearing rubber or leather soled shoes?
Load Cell: Like this one from SparkFun. Would report when someone is standing on it and how much of their weight is applied. Currently my favorite option.
Ideally I want to go with something that will work consistently and will last.