Alla hjärtans robot doserar godis kyssar med Picaxe (7 / 7 steg)
Steg 7: Koden
v1 - 2/18 försök att sammanställa all kod
init:
servo 7,91
servo 5,50
hög b.2
huvudsakliga: "den viktigaste loopen
"driva framåt kort avstånd med no drop"
"kör framåt och släppa 3 delar av godis
göra
GOSUB raka
Inc b2
ögla fördriva tiden b2 < 3
"vänster sväng och droppa 4 godis
"och fortsätter sedan med tur för en cykel utan att tappa godis
göra
GOSUB firstleftturn
Inc b3
ögla fördriva tiden b3 < 5
"göra
"gosub leftturnnocandy
"inc b12
"ögla fördriva tiden b12 < 1
"nu på mitten
"lista ut senare
GOSUB nopower
"vända på det
GOSUB turnaround
GOSUB nopower
"vänster sväng och droppa 5 godis
göra
GOSUB secondleftturn
Inc b4
ögla fördriva tiden b4 < 4
"kör framåt och släppa 3 delar av godis
göra
GOSUB laststraight
Inc b5
ögla fördriva tiden b5 < 5
"slå brett
GOSUB lastleftturn
'
GOSUB nopower
Stanna
gå till huvudsakliga "detta avslutas loopen, resten är bara sub rutiner
"subrutiner
' --------------------------------------------
rak:
"en motor är på hela tiden
hög B.1
"andra är 100% under rak
"pwmout B.3, 99, 400: låg 4
PWMOUT B.3, OFF
hög b.3: låg b.4
' gå forwaed 1 SEK och sedan släppa godis
Pausa 2000
GOSUB dropcandy
returnera
laststraight:
"en motor är på hela tiden
hög B.1
"andra är 100% under rak
"pwmout B.3, 99, 400: låg 4
PWMOUT B.3, OFF
hög b.3: låg b.4
' gå forwaed 1 SEK och sedan släppa godis
Pausa 2000
GOSUB dropcandy
returnera
straightnocandy:
"en motor är på hela tiden
hög B.1
"andra är 100% under rak
PWMOUT B.3, OFF
hög b.3: låg b.4
"pwmout B.3, 99, 400: låg 4
' gå forwaed
Pausa 460
returnera
firstleftturn:
"en motor är på hela tiden
hög B.1
"50%
"pwmout B.3, 99, 200: låg 4
"70%
pwmout B.3, 99, 280: låg 4
Pausa 2500
GOSUB dropcandy
returnera
secondleftturn:
"en motor är på hela tiden
hög B.1
"50%
"pwmout B.3, 99, 200: låg 4
' 75
pwmout B.3, 99, 245: låg 4
Pausa 1775
GOSUB dropcandy
returnera
leftturnnocandy:
"en motor är på hela tiden
hög B.1
"50%
"pwmout B.3, 99, 200: låg 4
"70%
pwmout B.3, 99, 280: låg 4
Pausa 2500
returnera
dropcandy:
"först stoppa alla
"inaktivera pwm
PWMOUT B.3, OFF
låg B.1: låg B.3: låg B.4
Pausa 500
"öppna shute grinden och tillåter en att släppa
servo 5, 93
Pausa 260
"nära gate
servo 5, 60
"godis droppar
Pausa 500
"flytta insidor
"öppna
servo 7,50
Pausa 350
"stängt
servo 7,91
Pausa 1000
returnera
nopower:
PWMOUT B.3, OFF
låg B.1: låg B.3: låg B.4
Pausa 1000
returnera
handläggningstid:
PWMOUT B.3, OFF
hög B.1: låg B.3: låg B.4
Pausa 12950
göra
GOSUB straightnocandy
Inc b11
loop medan b11 < 6
returnera
lastleftturn:
"en motor är på hela tiden
hög B.1
70%
pwmout B.3, 99, 310
Pausa 10000
återgå