Download Print this page

Parallax 29115 Manual page 13

Line follower module

Advertisement

lastBits = %00100
' -----[ Main Code ]------------------------------------------------------------
'
Main:
GOSUB Read_Line_Follower
Steer_Robot:
steer = NCD lfBits
BRANCH steer,[Off_Line, Hard_Right, Right, Straight, Left, Hard_Left]
Save_Last:
lastBits = lfBits
GOTO Main
' -----[ Subroutines ]----------------------------------------------------------
'
Read_Line_Follower:
lfBits = 0
FOR ledPos = 2 TO 6
OutL.LowBit(ledPos) = LEDon
PAUSE 1
lfBits.LowBit(ledPos) = In9 ^ LFmode
OutL = OutL | %01111100
NEXT
lfBits = lfBits >> 2
RETURN
Off_Line:
lfBits = lastBits
GOTO Steer_Robot
Hard_Right:
PULSOUT LMotor, MStop + Speed075
PULSOUT RMotor, MStop
GOTO Save_Last
Right:
PULSOUT LMotor, MStop + Speed100
PULSOUT RMotor, MStop - Speed050
GOTO Save_Last
Straight:
PULSOUT LMotor, MStop + Speed100
PULSOUT RMotor, MStop - Speed100
GOTO Save_Last
Left:
PULSOUT LMotor, MStop + Speed050
PULSOUT RMotor, MStop - Speed100
GOTO Save_Last
Parallax, Inc. • Parallax Line Follower (#29115) • 12/2001
' assume starting straight
' read the Line Follower
' get highest "on" bit
' save last reading
' clear last reading
' turn the LED on
' allow sensor to read
' record the sensor reading
' turn LEDs off
' shift bits to zero index
' get last known position
' slow a bit on left
' stop right motor
' full speed on left
' slow right motor
' both motors forward
' slow left motor
' full speed on right
Page 12

Advertisement

loading