Laserharp [Suggestions/Help]

Hello dear members,

This is my first project using the arduino processor, actually we are a group.
However, we are up with thoughts now and trying come up with some algorithms.

Right now we have ordered the lasers, 5 with a strenght of 50mW.
We are going to order some LDRs (light dependent resistor), which will notice if a beam has been interrupted.

A simple structure of the design.
LDR = "*"
Beam = "|"

1 2 3 4 5

          • (x-axis)
            | | | | |
            | | | | |
            | | | | |
            | | | | |

First algorithm:
When you struck, as an example, beam 3 a specific note will be played, and so on.
This is very clear for us, and we will not interfere any kind of problem with this.

However, as we want to inplent something more, we have thought of using more LDRs in the Y-axis to notify on which "level note" you are on, so if you go further up with your hand the frequency on the note will change.

But there are problem with this! Because if you do interrupt two beams and change the level with the other hand, the program will not know which beam you should change the frequency on.

I hope Ive made it clear enough for you to understand this problem.

Cheers!

Rather than LDRs, I would use phototdiodes or phototransistors. They are smaller (so you can pack them closer together), cheaper, and they respond more quickly (LDRs can be a bit slow to respond to decreases in light level).

If you are trying to imitate a harp, I would have thought you wanted the frequency to be constant for each string. You could use movement in the y-axis to alter the volume. As you say, you can't tell which "string" a movement in the y-axis relates to, but if you are using it for volume control, you could adjust the volume of all active strings together.

The Arduino by itself isn't a very good polyphonic synthesizer, you're limited to producing only a few notes concurrently and it's difficult to control the volume. So you might want to attach it to a sound generator chip.

This sounds really cool but I am confused on how you expect to detect y-axis movement.

No matter which type of detector you use, unless this thing is really small, past about an inch or 2, the LDR or photodiodes won't detect a difference or any difference they do detect would be to inconsistent since it will depend on ambient light as well. I could be wrong.

Although much more expenisve, have you looked at IR proximity sensors?

Thanks for the replies and suggestions ur feeding me with, very appreciated!

I think I will go for phototransistor instead, but there is a question mark in my head that I really cant figure how to solve.
How do u measure the values from the phototransistor while you have the laser beam on and off, do I need to use a volt/potentialmeter to measure the values?

My thought of the Y-axis was to use a red laser beam, cause we will not be able to see the beam. And yes, it will be hard to detect every inch you move, but atleast you can make it 10 cm between each sensor.
But how does it know if ur moving up or down? Well, this is another thought we have considered.
To know which direction ur moving, the y-axis sensor (each one havin its own number) should register which was the first sensor touched, and when you go across another one it shall compare the difference, it is higher or lower then the sensor before? And so on .. :stuck_out_tongue: But for now I will only go for the x-axis, if we do have time to implent y-axis we will.

In a week or so I will get the arduino board so I cannot make any testing at the moment, but meanwhile I can atleast get as much facts as I need so I am prepared later.

We have also been thinking of using a midi port, and now Ive been reading abit of it.
In general all I need is the midi connector and ofcourse the cable for it.
Is that really everything u need to be able to use the midi, and ofcourse a software.

But now there is another question mark, how do you combine the midi software with the code?

I don't know much about audio but does this help?

As far as actual use, I thought this was how it would work, the laser has a sensor on the bottom. When you break a beam, it knows what note to play. The photo transistor or what ever you use is a completely separate component on the bottom that senses the y axis to determine the octave.I can't see where you could use where you break the laser to determine the y axis since the sensor will only detect on or off for the laser.

Does that make sense?

we have thought of using more LDRs in the Y-axis to notify on which "level note" you are on, so if you go further up with your hand the frequency on the note will change.

If you have many light sensors up the Y-axis, you have two problems:-

  1. Then need to be fixed to something.
  2. The lowest sensor will block the beam and prevent it going to the higher sensors.

Do you perhaps mean using the Z axis to see how far your hand is pushed in. If so you can have not one but many sensors at the other end of the beam. This leaves you with the problem that a laser is only going to ever illuminate one sensor, unless you have a diffraction grating on the front of the laser that produces a line. In that way one laser could illuminate many sensors at the other end. The only snag is that as the beam will in effect be a fan the sensitivity of your Z measurement will change according to where ( what Y measurement ) your hand enters the beam.

It is difficult to picture the physical arrangement.

What Mike seems to be describing is not like a harp in the traditional sense but more like one of those weird southern horizontal string thingies. I am from the south and I don't know what they are called.

In my mind, I am envisioning a traditional harp layout. Along the top you have lasers affixed pointing down so that if you could see them they would look exactly like the strings would look. Sensors on the bottom would detect these lasers. I am not sure what type of sensor you would need here. If you break a laser beam, a note is played. This is all very simple sounding. The challenge as I understand it is that if you play higher or lower on a 'harp' string (laser beam) you want to get a different octave. Is this how harps are played? The more I think about it the more the answer seems to be no. Otherwise you would only need 7 strings. However, in a traditional harp, you don't have frets to play against like a guitar so you have more strings to take the place of the frets and provide differnt octaves.

So do you need y axis measurement at all? Seems like only if you want to make a seven string harp. In this case then mounting a prox sensor of some sort (I keep thinking about the kind people use for hobby robots) mounted next to each of the receivers for the laser would be able to detect the distance to your hand and adjust the octave appropriately.

I cannot see where an LDR or Photodiode or anything like that is going to provide much help unless you can set the light amount on a phototransistor to respond directly to laser beam and be unaffected by ambient lighting. Is this possible? As long as it is lined up correctly one would think so. It light make sense in this case to do the opposite of Mile's suggestion and use a lens at the bottom specifically designed to make sure that the received light from the laser is consistent and focused at a specific spot to allow tuning of the phototransistor.

Using Mike's suggestion, we use these sensors at work:

http://www.keyence.com/products/sensors/laser/lvh300_100/lvh300_100_features_1.php

The ones we use operate at 24v since they are used in an industrial facility but they are designed to emit a flat beam from one end and detect how much of that beam makes it through to the other end. They provide an output that is scaled to the amount of light received. The ones we use are about a 1" beam if I remember correctly. These would work splendidly for that type of applciation where Z depth controls the tone or ocatave. Even if this doesn't fit into what you are doing, it is an interesting idea.

One more thought. On a traditional harp is that you can strum or pluck the strings. How would you mimic that? Maybe this is what you use your height (y axis for) instead of looking for precise distnaces, you have 4 'zones'. Three of them provide different volumes which mimics how forcefully you strum while the 4th allows you to 'pluck' individual strings. Using this method, could you mount four additional lasers on the horizontal leg of the harp so that you are essentially creating a matrix?

Things that make you go hrm......

What Mike seems to be describing is not like a harp in the traditional sense but more like one of those weird southern horizontal string thingies.

No it was vertical, the convention I was using was X axis - left / right, Y axis - up / down, Z axis - towards you / away from you.
I would have the lasers pointing down for two reasons:-

  1. Safety, less chance of getting one in the eye.
  2. With the light sensors pointing down there is less chance of ambient light interfering.

So basically I was saying that with a laser line generator each string would have several sensors in the Z axis so that as you pushed your hand further away from you you would cover up successively more sensors.

if you play higher or lower on a 'harp' string (laser beam) you want to get a different octave.

While playing a real string at different points will excite a different mix of harmonics it does not change the fundamental of the note. Some harps have a small leaver on each string to change the tuning by a semitone so the harp can be set up quickly to play in any key, but otherwise it is one string per note. Electronically you can easily have an octave shift key.

I have made a few things with harps:-

So basically I was saying that with a laser line generator each string would have several sensors in the Z axis so that as you pushed your hand further away from you you would cover up successively more sensors.

I get it now.