Give your gizmo the gift of sight
we've been playing with an Adrueye for the last week to see if we can track my eyeball as we need to come up with a solution so that my wife gets a break from typing for me. we can program with assistance but need a few extra clues as I'm limited to how much I can do or get done in any one day so far I think I'm on the right track for using the 2d optical flow process taking each of the the two frames and comparing the movement in both axis, Where I get stuck is focusing the stonyman camera lens which is the cell phone type and the serial commands just to read the plus and minus co-ordinates. any help would be appreciated. We appreciate this has been done by another group and assume they would like to preserve their commercial IP which we respect on the flip side it would be great to give the gift of a cheap eyegaze especially embedded as it has so many applications.
To best focus the lens it is best to use the 1/f = 1/d1 + 1/d2 formula (introduced here). The lens has a focal length of about f=4.2mm. Suppose your eye is 5cm = 50mm away. Then if we solve for 1/4.2 = 1/50 + 1/d2 we get d2= 4.58mm. So we need to move the lens 4.58mm - 4.2mm = 0.38mm out.
The cell phone lens uses an M7x0.35mm pitch thread. (We haven't published that- we should.) What this means is that if you turn the lens one complete cycle, it will move in or out by 0.35mm (depending if you turn it clockwise or counterclockwise). We ship the lens focused at long distances e.g. near infinity, so this means you should turn the lens counter clockwise by about one full turn, maybe slightly more. This will move the lens out by 0.35mm or so, which would make it focused in that case.
The above analysis assumes that the lens is 5cm = 50mm away from the eye. In your application it may be a bit different, but you can plug in the number and estimate how much you need to turn the lens to refocus it.
Let me know if this helps.