Multiarray of PiezoSensors

Hello all,

I am coming from a software perspective and not so much from hardware. For a project I want to create a music / light instrument based on “Tubular bells”, it is not so much to amplify the sound but rather to know which tube was hit and than transform this into lights via DMX / Artnet protocol.

So I was digging through sparkfuns extensive product range and came across the Piezo Vibration Sensors. Which I would like to tape to each tube and get a signal every time the tube was hit. I tried to come up with a connection schema which as far as I understood should get the readings from the sensors to my raspberry pi. (see attached image)

Questions is:

a) would this work?

b) what are the maximum of sensors I can connect this way

c) how can I calculate the update frequency I will get from such a setup (everything above 25Hz is perfectly fine)

gratefully for any help

Richard

Hi Richard!

a) would this work?

I'm pretty sure it will but you'd need to do some testing as I'm sure some gremlins would probably pop up. You're also going to need to write the software that reads your ADCs and takes an action based on the readings.

b) what are the maximum of sensors I can connect this way

Theoretically, it's unlimited, but physically, electrically and code wise, you're going to hit a limit. I don't know what it is, but I would imagine you'd be OK with at least a few dozen piezo sensors, probably more. I assume you're considering the Qwiic ADC for analog to digital converter. Those allow up to 4 I2C addresses so you could have 16 piezo sensors on a single I2C bus. A I2C MUX like the Qwiic MUX would split your I2C bus into 8 other busses and you could potentially cascade MUX's for even more. I would imagine at some point the programming might become an issue keeping track of all those devices and that might become the limiting factor.

c) how can I calculate the update frequency I will get from such a setup (everything above 25Hz is perfectly fine)

I think what's going to limit you is how fast you can sample each sensor. I'm not exactly sure how you can calculate this, but I'm pretty confident the hardware can probably do at least 1kHz range but would slow down as you add sensors. How efficiently you write your code and how busy the Pi is would also have an impact on update frequency.