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.
Example Digital Circuit
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 Digital 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.
The Simulink model can be downloaded here: optoreflector_ex2_XPC_program.zip
Example Analog Circuit
To make an analog circuit, just take out the Schmitt trigger from Example Digital Circuit 2, and connect the input directly to the analog input on the break-out board. The ADC will output the closest integer voltage of the input between -10V and 10V. For this circuit, the voltage will fall between 0V and 5V.
The Simulink model for the example above can be downloaded here:optoreflector_analog_XPC_program.zip