Recently my son showed an interest in learning music so my wife bought a Guzheng. I decided to try and build a robot that can play it using just LOZ blocks and a Micro Magician. The first video was the robots first attempt at detecting and plucking a string. For this test I used a small white cable tie to simulate the strings on
The body is just a simple humanoid shape roughly the same size as my son and designed to sit on the stool my son uses. I started running low on parts so for now it only has 1 3DOF arm. This arm has two 13Kg/cm, metal geared servos for the shoulder and elbow. A 1.5Kg/cm miniature servo is used for the finger that will pluck the strings. If I can get this arm working well enough then I'll buy more parts to build a second arm and the head.
I had a bit of trouble getting the miniature servo to mount but eventually I found a block pattern that holds the servo firmly inplace without any screws.
As servo positions can drift slightly with temperature and the human sized arm has some flexibility I will try to add a sensor on the finger. This will help fine tune the position of the arm and act like an encoder for positioning the arm.
If I can get the first arm working well then I will build a second arm. This works in a similar manner to the first arm except it varies pressure on the string being plucked to create a vibrato effect.
If I can get the robot to locate and pluck the strings well enough then the next step is to make it into a music teacher for me and my son. I will add a microphone and amplifier circuit so that the Micro Magician can count the frequency of the note. Aside from being useful for tuning the instrument this will let the robot confirm it is plucking the right string and even listen to simple melodies in order to lean a new song.
I discovered not all the strings had a steel cores so I've gone to plan B and will try to detect them with IR. I rigged up an IR LED and IR photo-transistor on a Micro Magician with a 2S LiPo. This little hand held detector lights up it's D13 LED when an object is detected.
After some experimenting I found the best way to detect the strings was to have the sensor at about 45° to the top of the Guzheng.This prevented the IR reflecting back from the instrument body behing the strings. In the diagram below the IR LED is purple and the photo-transistor is light grey. The white circles are the cross sections of the strings to be detected. The dark grey rectangle represents the robots finger that will pluck the string.
When configured as shown, the robot will know that when the string is detected the finger can drop down between the strings and then pull back and up to pluck the detected string. the first video shows the string detector in action.