Servo to pluck sound staves

Hi, I am very much a noob so sorry if I am a bit confused.

I would like to create a mechanism where I can have a plectrum move back and forth over a group of sound staves (like strings, but more of them).

I initially thought about let each stave have its own plucking function but that would be very expensive. So I figured this could be a nice way to do it. Later on I might add more sophisticated control over the plucking, like lifting the plectrum, precise control over what stave is plucked, more servos (if this is doable) for "polyphonic" play, tremolo. I will control everything from Pure Data, maybe also add some pitch detection from the staves so you can control the servo by hitting the staves.

So my questions are:

  1. How would this be done in the best way?
  2. What components and Arduino should I buy?

Thanks a lot!

Post a mechanical drawing of the instrument with dimensions (particularly the string to string dimension) How many staves ?

You need two servos, one to grip (pinch) the string the other to pluck (move toward and away from the string). The gripper can be cable operated (servo rod or linkage wire)

I’m not sure, but a servo doesn’t sound like the right thing… A servo is an “angle motor” (typically about 270 degrees of rotation). You could rotate a plectrum with it, but it’s probably not what you want.

One advantage of servos is that they have the driver circuit built-in so you just supply power and a control-signal from the Arduino.

Multiple [u]solenoids[/u]
might work but without some kind of lifting mechanism it’s going to pluck the string again when the solenoid returns back to it’s neutral position. I sort-of think you need a lifting-mechanism no matter what you do unless you want to “hammer” the strings like a piano.

A stepper motor with a pulley might be another option. Like a servo, you can move a stepper a certain distance and it can be reversed, but it can turn 360 degrees and make multiple revolutions. (With a stepper you have to find your “home” position before you start stepping.)

A regular DC motor can turn in either direction, but if you want to stop it at a certain point you need some sort of sensor.

This is something I made out of old CD drives. https://vimeo.com/21024841

The circuit and software take up a whole chapter in my book http://www.apress.com/9781484217207

Cool project Mike. Did you ever try playing music with stepper motors ?

Phantom of the Floppera

without some kind of lifting mechanism it's going to pluck the string again when the solenoid returns back

Look at how the harpsicord plucker (jack mechanism) handles this for ideas.

raschemmel: Cool project Mike. Did you ever try playing music with stepper motors ?

Phantom of the Floppera

seen them but never did it. I must update that video because it now has 10 plucking strings.

Hey thanks a lot for all the input. I forgot to turn on email notifications and was a bit surprised that I did not get any reply. lol.

Please look at the attached images for an explanation of what I want to do. Never mind the marbles, but for size comparison note that they are of a bigger size than the standard marbles. :slight_smile:

It is a toy piano with metal bars/staves/rods whatever you would call them, but not strings. I guess I should have been more clear with that.

I am not out for making it playable by midi in any ordinary sense, I am more out for creating som experimental textures or motions.

Multiple solenoids could work I guess but it would be very expensive since it is something like 12 rods.

I think that that leaves me with a pulley that is connected to either a DC motor, stepping motor, or a servo. Stepping motor seems to be the best.

Please look at the sketch to see my idea for a hammer. For lifting to skip notes, maybe a solenoid would work?

How fast can a stepping motor go?

Sketch of arduino and toypiano.png

Can you use a spinning motor with a flexible arm on its shaft (like just a flag of tape) to sort of "slap" the string? Or maybe a little grinding on the weight on a cell phone vibration motor would do it. It'd be a different tone but those little motors are dirt cheap and you'd only need a transistor to drive one.

You might also consider winding your own solenoids (electromagnets).

I know you rejected solenoids but they can be quite cheap on eBay. This is something I made about 20 years ago:- http://www.thebox.myzen.co.uk/Hardware/Glockenspiel.html

Good ideas about hitting the rod (it is not strings) in an alternate way. Slapping is a one of the solid ways I think. The vibration idea is nice, and would produce a unique sound! I still need to figure out how to move between rods.

That is some really cool projects Mike!

I am curious on how fast those solenoids can work, like if they can hit again before they are retracted fully. Reason is, I am out for artificial (and good) sounding playing, maybe a bit Nancarrow-like, if you are familiar with his music. Thinking a bit more now, if each of the 13 rods is hit by the solenoids with 10 ms in between, the first solenoid would get 130 ms to get ready.

if each of the 13 rods is hit by the solenoids with 10 ms in between, the first solenoid would get 130 ms to get ready.

I think that is pushing it for a solenoid. If you fire one before it has retracted fully you don't get the same "slap" because the core hasn't time to accelerate in the magnetic field.

Try the slapping idea with one motor per rod.

Hi,

Just to note, dont they make continuously rotating servos? I've never used one as all mine are limited rotation. I think you can modify some of the limited rotation ones to go all the way around too, but dont have any information on hand about this. Must be something on the web about this i bet.

Yes, there are plenty of google and youtube hits on disassembling servos to get rid of the movement limiting part.

The point about a rotating servo is that you can only control the speed and direction of the motor, you can not set an angle.

What if you had a large cogwheel to a small one before the pulley? Then the servos range maybe would be enough. It would need a strong servo/stepping motor I suspect.

Grumpy_Mike: The point about a rotating servo is that you can only control the speed and direction of the motor, you can not set an angle.

Hi,

Yes, and i thought that would be good enough for the application as there have been a lot of ideas kicking around about how to do this (solenoids and motors and such). If not, then i guess he wont be using that :-)

It did look interesting although i checked out one site and it doesnt look too easy to do with some servos. Maybe better off buying one that has complete rotation if that can work for the application.

Yeah, controlling the angle is where it's at. That helps in a lot of applications. We once did an electronic weigh scale for weighing lab animal organs after dissection. The scale was very sensitive so it had to be covered when a measurement was being taken, so we used a clear half dome and powered it with a servo. The dome would open and close with a user operated foot switch. It was cool to watch, and it looked like a little alien flying saucer :-) I wish i had pics of it, but back then i dont think we had any digital cameras yet and nobody thought of taking any pics anyway.