9
MicroDrum Tupiniquim (Rodrigo Amaral 19.02.2015) The goal of this project is to create an interface for reading electronic drum Pads with the Arduino. It is important to remember that this module has nosound, it's just a MIDI controller, and the same must be connected to a computer so that the sounds areexecuted. This project is inspired by (if not fully copied) project"microDrum", developed by MassimoBernava, for more information on the functioning of the project, I recommend you take a look at this page:http://microdrum.altervista.org/ Below is a brief description of the project, which was taken and translated from the official page: "MicroDRUM is the most cost-effective way andsimple to build an electronic drum module. It is based on Arduino and can be used with a huge variety ofpads and cymbals, supporting up to 48 pieces. Theoutput can be sent to a PC and converted to drumsthrough VST as BFD, AddictiveDrums and Superior Drummer, etc. The configuration software has features not found in any other similar solution: a directinterface with VST (without USB- MIDI cable),recording, playback of tablature for practice, etc. Thisis a Open Hardware product made in Italy. " As in Brazil, we have some limitations in achievingsome electronic components, I decided to make a version with the components that we can find. The CI Multiplex, was exchanged for an SMD version, which is found easily on the site with a Aliexpress.com relatively low price (approximately $ 25.00 per 10 units) The Arduino Uno, was replaced by an arduino nano in a generic version, which is also found in Aliexpress.com for about $ 10.00. (Can be used anarduino Uno) Printed circuit board The project supports up to 6 plates each with 4 Jacksfor the connection of the pads. Each of Jack's own twomultiplex analog pins connected to it, which allows the use of pads of type "Dual Zone" in any one of thejacks (except the Hihat controller). With the mounted boards 6, we will have a modulewith 24 Stereo Connectors, the totaling 48 (or 24 Dual Zone) parts that can be used.

MicroDrum Guide.docx

Embed Size (px)

Citation preview

Page 1: MicroDrum Guide.docx

MicroDrum Tupiniquim

(Rodrigo Amaral 19.02.2015)

The goal of this project is to create an interface for reading electronic

drum Pads with the Arduino. It is important to remember that this module has nosound,

it's just a MIDI controller, and the same must be connected to a computer so that the

sounds areexecuted.

This project is inspired by (if not fully copied) project"microDrum", developed

by MassimoBernava, for more information on the functioning of the project, I recommend

you take a look at this page:http://microdrum.altervista.org/

Below is a brief description of the project, which was taken and translated from

the official page:

"MicroDRUM is the most cost-effective way andsimple to build an electronic

drum module. It is based on Arduino and can be used with a huge variety ofpads and

cymbals, supporting up to 48 pieces. Theoutput can be sent to a PC and converted

to drumsthrough VST as BFD, AddictiveDrums and Superior

Drummer, etc. The configuration software has features not found in any other similar

solution: a directinterface with VST (without USB-MIDI cable),recording, playback

of tablature for practice, etc. Thisis a Open Hardware product made in Italy. "

As in Brazil, we have some limitations in achievingsome electronic components, I decided

to make a version with the components that we can find.

The CI Multiplex, was exchanged for an SMD version, which is found easily on the site with

a Aliexpress.com relatively low price (approximately $ 25.00 per 10 units)

The Arduino Uno, was replaced by an arduino nano in a generic version, which is also

found in Aliexpress.com for about $ 10.00. (Can be used anarduino Uno)

Printed circuit board

The project supports up to 6 plates each with 4 Jacksfor the connection of the pads. Each

of Jack's own twomultiplex analog pins connected to it, which allows the use of pads of

type "Dual Zone" in any one of thejacks (except the Hihat controller).

With the mounted boards 6, we will have a

modulewith 24 Stereo Connectors, the totaling 48 (or 24 Dual Zone) parts that can

be used.

Page 2: MicroDrum Guide.docx

As the integrated circuit used in this project is an SMDversion, the same must be

welded on the copper sideof the plate (as pictured below).

To facilitate the welding procedure, recommend that users follow the following step in the

making of plate:

1) After eating the plate in iron perchloride, clean it with steel wool (Brillo) until it is clean

and bright.(Note: some patches on the plaque removal are not possible)

2) Apply the copper side, a masking tape, delimitingthe area corresponding to the

terminals that are receiving CI

3) apply a small amount of solder on all trails thatreceive the CI

4) remove the adhesive tapes, clean the plate with thesteel

wool and again later with some solvent (alcohol,acetone etc.) to remove any kind of

fat exists.

5) apply a thin layer of varnish to protect the Board (there are special varnishes for circuit

boards, but I usually use spray varnish colorless common)

List of Board components

• 1-Pin bar (double) (12 Pins per card)

• 4-JacksStereo with key (Terminal 6)

• 1 CI 74HC4851 (SMD Version)

• 1 1 m Resistor (R1)

Jumpers setup the Board

1) setting for the use of common pads on all Jacks:

Page 3: MicroDrum Guide.docx

2) configuration for the use of the first Jack (left) as aHihat controller (Note: you only

need a single jack withthis setting for any project, the other boards should bemounted as

shown in the previous figure)

In this configuration, the center pin of the jack shallreceive the 5V from the plate, which is

required for theoperation of

the controller. The analog pin A7multiplex is off the jack and should be disabled in

theconfiguration program.

To avoid short between 5V and GND hihat controller,the user must cut the center

pin of the switching jackbefore you solder it on the Board. If this is not done,every time

the plug is removed from the PIN plate will enter into short with the GND and will cause

thearduino switches off. In the figure below is shown thejack pin that must be cut.

Page 4: MicroDrum Guide.docx

Note: whenever the hihat controller is off the Board,the same will be short and will

restart the Arduino.This is a normal behavior, and should not be taken asa

problem or bug.

Connection between the plates

The connection between the plates and the Arduinouno, must be made according

to the diagram below:

1. GND

2. Digital Pin 2

3. Digital Pin 3

4. Digital Pin 4

5.5V

6. Analog Pin

How connections of 1 to 5 are common to all boards used in the project, the second

row of the pins mustbe used to make the connection of a plate

to another(as pictured). 6 Connector, corresponding to analogPIN is individual for each of

the boards used (beingthat you can use the doors of A0 to A6).

It is necessary to pay attention in time to perform this connection between the plates so

that the connectoris not connected to the contrary, if it does run the riskof

damaging the integrated circuit (74hc4851)

As the distribution of the pins of the multiplex, notsequential in the IC, the card also does

not have the jacks distributed with the pins in sequence. Thissetting should be taken

into consideration for any configuration changes of the code. The image belowshows the

pin corresponding to each of the jacks of the plate.

Page 5: MicroDrum Guide.docx

Configuration and Upload the code:

The user should have installed on your machine theArduino IDE so you

can make the desired edits in codeand upload to the arduino. Below are the parameters

that should be edited by the user to get a betterperformance of the module:

• Microdrum code, can be downloaded directly from the repository (GitHub)

project:https://github.com/microDRUM/md-firmware

• Use the option "Download Zip" to copy all the files inthe code for your machine.

•From the Arduino IDE, navigate to and open the file "sketch_microdrum.ino". Note

that when opening this file, it will display various tabs in the IDE.

• Before you upload the code to the arduino Board,should be changed two existing

parameters in the code:

 16 Line: SERIALSPEED = 0 #define = #define >SERIALSPEED > for 1

 19 Line: #define LICENSE = 0 to = #define > >LICENSE1

• Before you upload the code, make sure the platemodel and the serial port are

selected correctly.

• Upload, and wait for the message "Done Upload"

Software configuration

• Please Donwload the configuration application at the following

address:http://microdrum.altervista.org/blog/downloads/microDrum_Python_Executable_fo

r_Windows.zip

• With the Arduino connected on the machine, openthe application

• On the top bar select the COM port that is beingused by the Board, then click "Enable"

Page 6: MicroDrum Guide.docx

• In the configuration tab, are shown 48 lines thatserve for the settings of the pads. We

must remember that the order of pins in each of the multiplex don't follow the same

order.

• To assist users, I'm offering my configuration file (pads.ini) that must be placed inside

the folder of the application so that it is read by the program.

• Where are made further changes in the settings ofeach of the pads, the user

must press the button "SetAll" so that the pad settings to be saved on the card.

• It is important to remember that the button "Set All"only works for all

parameters of each of the pads,namely, this option does not change the configuration of

all pads at once.

• It is indicated that the user always leave checked the option "Save", because in this

way even if the user does not save the settings on the Board, the application will

maintain these settings saved on your computer.

In the tab "Monitor" should be selected the virtualmidi driver, where the

application sends the signalsread by the battery. Usually we use the LoopMidi,because

it's a free option.

Note: the sounds are only sent when the application isin the "Monitor" tab

The tabs "Tool" and "About" do not possess anythingimplemented in application.

MicroDrum configuration parameters

Type: sensor type that is being used, you have the following options:

• Piezo-(is the option that will be used for virtually allthe pads except the HiHat controller)

• Switch-(operates as an On/Off Key, lacks sensitivity)

• HHC-(Hihat controller)

• Disabled-(Input Disabled)

Note: Note corresponding to each of the pads

Curve: not sure yet on the functioning of this absoluteparameter, but it

seems he serves to delimit themaximum range that the pad can be achieved. In my

tests I got satisfactory results with values between 75and 85.

Curve Form: matches the type of reading curve of eachPad, in my tests I

just having better results using thepads with Linear reading

Threshold: sensitivity (value of 1 to 127) Determinesthe minimum value that a note must

have for it to beexecuted.

Scan Time: Time of the Sensor Reading

Retrigger: couldn't understand completely the functioning of this variable, but it seems to

me, the higher the value, the more readings are made, so theretrigger may increase. It is

interesting to begin Setupin the 127 value and reducing. I got good results withvalues

between 50 and 75.

Mask Time: Time of reading of the Piezo that will be"masked".

Mark schonewille: not tested this parameter yet.

Xtalkgroup: have not tested this parameter yet.

Gain: Amplifies the input signal of the pad. A good example for the use of this parameter

is the box(snare). For example, the Threhold of the box should be low enough to

catch the ghost notes, but the definition of the limit too low can cause

the pad hasretrigger or so keep firing constantly. Increase the gainincreases the input

Page 7: MicroDrum Guide.docx

signal, i.e. the notes ghosts can be touched the same intensity, but will be registered with

a larger value for the software.

Example: If the gain is 0, the limit at 35, a ghost noteplayed

with intensity and a normal note 15 to 50.Since the speed of ghost note is less

than 35, he's not going to be caught. But increasing the gain to 20,meaning

that a ghost note played in 15 will now beregistered in 35, and the normal note is

logged to an intensity 70.

To better understand how is made the reading of each of the pads, see the image below:

Below are the approximate parameters I used in mypads. But each user must adjust the

values for a better response.

• Type: Piezo

• Note: Check the note corresponding to each pad inVST that will be used

• Threshold: Between 25 and 35 (These values can varydepending on the type of pad and

the type of capture)

• ScanTime: Between 10 and 20

• MaskTime: Between 10 and 35

• Retrigger: Between 30 and 55 (the higher the valuesset in this

parameter, more readings will be made, andconsequently greater might be the retrigger)

• Curve: Linear

• CurveForm: Between 80 and 99

• Mark Schonewille: 0

• XtalkGroup: 0

• Gain: Between 20 and 25

1 16 x 2 LCD screen

2 Buttons (normally open Push Button. NA)

3 10 k Resistors

1 Pin bar (with at least 16 pin)

1 USB Hub

1 Generic USB sound card

Page 8: MicroDrum Guide.docx