The results are in: an Arduino connected via header pins, and loosely-attached prototyping boards are insufficient to handle being carried and played while dancing. It did, however, prove sturdy enough to be transported, handled, and played around a campsite.
I’ve also realised that this project is in fact complex enough to necessitate designing a circuit schematic instead of simply relying on memory whenever I need to wire it up: while putting it together last time, I connected the Zener bypass in reverse (meaning that the AVR would have been seeing negative voltage spikes rather than positive ones). I was able to fix this by connecting the prototyping board backward to the Arduino, but this still meant that the initial spike on the sensor was bypassed, leaving the rebound negative spike visible. I may yet design a better bypass which clamps the voltage spikes between 0 < Vsensor < VCC rather than -0.5 < Vsensor < 5.1. Something tells me this is possible using voltage dividers.
There was also an intermittent problem where it would simply stop responding to new drumstrikes. I found two workarounds. One was to simply reset the CPU, which led me to believe at first that it was a software issue (although it seemed non-deterministic, which I found curious, as the RNG was never seeded). Another was to simply keep playing it, and eventually it began responding again. After removing the head to inspect the electronics, I found that the sensor socket had been shaken loose, so it may have actually been a connection problem. Pressing the reset button may have moved things around and fixed the connection. If it happens again I’ll start counting strikes between it stopping and starting….
All in all, I learned a lot, and had fun showing off my newest toy. Now it’s time to refine the design into something durable.