Electronic – Could a barcode scanner be used to get surface depth information

barcodeccddistancelasersensor

(if tl;dr, go to the part where it says "actual question")

this is probably a very obscure question, but: I'm working on a rather complex art installation with computer-generated sculptures, and I'm looking for a way to extract the "depth" information of their surfaces, in other words, how "jagged" is the surface at any given point. Surface deviation would be in the range of millimetres, up to a couple of cm.

I'm considering IR-based distance sensors such as Sharp GP2Y0A60SZLF, but I see two main issues with these:

  1. I can't tell exactly which point, or series of points, is currently being scanned.
  2. I can only get one value at a time, while being able to extract a sequence, or a "buffer" for a chosen line on the surface, would help me a lot.

The actual question:
Could I in theory use a barcode scanner (either CCD or laser) to obtain a sequence of depth values for a particular part of the surface? The idea being, if the scanner measures the intensity of reflected rays, wouldn't that also tell me how far they must have travelled?

FYI, it's acceptable for me to hack the reader and bypass the MCU to simply obtain the raw data from the sensor.

Thanks a lot for any help!!

Best Answer

Over those short distances, the intensity of the reflected light will not vary enough for the bar-code scanner to detect. But I think you're on the right lines. How about a line-generating laser, that is, a laser diode that generates a line rather than a point of light. Then, if you view that line from one side, surely you'd see the straight line broken up by the surface irregularities? Could you then use a camera and some image-processing software to work out the shape of the surface?

Another way might be to use a device like a Kinect, but on a much smaller scale. I wonder if you could add lenses to a Kinect so that it focused much closer and could resolve small detail?

Related Topic