Contact Image Sensor Readout
Controlling a CIS-Scanner from an old Canon MX700 office printer with Arduino. CIS-Scanner modules from old scanners or multifunction office printers are interesting for various projects such as optical rulers / positioners, optical micrometers, touch screens or poor man's spectrometers. This project shows how to interface a CIS-scanner from an MX700 to Arduino. Furthermore the project contains a Java program for read out and displaying the measurement as graph.
The scanner module from the MX700 consists of an array of ~5000s sensitive photoelements over a length of 21 cm.
The device can be controlled via 2 signals: a "Start pulse" and a "Clock pulse". With clocking a start pulse the device samples and with subsequent clock pulses the optical signal is available at the analog output pin of the device.
The project contains:
- an Arduino program
- Java-program for read out and displaying it on the screen. The main class is CISFrame. Sample rate (Lines per second) is 3 Hz
The Arduino program opens a serial port with 1000000 baud. It accepts the commands:
- S - Sample 5000 data points and transmit the values as binaries to the host
- R - Toogle Red Led
- G - Toggle Green Led
- B - Toogle Blue Led
- 8 - Toogle 8 Bit / 10 Bit (2 Byte) mode