70016 Parallax Inc, 70016 Datasheet - Page 68

TEXT INFRARED REMOTE FOR BOE-BOT

70016

Manufacturer Part Number
70016
Description
TEXT INFRARED REMOTE FOR BOE-BOT
Manufacturer
Parallax Inc
Datasheet

Specifications of 70016

Accessory Type
Manual
Product
Microcontroller Accessories
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
For Use With/related Products
Boe-Bot®
For Use With
29122 - KIT PARTS IR REMOTE FOR BOE-BOT
Lead Free Status / RoHS Status
Lead free / RoHS Compliant, Contains lead / RoHS non-compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
70016SE
Manufacturer:
ST
0
The
time from when it is executed until the signal on P9 transitions from high to low. In
contrast,
when it is executed until it detects a signal that transitions from low to high. Coupled
with the
second gatekeeper in the program, verifying that the end of the resting state between
pulses is indeed followed by a start pulse.
Since the
start pulse, the
pulse stays low. Since 1.8 ms of the start pulse should remain, the
should store a result of about 900 in the time variable. Since pulse durations vary
somewhat with brand of universal remote and ambient light levels, the statement
time > 1125 OR time < 675 THEN GOTO Get_Pulses
error. (Remember that one
number larger than 1125 or smaller than 675, it certainly can't be the 2.4 ms SONY
protocol start pulse, so the
Get_Pulses
resting state between messages.
By this point in the routine, the program has detected the end of a high signal and verified
that it was followed by a low start pulse that lasted somewhere around 2.4 ms. After this,
we expect twelve data bit pulses, each lasting 1.2 ms if it's a binary-1, or 0.6 ms if it's a
binary zero. The
about 0.3 ms into the next data bit pulse. So instead of storing a 600 for a binary-1 or 300
for a binary-0 in the
for a binary-0. The midpoint of 450 and 150 is 300, so the
follows sets a given bit in the
Otherwise, the bit is left 0 if the time measurement is below 300.
It turns out that the processing time difference for an
conditions is about the same as the processing time for an
condition. So, the
can also use 300 as the threshold between a 1 and a 0 pulse.
RCTIME 9, 1, time
RCTIME 9, 0, time
IF time > 300 THEN remoteCode.BIT0 = 1
IF time > 1125 OR time < 675 THEN GOTO Get_Pulses
RCTIME 9, 0, time
LOOP UNTIL time > 1000
RCTIME 9, 0, time
IF time > 1125 OR time < 675 THEN GOTO Get_Pulses
label at the beginning of the routine to resume searching for the end of the
RCTIME 9, 0, time
IF time > 1125 OR time < 675 THEN GOTO Get_Pulses
IF...THEN
time
variable, the
command has a
RCTIME
IF...THEN
has a
statements that follow the rest of the
remoteCode
unit is 2 µs for the BS2.) If the time variable stores a
State
command measures the remaining time that the start
RCTIME
condition finishes about 0.6 ms into the 2.4 ms
State
argument of 0. So, it measures the time from
statement sends the program back to the
variable to 1 if it's above 300 (not 450).
command stores 450 for a binary-1 or 150
argument of 1, and so it measures the
' Measure pulse
' Set (or leave clear) bit-0
IF...THEN
IF...THEN
leaves a ± 0.45 ms margin for
IF...THEN
statement with two
RCTIME
statement with one
RCTIME
statement, it's the
statement that
commands
command
ends
IF

Related parts for 70016