This is the PICAXE code used for the buggy on the protoype testing day is shown below. It impliments the use of if....else command. Low's and High's are used to send outputs to the connected components such as the LED's and motors. It also uses sub-routines to keep the code neat and efficient as possible.
symbol switchstate = b0
main:
if switchstate = 0 then
debug switchstate ;used so we can see the state the swith b0 is in
goto program1
else
goto program2
endif
goto main
program1: ;used to follow the track
readadc 1, b1 ;reads and converts the analogue input from left LDR
debug b1 ;used to calibrate the left LDR
readadc 2, b2 ;reads and converts the analogue input from right LDR
debug b2 ;used to calibrate the right LDR
high 5 ;sends an output high to the two LED's
high 6
if b2 > 110 and b1 ;if the left LDR is on white and the right LDR on black
goto right
endif
if b2 <> 110 then ;if the left LDR is on black and the right LDR on white
goto left
else ;otherwise move forwards
goto straight
endif
goto main
program2: ;used to identify the symbols
readadc 1, b1 ;reads and converts the analogue input from left LDR
debug b1 ;used to calibrate the left LDR
readadc 2, b2 ;reads and converts the analogue input from right LDR
debug b2 ;used to calibrate the right LDR
high 5 ;sends an output high to the two LED's
high 6
if b2 > 110 and b1 > 110 then ;if the left LDR is on black and the right LDR on black
low 1 low 2 low 3 low 4 ;stay stationary for three seconds
pause 3000
endif
goto program2
if b2 > 110 and b1 ;if the left LDR is on white and the right LDR on black
goto left ;turn left for three seconds
endif
if b2 <> 110 then ;if the left LDR is on black and the right LDR on white
goto right ;turn right for three seconds
else ;otherwise move backwards
goto back
endif
goto main
straight:
low 1 high 2
low 3 high 4
goto main
right:
low 1 low 2 low 3 high 4
goto main
left:
low 1 high 2 low 3 low 4
goto main
back:
low 2 high 1 low 4 high 3
goto main
Wednesday, 28 April 2010
PICAXE Code - Line Following
Labels:
Arnold Ngang,
Ilute Nyambe,
Programming,
Rajinder Sidhu,
Stefan Murray
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment