Basically, i want to create something like the Zendrum (http://www.Zendrum.com), and I have already a bunch of necessary items, listed below. I only care right now about the technical/electronical stuff. I want to be able to hit a piezo sensor, and have a drum sound play.
FL Studio 10, with a bunch of drum sounds and stuff
MIDI Yoke Software (Serial/MIDI Converter) ← not sure how to use it
I’ve been following instructions on various websites and videos, but I can’t seem to figure it out. What I think I understand so far is this:
Piezo Sensor is hit
Mess of Analog Data is sent to Arduino through the Drum Kit - Kit
Arduino changes all that analog data into a midi command, with velocity, channel, note…etc
That all travels through the USB (NOT MIDI CABLE) to my computer, where MIDI Yoke analyses it and transforms it into something that FL Studios can rea
FL Studios read the data sent from MIDI Yoke and plays a drum sound through the speaker.
I could really use some step-by-step instructions on how to set this all up, and the correct code to use for the arduino. I can provide more details about my parts and computer if necessary.
The drum kit would seem to have the circuitry needed for 6 pads. I say seem because a piezo can produce very high voltages (+/- 100V) that can damage your Arduino’s inputs. The kit says it has Zener diodes, to protect the inputs. Strictly speaking a Zener isn’t … per spec … sufficient … but it may (probably) is “good enough”. Let’s go with that.
You want 16 pads so you need 3 kits. Other resistors would not seem to be needed. The question is what do you want for an Arduino. It would appear that if you got a Mega, with 16 analog inputs, you’d be all set. Perhaps that’s true … I’ll guess you’ll need to modify the supplied code a bit to do 16 pads. But I forsee a potential problem in that any 1 Arduino may not be able to sample all 16 channels quickly enough to detect a hit, and do whatever other processing is needed. Every Arduino that uses an ATMega MCU as it’s brain really only has 1 A/D converter. So to digitize 16 channels, it does 1 channel at time, then goes to the next, until all 16 inputs are done. Then it does it again, over and over send data to the PC. An A/D conversion takes about 120 usec. That’s at a minimum ~2 msec to do 16 channels. Realistically add in more time to do other processing for each channel. It’s not clear to me that the piezo signal (which is quite different from a real drum signal) will last long enough under all conditions to be “seen” by the Arduino. You may want to e-mail the drum kit guy and ask about doing 16 channels. Or look on other forums where people have done this.
You might go to a faster “Arduino” (like a Teensy 3.0 or other ARM based board) or use multiple Uno’s. Either presents some problems to be solved that might not have been solved before. Code mods for the non-ATMega boards and multiple channels of MIDI info for multi-Arduinos. My GUESS is that multi-Arduinos is the path of least problems for you. It’s really a MIDI software issue that I know nothing about.
Otherwise you have the basic concept correct so far as I can tell.