Simple DIY drum based on a Guitar hero Drum set.
Recognized as an USB MIDI controller, working in any MIDI capable device (Computers, Phones, etc...).
- Arduino compatible micro-controller
- With USB capabilities (e.g. atmega32u4)
- Piezo sensors (As much as needed)
- 1M Ω resistors (One for each piezo sensor)
- Soldering iron and solder wire
- (Optional but recommended) Guitar hero drum set
Example of circuit
On Sensor.h file you will find available configurations and definitions for each sensor out-of-the-box.
Sensors should be reflected in MIDIDrum.ino at sensors array
variable.
Note: I've found that some pads on my Guitar Hero Drum set work better with quadratic distribution of force instead of linearly mapping the analogRead
to the MIDI velocity
value. If you found that this does not work for you, simply change the sensibility
property in your sensors for 1.
Please find below a table containing MIDI notes in decimal, these numbers shall be used when emitting notes.
Octave | C | C# | D | D# | E | F | F# | G | G# | A | A# | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
2 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
3 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
4 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
5 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
6 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 |
7 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
If further notes required check this generator script, used for generating the above table