Combining robotics with machine vision opens up a huge range of possibilities for projects that would not be possible using other types of sensors. This includes things like object recognition, automatic inspection, and robot guidance to name a few. One problem with adding a camera to a project is that they can return very large amounts of data. This means you need a beefy processor to capture all of this information and do something useful with it. In some applications using a camera with a single line of pixels can still be very useful whilst saving on processing power and complexity. This single line camera is based on the TSL1401CL sensor. It’s still a camera, but the image you get from it is 128×1 pixels.
This little sensor measures only 3mm x 9.4mm. Normally it would require separate optics like a lens for it to work at a distance but a breakout board for the TSL1401CL which includes optics and header pins to connect it to your microcontroller of choice has been designed by Ap_Tech. It contains a 128 x 1 array of photo-diodes which allows for smaller processors to be easily used. To get an idea of how this 128 diode array works take for example a robot with this line scan camera mounted on it like in this picture:
The line scan camera array might look something like this after a threshold algorithm has been applied to differentiate between white and black values:
[0000000000000000000000111111110000000000000000000000000]
Where the 0’s represent the white surface and the 1’s represent the black tape. You need to write some code to keep these 1’s in the middle of the array and your robot will follow the line!
Each captured row can also be continuously assembled into a photo to detect fast motion. This is what is often used in photo-finish races like cycling finishes. An example of this type of use is shown in Ap_tech’s video where the line scan camera is connected to a processing sketch using an Arduino.