I'm using a TSL1401R-LF Linescan Camera that reads in a 1 X 128 array of pixels. Here is the datasheet. When I used 170-microsecond delay the accuracy was pretty high and the camera's outputted values were noticeably lower when an object passed through its line of vision. When I attempt to reduce that to a 20-microsecond delay I would still see lower values if a cover the camera completely or higher value if I shine a light on the camera, but the change is slight and there is not change if I hold an object from a distance. The lower the delay time, the worse the accuracy. This confuses me because the datasheet states that the minimum delay time can be as low as 20 nanoseconds for the SI pulse and 50 nanoseconds for the CLK pulses. Since I'm still clearly above the minimum why am I losing so much accuracy? I've never worked with a camera or scanner before so I'm not sure if this is normal of if I'm doing something wrong.
1 Answer
\$\begingroup\$
\$\endgroup\$
1
You are essentially reducing exposure time, which will make the picture darker.
Some cameras can increase the voltage in the sensor to compensate (which will lead to higher noise), but adjusting the exposure time is the best way to change the sensitivity of the camera (typically, you'd determine the brightest pixel, and adjust the exposure time to keep it within a sensible range (e.g. 90% to 95%).
-
\$\begingroup\$ Problem is that I still have this issue when I increase the total runtime of the program. I included a method to print out all the values stored by the camera readings which brought my total runtime to 1800 ms, but I still have the loss of accuracy. \$\endgroup\$– sgmmCommented Jun 29, 2016 at 17:53