11 gram Arduino-powered laser rangefinder

I was pleased to see a cool laser rangefinding project on Kickstarter- I hope this project gets fully funded (and I'm a backer). I've actually been experimenting myself with structured light and laser rangefinding using our ArduEye hardware and thought I'd share it here.

The setup is very simple- An Arduino Pro Mini serves as the computing backbone of the device. Via a 2N2222 transistor (I know I know...) the Arduino can on and off a red laser module. The Arduino is connected to an ArduEye breakout board with one of Centeye's Stonyman image sensor chips and a cell-phone camera lens. The whole setup (excluding the red FTDI thing) weighs about 10.9 grams. I think we can reduce that to maybe 4 or 5 grams- the laser module weighs 1.9 grams and is the limiting factor.

The principle of operation is straight forward- the laser is mounted horizontally from the image sensor by a known baseline distance. The Arduino first turns off the laser and then grabs a small image (3 rows of 32 pixels in this implementation). Then the Arduino turns the laser on and grabs the same pixels. The Arduino then determines which pixel experienced the greatest increase in light level due to the laser- that "winning point" is the detected location of the laser in the image. Using this location, the baseline distance, the lens focal length, the pitch between pixels on the image sensor, and basic trigonometry, we can then estimate the detected distance. I haven't yet implemented this final distance calculation- my main interest was seeing if the laser could be detected. The above video shows the system in operation.

In practice, I've been able to pick up the laser point at a distance of up to about 40 feet- not bad for a 2 mW laser. In brighter lights you can put an optical bandpass filter that lets through only laser light- with this the system works at distances of say 10 feet even in 1 klux environments e.g. a sunlit room. If you are using this for close ranges, you can turn up the pulse rate and grab distances at up to 200Hz. How does an Arduino grab and process images at 200Hz? Easy- at 3x32 it is only grabbing 96 pixels!

Views: 58591

Comment by James Dermelj on April 28, 2016 at 2:34pm

Hi guys! I'm new in electronics and I don't really get why you wrote: "2N2222 transistor (I know I know...)"

Is it bad to use a transistor for such a purpose? If so, why?

Comment by Laser Developer on April 28, 2016 at 10:35pm

It's a joke about the 2N2222 (better known as the 2N-quad 2) as being one of the most common transistors on the market and in the professional electronics world if you use this type of "common part" then you are clearly an amateur. However, the 2N2222 is a superb part for many applications so there's nothing wrong with using it.

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service