The Pololu QTR-1RC reflectance sensor carries a single infrared (IR) LED and phototransistor pair. 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 parallel to the surface being sensed. Because of its small size, multiple units can easily be arranged to fit various applications such as line sensing and proximity/edge detection.
For a line sensor with eight of these units arranged in a row, please see the QTR-8RC reflectance sensor array; for a similar array of three slightly different sensor components, see the QTR-3RC. For a similar, smaller sensor with longer range, and intended for use with the board perpendicular to the surface, please see the QTR-L-1RC reflectance sensor.
- Dimensions: 0.3" x 0.5" x 0.1" (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" (3 mm)
- Maximum recommended sensing distance: 0.375" (9.5 mm)
- Weight without header pins: 0.008 oz (0.2 g)
Interfacing the QTR-1RC output to a digital I/O line
Like the Parallax QTI, this sensor requires 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 μs 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.
Our Pololu AVR library provides functions that make it easy to use these sensors with our Orangutan robot controllers; please see the QTR Reflectance Sensors section of our library command reference for more information. We also have a Arduino library for these sensors.
This module has a single mounting hole intended for a #2 screw (not included); if this mounting hole is not needed, this portion of the PCB can be ground off to make the unit even smaller. 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 (note: the header pins might ship as 1×6 strips that you can break into two 1×3 pieces). You can also solder wires, such as ribbon cable, directly to the pads for the most compact installation.
We Also Recommend
Adafruit NeoPixel Digital RGBW LED Strip - White PCB 60 LED/m (1 meter)
Adafruit NeoPixel Digital RGB LED Strip - White 60 LED - WHITE(1 meter)
Short Headers Kit for Feather - 12-pin + 16-pin Female Headers
Adafruit NeoPXL8 FeatherWing for Feather M4 - 8 x DMA NeoPixels!