I've had this idea in my head awhile, and have been looking around and found Arduino and thought it would be the "simplest" way to go about it. The basic idea would be to have clear board (plexiglass or the like) with a bunch of LEDs mounted behind it which would light up and "cascade" (think fireworks) out to the edges of the board, with the origin of the cascade being where an impact occurred. I've thought a bit about it and thought I'd throw it out there to see what those much more experienced than I might think...
I've been reading a lot about LED matrices and shift registers/multiplexing/charliplexing/etc. and from the looks of it it seems like the theory behind the LED part of the project would be doable. The thing I'm having a bit of trouble getting my head around is activating the sequences of LED events based on where the impact occurs. I've searched all over to find someone who's done this before but can't seem to find it.
After thinking about it for a few days, i'm thinking I may have a pretty simple (and cheap) way of figuring it out with piezo elements. Basically just having four elements positioned on the board (each located on the outer edge in the middle of the four sides). And using some caluculations on the four different readings to get a kind of x,y coordinate of the impact...
E.g. if i call the sensors (starting at 12 o'clock and going clockwise) p1, p2, p3 and p4, the x coordinate would be equal to
x = p1/(p1+p3)
y = p2/(p2+p4).
would that give me a proportion of how high/low and left/right the impact occurred relative to the very low left corner? So say p1=p3 and p2=p4 that would essentially mean the impact occurred in the center of the board (at coordinate (50,50)).
Next question, assuming all above is good to go theoretically, say I break down all the possible coordinates into 20 "zones" (I really don't have the time, skill or patience to create say a 100/100 LED matrix...although that'd be awesome) and space the LEDs out a bit from each other, do i need to have in my code 20 different routines for each possible zone where the impact originates from? I'm hoping not, but if it did, would the Arduino have the memory to hold all those different routines?
I haven't even thought of the power logistics this would take yet...I've mocked up an idea, just in Excel, and guesstimate I'll have around 280 total LEDs, however, the most on at one time would be 120.
any thoughts, guidance, reassurance would be most appreciated!