Finger Operated Drum Mallet Project needs your help

Hi. I want to make an Arduino project. The goal is to operate a drum mallet. I want the mallet to be triggered by my finger, pressing a sensor. Furthermore, I have a couple of other requirements of this project. I hope you can help.

Requirements: 1. I want the drum mallet to strike with variable force. That is, the harder I would press the sensor, the harder the drum mallet should strike the drum. Thus, the hammer should be able to not only strike softly, but also hard. 2. It should be latency-free. That is, I need the drum mallet to strike very fast once I hit the sensor with my finger. The device with which i will actuate the mallet needs to generate the striking power a drummer employs when drumming. 3. I should be able to strike twice or even three times, in rapid succession of eachother. This means that the drum mallet should be retracted after every strike, or bounced back or something.

Solutions this far: 1.In order for the drum mallet to strike with variable force, I think I need a piezo element. Arduino has to read the voltage the piezo element produced and then use that voltage reading to actuate the drum mallet with. The harder i hit the piezo, the harder the mallet will strike. 2. In order for the drum mallet to strike with as little as latency as possible, I should have a lot of power. A high power solenoid won't do? 3. In order for me to be able to rapidly strike in succession, I should have a sensor at the impact point that would trigger the mallet to get retracted backward, so it is prepared for a second strike. Should i use a piezo and a high power solenoid here, too?

As you see, I need suggestions! :D. Thank you in advance!

PS: In response to the post below, I decided to focus on operating a drum mallet instead of a hammer, because of the difficulty of handling a hammer. Thanks in advance!

hammer007: Requirements: 1. I want the hammer to be able to strike with variable force. That is, the harder I would press the sensor, the harder it should hit. Thus, the hammer should be able to not only strike softly, but also hard. 2. It should be latency-free. That is, I need the hammer to strike very fast after I hit the sensor with my finger. I reckon this means I will have to use a lot of power, to make the hammer move quickly. I don't know to what extent Arduino needs extra power and how I should do this. 3. I should be able to strike twice, in rapid succession of eachother. This means that the hammer should be retracted after every strike.

Solutions this far: 1.In order for the hammer to strike with variable force, I think I need a piezo element. I will need to code Arduino so that the harder i hit the piezo, the harder the hammer will strike. 2. In order for the hammer to strike with as little as latency as possible, i should have lots of power. Perhaps I could use a hiogh power solenoid to hit the hammer. But I am not sure? 3. In order for me to be able to rapidly strike in succession, I should have a sensor at the impact point that would trigger the hammer to get retracted backward, so it is prepared for a second strike. Should i use a piezo and a high power solenoid here, too?

I think (possibly) using a piezo for you finger sensor might work; it would be similar to the "knock" sensor projects floating around out there, but you would want to measure the amount of voltage generated to know the "force" needed.

As far as actuating the hammer (assuming a real hammer here) - a solenoid isn't going to cut it. A gearmotor might work, but it would have to be large to keep the speed and force up where you want it. Probably what would be needed would be a pneumatic solution, for the speed, response, and force needed. Such a system isn't cheap nor easy to implement, especially if you don't have any experience with such devices.

For the hammer sensor, another piezo could be used (provided its mounted in such a way so that it isn't -directly- struck by the hammer - they are fairly fragile devices), but a simple switch or maybe an optical sensor of some sort might work well, too.

Thanks for your valuable insight, cr0sh. Don't even know what a gearmotor or pneumatic actuator would look like, but i know that it is somewhat overwhelming. I therefore decided to focus on triggering something less heavy, a drum mallet. See edited first post.

I reckon such a pneumatic device makes a lot of sound. However, the triggering device should be silent. So that is another precondition to take into account, now. Even harder to manage, and I didn't even begin!

hammer007:
Thanks for your valuable insight, cr0sh. Don’t even know what a gearmotor or pneumatic actuator would look like, but i know that it is somewhat overwhelming. I therefore decided to focus on triggering something less heavy, a drum mallet. See edited first post.

I reckon such a pneumatic device makes a lot of sound. However, the triggering device should be silent. So that is another precondition to take into account, now. Even harder to manage, and I didn’t even begin!

I would say any device capable of moving a hammer quickly are going to make some kind of sound; the only option I can think of that would make the least sound would be hydraulics (but if you think pneumatics are a pain…).

Regarding your change in plans to a “drum mallet” - are you thinking more like a “mallet” used for a bass drum, or something more like a drum stick? Either way, such an implement could be actuated by a strong DC solenoid. Triggering the solenoid via the Arduino would require a driver circuit to handle the voltage and current needed by such a device (you’re probably looking at 6-24 VDC at an amp or more); but there are many tutorials on the playground and elsewhere on how to hook up a solenoid to the Arduino.

Good luck with your project!

:slight_smile:

Ah - something else; triggering a solenoid to vary its response from a light tap to a hard hit will not be easy (if its doable at all). You may need a different driver than just a simple transistor or MOSFET driver like is normally suggested. It seems like you would need something like a variable voltage driver, so as the solenoid actuator was pulled in by the coil, you could vary how far it was pulled in (against the spring resistance), at the speed you needed.

Hmm - might be easier to attach the mallet to a DC motor or stepper, with some form of position/rate feedback encoder...the more I think about it, the more difficult this idea seems to get...

Hm. Thanks for your knowledge sharing, cr0sh. After having delved into the different things you mentioned, it seems that this project is just too much for me. I am going to leave it.

In the end it seems that it is nearly impossible to deal with all my requirements (hard force, variable force, no latency, retraction, silence).

Solenoids just don't give the amount of control i want. Besides, I don't know how to attach a drum beater like a mallet onto it. DC motors or steppers or geared motors wont cut it either. the 'Robot drummer' http://www.youtube.com/watch?v=ddQjDei2zbY there shows midi notes triggering pneumatic cilinders. However only one velocity is triggered. So power is achieved, but no silence or variable power. Here, http://www.youtube.com/watch?v=eQrEBTFRXV0&feature=related detail is achieved by triggering different velocity levels, but the drumtriggers don't carry the power a human would apply when drumming.

Too bad. Shall I delete this thread, cr0sh? It failed.

hammer007: Too bad. Shall I delete this thread, cr0sh? It failed.

I wouldn't say its a fail - go ahead and leave it, maybe someone else has a better idea, or maybe they will in the future (and you can work on it then).

Attaching a solenoid (or anything else) to the drum mallet or stick isn't that hard, you just pivot it at one end, and attach your actuator somewhere to it to move around that pivot; not a big deal. You could add a bit of springiness to it as well in some manner to give it a bit of rebound.

One possible actuator, which could be done somewhat easily - would be an extreme pitch double/triple/quad acme-thread screw, with an appropriate follower nut, coupled to a motor (stepper, or DC servo - but there must be some kind of feedback mechanism); the follower nut would be attached to a lever or something attached to the mallet/stick.

Basically, with such a high pitch on the screw, you could move the follower nut along the screw really quickly, or slowly - however fast you move the motor (steps or PWM). With some spring compliance in the coupler or pivot attachment of the stick/mallet, you could probably make it go as fast/slow/loud/soft as you wanted.

The difficult part would be getting the acme screw and nut follower; acme thread stuff isn't cheap, especially when there is more than a single thread involved. You would only need 2-3 inches or so of such threaded screw rod, so it wouldn't be humongously expensive - you might be able to do it for under $50.00 USD...

You might even be able to get away with standard threaded rod, if you had a high enough speed DC motor (something spinning at 10K+ RPM), but you would need one heck of an encoder, and use interrupts to detect how far you have turn, and the h-bridge to drive it would need to be able to switch forward/reverse quickly (large current and voltage spikes doing that). I'm not sure how long standard all-thread would last in those conditions, but you could certain build a proof of concept...