TAOS PARALLAX TCS230-DB User manual

Out of the Box
The TCS230-DB Color Sensor Daughterboard
Kit consists of a TCS230-DB daughterboard
that includes the TAOS TCS230 color sensor
chip, a lens, and two current-regulated white
LEDs. Also included are four one-inch
aluminum standoffs and four 3/4" screws.
The daughterboard is compatible with all
Parallax motherboards, including the
MoBoStamp-pe. It can operate with Vdd set
anywhere between 2.7V and 5.5V. However, a
nominal 5V supply is needed for operation of
the LEDs, which the motherboard
automatically provides. For operation without
a motherboard, such as with Parallax's Board
of Education, an extension cable (p/n 800-
28301) and a SIP adapter ("DB Expander", p/n
28325) are available separately to convert the
TCS230DB's two-row, 2mm header to a more
convenient single-row, 0.1-inch spacing.
Getting Started
Hardware Notes
If you are using the TCS230-DB with the
MoBoStamp-pe, make sure that you have the
GPIO3 firmware loaded into the AVR
coprocessors. The MoboStamp-pe comes from
the factory with the GPIO3 firmware installed.
If you have installed other AVR firmware,
reload the GPIO3 hex file using the
LoadAVR.exe utility before proceeding.
The TCS230-DB works best with the front
surface of the printed circuit board located
between 1" and 1 / " from the subject being
sensed. For this reason, aluminum spacers are
included, which can be affixed to form legs. If
you are using your TCS230-DB with a
Parallax motherboard, remove all the screws
from the brass spacers at both ends of the
board, and replace them with the 3/4" screws
included in this kit. The screws should be
installed from the bottom of the motherboard
and protrude through the brass spacers. At
this point, you can install the TCS230-DB on
the "B" end of the motherboard and attach the
spacers as shown below. The left-over short
screws may also be screwed into the ends of
the legs as a height adjustment.
If you are connecting the TCS230-DB to the
motherboard via the extension cable (p/n
800-28301), attach the spacers directly to the
TCS230-DB using the unused short screws
provided with the motherboard.
If you are using the TCS230-DB with the DB-
Expander instead of a motherboard, you will
need to obtain eight 4-40 x 1/4" panhead
machines screws (Parallax p/n 700-00028) to
attach the legs, since the 3/4" screws
provided are too long, and to use as a height
adjustment.
Now, assuming you're using the
MoBoStamp-pe, key the following BS2pe
program into the BASIC Stamp Editor. (A
similar program, along with programs for
different BASIC Stamp versions is available
for download at )
Next, connect the motherboard to your PC,
and the program you've entered. Two
things should now happen: 1) the white LEDs
on the sensor module will come on, and 2)
you will see output appear in the debug
window that looks something like this:
These numbers are relative values for the
red, green, and blue components of the color
the sensor is looking at. With the TCS230-DB
perched on its legs atop a piece of white
paper, you will notice that the LEDs form a
bright spot of light in front of the lens. You
may need to adjust the LEDs or the height a
bit to make sure that the spots from both
merge into a single round spot.
No technical discussion of the TCS230 sensor
module set would be complete without the
material contained in the TAOS TCS230
datasheet. If you do not have this datasheet,
you are encouraged to download it from the
TAOS website, .
The TCS230 has an array of photodetectors,
each with either a red, green, or blue filter, or
no filter (clear). The filters of each color are
distributed evenly throughout the array to
eliminate location bias among the colors.
Internal to the device is an oscillator which
produces a square-wave output whose
frequency is proportional to the intensity of
the chosen color. There is one output from
this oscillator, and the color to be read is
selected using two address lines: and .
In addition, it is possible to program the
divide rate of the oscillator using two
additional lines, and . The settings for
these control lines and their functions are
summarized below:
The TCS230 chip's data and control lines are
brought directly to the 2mm header, through
which it interfaces to the motherboard or to
another system. The only exception is the
/OE output enable line, which is
permanently asserted low. In addition, both
S0 and S1 are pulled high through resistors
to Vdd, which programs the TCS230 for its
maximum output frequency. Therefore, to
use this setting, neither S0 nor S1 need to be
connected. There are also jumper pads on the
TCS230-DB by which either S0 or S1, or both,
can be strapped low.
To program the data rate from a BASIC
Stamp, it will be necessary to connect S0 and
S1 to a programmable port. On the
MoBoStamp-pe, this must be done through
the AVR coprocessor via the OWOUT
instruction, since these signals do not
116
www.parallax.com.
www.taosinc.com
S2 S3
S0 S1
Run
R123 G065 B200
R120 G060 B187
etc.
S0 S1 Divide S2 S3 Color
0 0 0 0 Red
0 1 1:50 0 1 Blue
1 0 1:5 1 0 Clear
1 1 1:1 1 1 Green
Pwr. Down
'{$STAMP BS2pe}
Out CON 7
S3 CON 0
S2 CON 1
LED CON 5
pRED CON 15
pGREEN CON 12
pBLUE CON 9
RED VAR Word
GREEN VAR Word
BLUE VAR Word
Start:
HIGH LED
MainLp:
GOSUB Color
DEBUG "R", DEC3 RED
DEBUG " G", DEC3 GREEN
DEBUG " B", DEC3 BLUE
DEBUG CR
GOTO MainLp
Color:
LOW S2
LOW S3
COUNT Out, pRED, RED
HIGH S3
COUNT Out, pBLUE, BLUE
HIGH S2
COUNT Out, pGREEN, GREEN
RETURN
TCS230-DB
COLOR SENSOR
DAUGHTERBOARD KIT
www.parallax.com
T E X A S
A D V A N C E D
O P T O E L E C T R O N I C
S O L U T I O N S
www.taosinc.com
®
®
TM
TAOS #TCS230-DB Parallax #28302

connect directly to the BASIC Stamp chip. To
set and to the values (0 or 1) contained
in variables of the same name, use the
following PBASIC code:
where the value for is given in the
table below.
The following table maps the TCS230-DB
signals to ports on both the MoBoStamp-pe
and the MoBoProp boards for sockets A and
B, as well as the DB-Expander board:
When operating the TCS230-DB using the SIP
adapter (DB-Expander) instead of a Parallax
motherboard, the correspondence between
the signals and SIP pin markings will be that
of the last column in the table above. When
operated in this fashion, the +5V pin supplies
power to the LEDs and must be at least 4.5V
for good current regulation and never more
than 7.5V. The Vdd pin supplies the rest of the
board and can range anywhere from 2.7V to
5.5V. In any event, the LED enable input must
be at least 2.0V to turn the LEDs on. Other
signal level requirements can be obtained
from the TCS230 datasheet.
With the supplied 5.6mm lens and a subject
distance of 1" (25mm) from the front surface
of the circuit board, the sensor module will
"see" a square area roughly 9/64" (3.5mm) on
a side. This means that any color variation
within an area that size will be averaged by
the TCS230.
The spectral response of any color sensor
is a function not only of the sensor's
device response, but also of the system's
optics and illumination. The combined
response of this module, taking into account
the lens' IR filter and the LEDs' emission
curve, is shown below:
When used with a BASIC Stamp, the
TCS230's output frequency can be read using
the Stamp's statement, as shown in
the example code on the front side of this
sheet. In this example, and were both
pulled "high", enabling the TCS230's fastest
output rate. However, this rate can be as
much as 600KHz or more at maximum light
intensity, which is faster than the BS2 (limited
to 120KHz) or the BS2pe (limited to166KHz)
can count. So, and need to be set
according to the maximum expected light
intensity from the subjects being examined.
On the MoBoStamp-pe, you can also measure
the output frequency using the AVR
coprocessor. This function is built in to the
GPIO3 firmware, which can measure input
frequencies up to 1MHz. See the GPIO3
documentation for the details. The TCS230's
signal will appear on the GPIO3
firmware's port 2.
In order to save power — especially when
battery-operated — you can power off the
TCS230 chip by setting and low. You
can also operate the LEDs only when reading
color. This works because the LEDs come on
almost instantly, having no warm-up time as
incandescent lamps do. This can be
accomplished by strobing high only
when you need to take a reading. This
technique is also useful for cancelling the
effects of ambient light. Take one reading
with the LEDs on and another with them off,
then subtract the second reading from the
first to get a more accurate color measure.
This only works, of course, when the
ambient light doesn't change between
readings. Also, if the ambient light comes
from a fluorescent light source, be sure that
the measurement interval is a multiple of the
mains period (1/60 sec. in the U.S.).
The signal line includes a 0.047µF
capacitor to ground. This can be used to
identify the presence of the TCS230-DB or to
determine which MoBoStamp-pe socket it's
in, using the following PBASIC code:
If, after executing this code, the TCS230-DB
is present in the socket tested, the variable
will have a value of around 35. An empty
socket will yield a value of 1, and other
TAOS light-to-frequency daughterboards
will identify with different values.
Additional information, applications, and
software examples can be found on both the
TAOS and Parallax websites listed on the
front of this sheet.
S0 S1
OWIO
COUNT
S0 S1
S0 S1
OUT
S0 S1
LED
S2
Id
OWOUT OWIO, 0, [$04 + S0, $14 + S1]
LOW S2
PAUSE 20
RCTIME S2, 0, Id
MoBoStamp-pe MoBoProp DB-
Signal A B A B Expander
S0 See code above. A8 A1 B
S1 See code above. A9 A0 A
S2 P9 P1 A12 A4 E
S3 P8 P0 A13 A5 F
OUT P11 P7 A10 A2 C
LED P12 P5 A11 A3 D
OWIO P10 P6 —Not Applicable—
Optical Data
Software Notes
system
Texas Advanced Optoelectronic Solutions, 1001 Klein Road, Suite 300, Plano, TX 75074, U.S.A.
Parallax, Inc., 599 Menlo Drive, Suite 100, Rocklin, CA 95765, U.S.A.
Document Version 2007.04.18
0.0
0.2
0.4
0.6
0.8
1.0
400 500 600 700 800
Wavelength - nm
Relative Responsivity
Clear
Blue
Green
Red
S0
S1
/OE
Vss
S3
S2
Out
Vdd
1
2
3
4 5
6
7
8
U2
TCS230
IN
Gnd
En
Out
FB
1
2
3 4
5
U1
MIC5235
R3
10K
REF1
2.5V
J2
Vdd
C7
10µF
C4
10µF
+5V
Vdd
RP1
4 x 33K
J1
C5
0.1µF
Vdd
C6
0.047µF (ID cap)
LED1
2 x NSPW500BS
LED2
+5V
R4
33R
R5
33R
C2
0.1µF
+5V
C1
2.2µF
C3
2.2µF
R1
10K
R2
10K
R6
330R
TCS230-DB Schematic TCS230-DB Pinout (Rear View)
GndGnd
This manual suits for next models
1