Let's Make Robots!

Homemade compound eye

The compound eye from DAGU, designed by Oddbot, is cool and cheap. But I needed a round board to imitate the human eye, so I made one by myself. The IR LED's and photo transistors are the same as in the original design. As I had no PN 100 transistor, I used a BD 139 (the 4 IR LED's draw approx. 100 mA @ 5 V).

Front view of the perf board

Back vie of the perf board

Eye with ABS enclosure, front view

Eye with ABS enclosure, side view

Eye with ABS enclosure, back view

The second eye will be a color sensor, based on the TCS 230.

Comment viewing options

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

Looks good Markus. Dammit Birdmun your always ahead of me with my thoughts. I am also curious about how the sensing properties compare to the original.

birdmun's picture

I will be curious to find out how sensitive it is, compared to OddBot's eye.

MarkusB's picture

Thanks, birdmun. The range of mine is a little bit bigger as the IR LED's are centered and not positioned in a row, as far as I could observe, testing both.

merser's picture

I just stumbled on this after watching a video about michigan techs water glider.

http://www.youtube.com/watch?feature=player_embedded&v=q_NhbTTrv7M

Someone else's idea of formfactor for a compound eye

OddBot's picture

Did you test the range using the same code?

The compound eye can detect at greater range if you do not allow for ambient light but this can also make the eye track in the wrong direction if there is a sharp source of ambient IR such as a beam of sunlight coming in through a window.

I admit the shape of the DAGU compound eye was mostly the result of matching the face of the pan/tilt kit. As such it seems to have better sensitivity left/right than up/down.

The sensitivity can also depend on the phototransistors. We did get a batch once that had about twice the range however they were also very slow to respond to changing light levels. needing about 50mS rather than 50uS to respond made them fairly useless as the program was slowed down considerably.

MarkusB's picture

Just readout the ADC values. I placed a white cardboard in the front of the sensors and increased the distance step by step.