Note: The QTR-L-1RC reflectance sensor requires a digital I/O line to take readings.
The Pololu QTR-L-1RC reflectance sensor carries a right-angle infrared LED and a right-angle phototransistor, both pointing toward the front edge of the board. To use the sensor, you must first charge the output node by applying a voltage to the OUT pin. You can then read the reflectance by withdrawing the externally supplied voltage and timing how long it takes the output voltage to decay due to the integrated phototransistor. Shorter decay time is an indication of greater reflection. This measurement approach has several advantages, especially when multiple units are used:
- No analog-to-digital converter (ADC) is required
- Improved sensitivity over voltage-divider analog output
- Parallel reading of multiple sensors is possible with most microcontrollers
The LED current-limiting resistor is set to deliver approximately 17 mA to the LED when VIN is 5 V. The current requirement can be met by some microcontroller I/O lines, allowing the sensor to be powered up and down through an I/O line to conserve power.
This sensor was designed to be used with the board perpendicular to the surface being sensed, and narrow-angle lenses built into the infrared LED and phototransistor packages allow it to be effective to a range of about 1" (25 mm). Because of its small size, multiple units can easily be arranged to fit various applications such as line sensing and proximity/edge detection. The QTR-L-1RC is sold in packs of two units.
- Dimensions: 0.3" × 0.35" × 0.12" (without optional header pins installed)
- Operating voltage: 5.0 V
- Supply current: 17 mA
- Output format: digital I/O-compatible signal that can be read as a timed high pulse
- Optimal sensing distance: 0.125? to 0.25? (3 mm to 6 mm)
- Maximum recommended sensing distance: 1? (25 mm)
- Weight without header pins: 0.006 oz (0.2 g)
Interfacing the QTR-L-1RC Output to a Digital I/O Line
Like the Parallax QTI, the QTR-L-1RC module has sensor outputs that require a digital I/O line capable of driving the output line high and then measuring the time for the output voltage to decay. The typical sequence for reading a sensor is:
- Set the I/O line to an output and drive it high.
- Allow at least 10 us for the sensor output to rise.
- Make the I/O line an input (high impedance).
- Measure the time for the voltage to decay by waiting for the I/O line to go low.
These steps can typically be executed in parallel on multiple I/O lines.
With a strong reflectance, the decay time can be as low as several dozen microseconds; with no reflectance, the decay time can be up to a few milliseconds. The exact time of the decay depends on your microcontroller’s I/O line characteristics. Meaningful results can be available within 1 ms in typical cases (i.e. when not trying to measure subtle differences in low-reflectance scenarios), allowing up to 1 kHz sampling. The following table shows some typical decay times (from 5 V down to a 2 V threshold) of the sensor over different surfaces and at different distances:
|White surface||3/4″ black electrical tape|
|0.25″ distance||100 μs||320 μs|
|1″ distance||160 μs||260 μs|
Ambient light, especially sunlight, can affect the sensor readings significantly. If the decay time of the QTR-L-1RC is consistently low, you might need to add shielding around the sensor or mount it in a different location to reduce interference from outside light sources.
Each pack of two reflectance sensors includes sets of straight male header strips and right-angle male header strips, which allow you to mount them in the orientation of your choice. You can also solder wires, such as ribbon cable, directly to the pads for the most compact installation.
How it works in detail
With only five components, the operation of this sensor is relatively basic. The emitter side is just an IR LED with an appropriate current-limiting resistor. The light from the emitter leaves the sensor, reflects off a nearby surface, and returns to the detector.
The detector side is a resistor-capacitor (RC) circuit, where the resistance comes from the phototransistor and is a measure of the incident infrared light, and the decay time is proportional to the resistance. The first step of the sensor-reading process—driving the sensor output high—discharges the integrated 10 nF capacitor and puts both sides at the same voltage (VIN). Alternatively, you can think of this as “charging the output node”, and it is functionally equivalent to charging a capacitor with one side connected to ground. Once you are no longer supplying an external voltage to the output pin, the capacitor can slowly charge through the phototransistor, with the rate of charging being a function of the phototransistor’s resistance (which is in turn a function of the incident IR). As the capacitor charges, the voltage on the output side drops, eventually reaching zero when the capacitor is fully charged. Alternatively, you can think of this as “discharging the output node”, and it is functionally equivalent to discharging a capacitor with one side connected to ground.
The 220 Ohm resistor on the OUT line serves to limit the current flow, making it possible for a microcontroller output to safely charge the output node prior to each reading. It has very little effect on the sensor output.
(Some documents are mirrored on Anibit for convenience, but always check Pololu for the latest information. Please report errors or broken links!)
Pololu AVR C\C++ Library
Pololu Arduino Library (Download directly from Github here.)