Robotics with the Boe-Bot text v2.2
Page 218 · Robotics with the Boe-Bot 
This is the subroutine that performs the RCTIME measurements on both photoresistor RC 
circuits. The measurement for the left circuit is stored in the timeLeft variable, and the 
measurement for the right circuit is stored in the timeRight variable. 
Test_Photoresistors: 
 HIGH 6 
 PAUSE 3 
 RCTIME 6,1,timeLeft 
 HIGH 3 
 PAUSE 3 
 RCTIME 3,1,timeRight 
 RETURN 
The Navigate subroutine uses an IF…THEN statement to compare the timeLeft variable 
against the LeftThreshold constant and the timeRight variable against the 
RightThreshold constant. Remember, when the RCTIME measurement is small, it 
means bright light is detected, and when it’s large, it means the light is not as bright. So, 
when one of the variables that stores an RCTIME measurement is smaller than the 
threshold constant, it means the flashlight beam has been detected; otherwise, the 
flashlight beam has not been detected. Depending on which condition this subroutine 
detects (both, left, right or neither), the correct navigation pulses is applied, followed by a 
PAUSE before the RETURN command exits the subroutine. 
Navigate: 
 IF(timeLeft<LeftThreshold)AND(timeRight<RightThreshold) THEN 
 PULSOUT 13, 850 
 PULSOUT 12, 650 
 ELSEIF (timeLeft < LeftThreshold) THEN 
 PULSOUT 13, 700 
 PULSOUT 12, 700 
 ELSEIF (timeRight < RightThreshold) THEN 
 PULSOUT 13, 800 
 PULSOUT 12, 800 
 ELSE 
 PULSOUT 13, 750 
 PULSOUT 12, 750 
 ENDIF 










