Optoreflector
Optoreflector sensors contain a matched infrared transmitter (LED) and infrared receiver (usually a phototransistor) pair. These devices work by measuring the amount of light that is reflected into the receiver. Because the receiver also responds to ambient light, the device works best when well shielded from abient light, and when the distance between the sensor and the reflective surface is small (the graph below shows how distance affects the output value). IR reflectance sensors are often used to detect white and black surfaces. White surfaces generally reflect well, while black surfaces reflect poorly.
Application
Example Digital Circuit
In the mechatronics lab, we have the QRB1114 (datasheet) from Fairchild, shown below. It has four pins, with the first pair connected to the LED and the second pair connected to the phototransistor.
The circuit below can be used to detect objects directly in front of the QRB1114. The potentiometer must be used to adjust for ambient lighting conditions. The output is an analog signal like the one at the top of the page - dependent on distance. The sensor works best when it is at least partially-shielded from ambient light.
There are two ways to process the output. 1) build extra circuitry using a schmitt trigger or 555 timer to turn the output into a digital output. 2) Use an analog input and use a software threshold. The second way is easier and works well. Start with the program below to adjust your voltage thresholds (using the relay block) and light sensitivity (by adjusting the potentiometer).
Example Circuit 2
The circuit below uses hardware to process the signal and uses the PC/104 stack's digital input. Increasing the value of the resistor R1 will increase the sensitivity, and vice versa. Beware that if you make the sensor too sensitive, ambient light will be able to trip the sensor.
The following XPC target program will count the number of times the sensor is tripped, and print it to the Seetron BPI-216 LCD. To use it, plug the output of the ciruit above into channel 2 of the digital input on the break-out board. Pressing Bit 1 on the break-out board will reset the count.