Skip to product information
1 of 4

POLOLU

5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot

5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot

SKU:Pololu-3577

Regular price Rs. 689.00
Regular price Sale price Rs. 689.00
Sale Sold out
Taxes included.

3 in stock

This reflectance sensor module is designed specifically for use with the Balboa 32U4 balancing robot. It features five IR LED/phototransistor pairs that are great for identifying changes in reflectance on the ground directly underneath the Balboa (like detecting or following a black line on a white background). The sensor array offers dimmable brightness control, and each sensor provides an independent output that can be measured with a digital I/O.

Overview

The 5-Channel Reflectance Sensor Array for Balboa provides an easy way to add line sensing to the Balboa 32U4 Balancing Robot. It features five separate reflectance sensors, each consisting of a dimmable IR emitter coupled with a phototransistor that responds based on how much emitter light is reflected back to it. The array is intended for Balboas assembled with 80×10mm wheels that are operating in upright (balancing) orientations.

Included components and mounting options

The reflectance sensor array ships with all of the components you need to connect it to a Balboa 32U4 control board:

The 1×7 female headers should be soldered to the connections near the bottom edge of the control board. You can do this without removing your Balboa control board from the chassis. One female header should be soldered between the pins labeled GND and A3, and the other female header should be soldered between the pins labeled GND and A2. The solder joints should be on the component side of the control board.

The sensor board can be mounted to the Balboa so that it aligns with the center axis of the chassis or the edge of the chassis, which might make following a line easier (since the sensors will be farther forward when the Balboa is upright). How the included right angle headers are connected to the sensor board determines whether the board will be center- or edge-aligned. See the pictures below for how to position the header pins for each mounting option.

Center-aligned mounting option for the 5-Channel reflectance sensor array for Balboa.

Edge-aligned mounting option for the 5-Channel reflectance sensor array for Balboa.

Right-angle headers installed for center-aligned mounting option.

Right-angle headers installed for edge-aligned mounting option.

Using the sensor array

Schematic diagram of an individual QTR sensor channel on an RC-type board. This applies only to the newer QTRs with dimmable emitters.

The array uses the same sensor modules as our QTR reflectance sensors and has the same principle of operation as the RC versions, for example, the QTR-MD-05RC. The typical sequence for reading a sensor is:

  1. Turn on IR LEDs (optional).
  2. Set the I/O line to an output and drive it high.
  3. Allow at least 10 μs for the sensor output to rise.
  4. Make the I/O line an input (high impedance).
  5. Measure the time for the voltage to decay by waiting for the I/O line to go low.
  6. Turn off IR LEDs (optional).

These steps can typically be executed in parallel on multiple I/O lines. Because this array works like our other QTR sensor boards, you can use it with our QTR Arduino library, which provides methods for controlling the emitters, calibrating the module, and reading the individual sensor values. Keep in mind that how you mount your sensor will determine which I/O lines on the Balboa you are connected to. You can read the silkscreen markings on the sensor board and the Balboa to determine which sensor is connected to which I/O line.

With a strong reflectance, the decay time can be as low as a few microseconds; with no reflectance, the decay time can be up to a few milliseconds. 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 of all sensors. If lower-frequency sampling is sufficient, you can achieve substantial power savings by turning off the LEDs. For example, if a 100 Hz sampling rate is acceptable, the LEDs can be off 90% of the time, lowering average current consumption from 125 mA to 13 mA.

QTR-1RC output (yellow) when 1/8" above a black line and microcontroller timing of that output (blue).

QTR-1RC output (yellow) when 1/8" above a white surface and microcontroller timing of that output (blue).

Emitter control

Demo of IR LED dimming on the 5-Channel Sensor Array for Balboa 32U4 (as seen through an old digital camera that can see IR).

The sensor array maintains a constant current through its IR emitters, keeping the emitters’ brightness constant. The emitters can be controlled with the board’s CTRL pin.

Driving the CTRL pin low for at least 1 ms turns off the emitter LEDs, while driving it high (or allowing the board to pull it high) turns on the emitters with the board’s default (full) current, which is 20 mA. For more advanced use, the CTRL pin can be pulsed low to cycle the associated emitters through 32 dimming levels.

To send a pulse, you should drive the CTRL pin low for at least 0.5 μs (but no more than 300 μs), then high for at least 0.5 μs; (it should remain high after the last pulse). Each pulse causes the driver to advance to the next dimming level, wrapping around to 100% after the lowest-current level. Each dimming level corresponds to a 3.33% reduction in current, except for the last three levels, which represent a 1.67% reduction, as shown in the table below. Note that turning the LEDs off with a >1 ms pulse and then back on resets them to full current.

Dimming
level
(pulses)
Emitter
current
(%)
Dimming
level
(pulses)
Emitter
current
(%)
0 100.00% 16 46.67%
1 96.67% 17 43.33%
2 93.33% 18 40.00%
3 90.00% 19 36.67%
4 86.67% 20 33.33%
5 83.33% 21 30.00%
6 80.00% 22 26.67%
7 76.67% 23 23.33%
8 73.33% 24 20.00%
9 70.00% 25 16.67%
10 66.67% 26 13.33%
11 63.33% 27 10.00%
12 60.00% 28 6.67%
13 56.67% 29 5.00%
14 53.33% 30 3.33%
15 50.00% 31 1.67%

For example, to reduce the emitter current to 50%, you would apply 15 low pulses to the CTRL pin and then keep it high after the last pulse.

Example code

We are working on adding an easy way to access the reflectance sensors to the Balboa 32U4 Arduino Library. In the meantime, you can interface with the sensors from your Balboa code using our QTRSensors library and instantiating a QTRDimmableRC object according to one of these examples:

Center-aligned (CTRL on pin 12)

?

1
2
3
4
5
6
7

#define NUM_SENSORS 5 // number of sensors used
#define TIMEOUT 2500 // waits for 2500 microseconds for sensor outputs to go low
#define EMITTER_PIN 12 // emitter is controlled by digital pin 12

// sensors 1 through 5 are connected to pins A0, A2, A3, A4, and 5, in that order
QTRDimmableRC qtrrc((unsigned char[]) {A0, A2, A3, A4, 5},
NUM_SENSORS, TIMEOUT, EMITTER_PIN);

Edge-aligned (CTRL on pin 5)

?

1
2
3
4
5
6
7

#define NUM_SENSORS 5 // number of sensors used
#define TIMEOUT 2500 // waits for 2500 microseconds for sensor outputs to go low
#define EMITTER_PIN 5 // emitter is controlled by digital pin 5

// sensors 1 through 5 are connected to pins A4, A3, A2, A0, and 12, in that order
QTRDimmableRC qtrrc((unsigned char[]) {A4, A3, A2, A0, 12},
NUM_SENSORS, TIMEOUT, EMITTER_PIN);

Dimensions

Size: 2.52″ × 0.29″
Weight: 1.8 g1

General specifications

Voltage: 5 V2
Peak wavelength: 940 nm
Maximum current draw: 40 mA3

Identifying markings

PCB dev codes: irs13a
Other PCB markings: 0J11539

Notes:

1. Without included headers.

2. Module is intended to be powered by the Balboa's 5V line.

3. With all LEDs on at max brightness setting.

View full details

Featured collection

The crazyflie is a versatile platform that is designed to engage people in learning about robotics and quadcopters.
1 of 25