Broad considerations:
- lens -- most sensors have 30 degree+ lens installed. For narrow FOV, either read just central pixels or use a lens.
- sensor -- fast readout, low power, few pixels so the arduino can handle the data
- otf data preparation -- need to do flat-fielding, hot/cold pixel rejection on the microcontroller
- algorithm -- threshold or something simple to find white spots on black background
- data stream -- send just locations of first n detected white pixels. Make sure it works with screen edges, etc.
Pre-positioned point lights.
- Many small lights
- small FOV sensor (pencil beam)
- detect local asterism, determine which part of the screen/field we're looking at
- Few large lights
- large FOV sensor (pinhole)
- detect global asterism, determine where camera center is pointed
Sensor options:
-
$10+ Sparkfun options mostly vga-ish, some with jpeg encoders
-
$40 Adafruit TTL camera 30fps vga video, with image capture on demand
-
$100 CMUCam VGA with on-board image processing (full-size Arduino shield)
-
$50 CentEye Stonyman 112x112, on-chip binning, addressable readout (single, line, region), asynchronous, logarithmic pixels, Prototyping shield