convert piezo signal to midi

Thread Starter

seayaker

Joined Jan 27, 2009
74
I need to convert 24 piezo drum pads to velocity sensitive midi notes. Is it possible to do this without a development board such as Arduino?
 

Alec_t

Joined Sep 17, 2013
14,389
In addition to an MCU (Arduino or otherwise), you will need analogue circuitry to condition the piezo signals for input to the MCU.
 

Thread Starter

seayaker

Joined Jan 27, 2009
74
I'm not sure what you want, but you can refer to the old thread Piezo Trigger Switch first and tell us what are you trying to do?
Thanks for responding, I built an assembly with 20 pads and 2 pedals, I tried to use a teensy 3.6 board because it has 22 analog inputs and is supposed to be faster but I could not get it to trigger a note with a piezo only with the buttons which are just note on note off, not velocity sensitive. Since all I need to do is send midi messages in to the DAW, I was wondering if there's another way to do this. If I can find another board that will work I'll do it that way but the Arduino mega is out of stock. I may be able to use one of the others with some multiplexers if they don't add too much latency.
 

ScottWang

Joined Aug 23, 2012
7,411
I saw the video that it seems the sensitive of piezo is enough to trigger the analog input of Arduino, so if you want to expand the input channels then you can use 6 digital I/O pins and 3 CD4051 to get 24 analog inputs.
 

Janis59

Joined Aug 21, 2017
1,856
Where is problem to write it on PC mic input and later convert as may You want?
Only limitation is 22/44 kHz limit of sound card.
 

ian field

Joined Oct 27, 2012
6,536
I need to convert 24 piezo drum pads to velocity sensitive midi notes. Is it possible to do this without a development board such as Arduino?
The piezo elements probably have more resistance than you can measure and are predominantly capacitive.

The input circuitry needs to be high impedance. Thermal expansion/contraction can generate substantial voltage on a piezo element, and being capacitive - it has a charge it can dump. Not usually a problem in use - but short the piezo before connecting up.

Probably not the best idea to put straight on a pin of a micro, a high impedance buffer is where to start - I'm thinking follow that with a differentiator circuit and maybe a monostable if the micro cant catch spikes.
 

Thread Starter

seayaker

Joined Jan 27, 2009
74
I saw the video that it seems the sensitive of piezo is enough to trigger the analog input of Arduino, so if you want to expand the input channels then you can use 4 digital I/O pins and 3 CD4051 to get 24 analog inputs.
I'm not sure what you want, but you can refer to the old thread Piezo Trigger Switch first and tell us what are you trying to do?
Would this board https://store.arduino.cc/usa/arduino-mkrzero and enough multiplexers work? Is the 3v limit a problem? I have a 1m ohm drop down resistor and a 3.3 zener diode connected to the piezo, any suggestions?
 

ScottWang

Joined Aug 23, 2012
7,411
Would this board https://store.arduino.cc/usa/arduino-mkrzero and enough multiplexers work?
The arduino-mkrzero have 7 (ADC 8/10/12 bit) Analog Input Pins, so the input pins are still not enough, if you still want to use 22 input pins then you should do as the suggested method in #5.

I have a 1m ohm drop down resistor and a 3.3 zener diode connected to the piezo, any suggestions?
Are they in series, or one pin of the zener diode connected to gnd ?

If the piezo could works with +5V then it could be works for the +3.3V, if you concerned about that then you could reduce the 1MΩ to 100K or less, or try to use one analog pin of Arduino to do the test.
 

Thread Starter

seayaker

Joined Jan 27, 2009
74
The arduino-mkrzero have 7 (ADC 8/10/12 bit) Analog Input Pins, so the input pins are still not enough, if you still want to use 22 input pins then you should do as the suggested method in #5.


Are they in series, or one pin of the zener diode connected to gnd ?

If the piezo could works with +5V then it could be works for the +3.3V, if you concerned about that then you could reduce the 1MΩ to 100K or less, or try to use one analog pin of Arduino to do the test.
Yes zener to gnd. I was going to get this board https://store.arduino.cc/usa/arduino-due but its out of stock so I wanted to be sure the mkrzero will work.b80394e7e7f337e349bd8aa7e4150a55.png
 

ScottWang

Joined Aug 23, 2012
7,411
Pin 7 could let it floating, because it is an n.c pin, you can't connected the pin-6 to gnd, and you should use another 3 digital I/O bits to choose 3 pin-6 of 74HC4851, so you can select any 8 analog inputs by setup 3 pin-6 as :
1. pin6-01 = low(0), pin6-02 = high(1), pin6-03 = high(1) then it will select the first 74HC4851,

2. pin6-01 = high(1), pin6-02 = low(0), pin6-03 = high(1) then it will select the second 74HC4851.

3. pin6-01 = high(1), pin6-02 = high()1, pin6-03 = low(0) then it will select the third 74HC4851,
 

Thread Starter

seayaker

Joined Jan 27, 2009
74
Pin 7 could let it floating, because it is an n.c pin, you can't connected the pin-6 to gnd, and you should use another 3 digital I/O bits to choose 3 pin-6 of 74HC4851, so you can select any 8 analog inputs by setup 3 pin-6 as :
1. pin6-01 = low(0), pin6-02 = high(1), pin6-03 = high(1) then it will select the first 74HC4851,

2. pin6-01 = high(1), pin6-02 = low(0), pin6-03 = high(1) then it will select the second 74HC4851.

3. pin6-01 = high(1), pin6-02 = high()1, pin6-03 = low(0) then it will select the third 74HC4851,
Thank you, This is not my set up just an example. I wanted to use the USB with a serial to midi converter instead of the midi out with the mkrzero instead of the duemilanove board.
 
Top