Make a Drum Machine

Well, for my project idea (which may or may not ever get built!!) I was thinking of two different approaches to accomplish the same thing - do an analog read on 8 pads and act accordingly.

As my project plan was for a modular system similar to the old Simmons kits, my first plan was for a master trigger module, and its job would be managing the input pads and MIDI/trigger signals to other stuff. This is how I imagined such a module MIGHT work (it also might very well NOT work, as I have had no time to build, code and test it):

Going by the highest midi timing resolution feasible on whatever micro I ended up using, first perform a sequential analog read on all inputs to determine which pads were hit in that "time slot" and how hard. Let's say for argument's sake that the 8 inputs could be polled sequentially every millisecond or so, and the 8 values obtained put in an array, which could be passed to another function responsible for generating the MIDI data.

My idea to test this if I ever got around to it would be to write a Processing app consisting simply of 8 coloured boxes which could change from green to red when a pad is triggered and display the velocity (0-127) in the box, and hope that if it LOOKED like it was responding correctly and quick enough, it would sound "in time".

I suppose with all the libraries available for midi/serial stuff, it wouldn't be too hard to take the pad data and assign it to MIDI notes... but then, this is all just pure speculation and untested by me.

I have attached a schematic from a project called "EDrum" which demonstrates how to hook up the pads to your micro's analog inputs. Perhaps you'll find it useful!