Drumming MIDI Glove Using Arduino and Light Sensors
I will describe a fun and easy way to build your own sound expression MIDI enabled glove without expending lot’s of money on MIDI Interfaces or expensive sensors.
Feel free to contact me directly by mail if you like it or have suggestions.
This project was inspired by other do it yourself projects using Piezo (buzzer) as input sensors but they are too big and need filtering for precise velocity reading.
So this is an out of the box and unconventional knock input sensing method I’ve been using and now it’s yours too.
If you do like electronics, gadgets and music take a time and build yourself one of these. Using it and tuning the software synth brings you lot of fun and pleasure.
Let me start showing the result of this project. It’s me testing the glove for the first time using FL Studio and synth software.
The code version 1.0 of the prototype that I’m disclosing does not implement HIT velocity for increased/decreased sound intensity but it’s a fairly simple and a neat coding challenge for your after building it.
The 2.0 prototype that isn’t ready yet is discrete, dual-handed, Wireless Enabled, Supports beat Velocity and allow the player to up/down shift Octaves and Tom in real time. Also it’s the does not rely on MIDI Virtual Port.
The Gloves (pair) v2.0 will be public like this as soon as it’s ready so no need to ask for details by contacting.
Let me start with the requirements list:
1x Music Lover Arduino DIY’er looking for a thrilling and fun sound project.
1x Arduino board with at least 4 analog inputs.
4x Small LDR Light Resistor (it costs $ cents and are very precise)
4x 1K Resistor (or any other by changing thresholds and triggers on the CODE)
5x meters of thin and flexible solid core wire. (thin wire from old phone cord cords may do well)
1x Glove. I’ve chose cotton working gloves with rubber dots; ( $1/pair )
1x Protoboard and a bunch Jumper cables;
1x USB or Serial cable to connect Arduino -> PC.
Tools and Misc materials
Solder Iron and solder Wire
A 10″ x 10″ piece of EVA Foam for LDR Sensor Casing or similar hard foam is highly suggested.
A small Scissor or Utility Knife for cutting the EVA into Ring Shape. Check photos.
Strong Contact Adhesive Glue (like used to rebuild worn shoes!)
15 minutes Hobby Epoxy Glue (2 compound), used on the Foam Casing to fix the LDR Sensors firmly.
— SpiekenzieLabs Serial Midi Converter: download and instructions page here
— LoopBe1 — Free Virtual Midi PORT – http://nerds.de/en/loopbe1.html
— FL Studio or Ableton or any other sound synth software with MIDI automation capabilities: FL Studio Demo
There are plenty of Drummer specific softwares you might find on google. Also GarageBand on MAC should work!
I really prefer dynamic synth sound provided by FL Studio plugins like Toxic Biohazard
Building tips and Wiring Schematics
Some Background: Since LDR Sensors are merely resistors that change the resistance by the relative amount of light that they receive you may consider that are no Poles like cathode and anode. There are no positive and negative lead like Leds which are Diodes.
Example of how to wire one LDR sensor using the arduino. Make sure you make this simple test before building your Glove. Use the following code to test the schematic:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225675113 but don’t forget to change the ANALOG IN PORT for the one you are really using. The example used port 0 and photo schematic port 3.
Important: Keep in mind that each sensor will SHARE the 5V line .
So after the glove is ready you will have 5 wires between the Arduino and the glove.
5 volts Voltage line from arduino will connect into 4 LDR lead, one each.
The other 4 remaining wires will be connected to remaining LDR sensors leads.
WIRES and PORTS:
Wire #1 – GREEN on the photos: connects 5v port and 4 LDR leads in a common and shared line.
Wire #2 – White: Connects LDR from Finger 1 to Analog IN Port 0
Wire #3 – White: Connects LDR from Finger 2 to Analog IN Port 1
Wire #4 – White: Connects LDR from Finger 3 to Analog IN Port 2
Wire #5 – White: Connects LDR from Finger 4 to Analog IN Port 3
If you follow the above ports no changes will be necessary on the code I’m providing.
Regarding the software. First install the LoopBe1 Virtual Midi Port Drivers then will be possible to interface between Serial port and Sound Generator application.
The Arduino code is set for Serial port speed 57600 so make sure you choose this Speed when running the Serial Midi Converter Software.
Inside the synth software look for and choose as default input port the LoopBe Midi IN port and make sure LoopBe and Serial to Midi apps are running and transmitting before try to use a Midi Enabled application.
I really don’t have time now to draw a full schematic of the protoboard but it’s exactly as shown on LDR Test Scheme with 4 resistors instead of one. And the LDR will be far and connected to the Glove.
Hope you enjoy executing and playing with it after ready.
The code should be downloaded here:
Official download location:
Note: feel free to enable the Debug flag and check the serial comm if does not work as expected.