Let's Make Robots!

Laser finder

Vendor's Description: 

Laserfinder helps to locate objects with reflexive surface (eg. silver safety appliques).

Finder is mounted on moving head which scans the surroundings. Finder consist of two main parts.

1) laserpointer

2) sensor - photoresistor with red lens. I used one from a gun from old "Shot the target" TV games. But any lens can be used. The red filter helps to see the laser in daylight. any red transparent foil can be used.

Sensor is connected to ADC input.

Head vith laserfinder is moved 180 degrees by 1 step. When ADC reading drops the position of servo is stored and recalculated to degrees.


I reccomend to use photoresistor with low value (10 - 50 kOhm). With 10k it works up to 5 meters.

In combination with ultrasound sensor you can locate the target very preciselly.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I think you should have posted that as a Tips/Walktrhough, as the component section is more for stuff you can buy, and Tips/Walktrhough is for DIY things like this... don't know if you can change that now, but you'll know it for next time ;)

Anyway, it's really very interesting,  could you post an example of the code? And what do you mean by "In combination with ultrasound sensor you can locate the target very preciselly."?

If the laserfinder is placed on the moving head together with ultrasound (as you can see on a photo) you will get polar coordinates of the target.  Azimuth must be recalculated to degrees based on specific servo behaviour.


Here is example of the code

REM laserfinder + ultrasound   mounted on scanning head


symbol dist = w4
symbol azimuth = b1
servo 4,75


gosub laser
gosub ultra
debug                          REM shows azimuth and distance

REM from here it jumps where you want

REM ------------------------ read laser --------------------------

for azimuth = 75 to 225       REM head servo 
servopos 4, azimuth
readadc 1,b0
if b0 < 50 then goto found    REM sensitivity is set by experiment
next azimuth


REM ------------------------- read distance -----------------------

low 3
pulsout 3,1
pulsin 3,1,dist
let dist = dist * 10 / 58
pause 10

Thanks, i had to google "polar coordinates" but now things are a bit clearer.

There's still something i don't really get : can't you do that just with the ultrasonic ranger? Maybe the problem is that the range is to wide? (I have one but still haven't played with it... )

Usually the coordinates are X-distance Y-distance. (Called Cartesian coordinates)



Polar coordinates are better for moving objects.

Servo moves in angles, Ultrasound gives an absolute distance.

Laser finds precise direction without knowing the distance.

Ultrasound gives precise distance with poor directio preciseness.



Now i understand... very clever indeed!

Great job! This is what i was looking for!


In a range of 1 to 10... how much was difficult to align laser, lens and the photoresistor?

It is not much difficult to focus the lens.


Several minutes of experiments.

I started with piece of paper at focused point.



Range 3

What i found most difficult is the sensitivity of the photoresistor.

Phototransistor does not work at all. It is designed to receive fast changing but bright light.

Photodiode is not sensitive enough as well.


Best results are  with photoresistors "slow but precise".


Use photoresistors with lowest resistance   10 - 50 kOhm


To allign the laser and photoresistor it was not so difficult  


What it requires is a "Right target"  Reflexní pásky,  Reflecting tape, or what damn wear these men in orange reflective jackets repairing the highways


Nice job. Dekuji moc!
This is really cool, I'd like to build something similar to it. Any more pics?