'=================================================================================
'=================================================================================
'Branko
Zupan
' Kobacajoči robot
' 2. 5.
2005
'
'=================================================================================
'=================================================================================
'
'sprednji
servo na pin B1
'zadni servo na pin B2
'levi senzor na A0
'desni senzor
na A1
'variabli S in Z za premikanje sevomehanizmov
'variabla X za oba
senzorja (Bit-vrednost (binarno 00000111))
'variabla L za
zanke
'
'=================================================================================
VarB
S'-----------------> Byte-variabla (8Bit) za levi servo
VarB
Z'-----------------> Byte-variabla (8Bit) za desni servo
VarB
X'-----------------> Byte-variabla (8Bit) za senzorje
VarB
L'-----------------> Byte-variabla (8Bit) za zanke
Low
B1'-----------------> pin B1 preklopi kot izhod, stanje L (nizko)
Low
B2'-----------------> pin B2 preklopi kot izhod, stanje L (nizko)
S =
150'----------------> postavi servo v sredino
Z = 150'---------------->
postavi servo v sredino
Pause 1000
S = 180'----------------->
postavi sprednji servo na začetek koraka
Z = 180'----------------->
postavi zadnji servo na začetek
koraka
'=================================================================================
Start:' =-----------------> vrstica za
naprej
'=================================================================================
L
= 0'--------------------> variabla za zanke na izhodišče
X =
3'--------------------> oba senzorja HI (Bit-vrednost (binarno
00000111))
PAI 3 = X'---------------> tukaj ugotavlja stanje obeh
senzorjev (čita vhoda A0, A1)
IF X = 3 Then Skip 3'----> stanje: spremembe
ni (X = 3), preskoči naslednje tri vrstice
IF X = 1 Then Levo'----->
stanje: sprememba je (X = 1), preskoči v vrstico za levo
IF X = 2 Then
Desno'----> stanje: sprememba je (X = 2), preskoči v vrstico za desno
IF X
= 0 Then Nazaj'----> stanje: sprememba je (X = 0), preskoči v vrstico za
nazaj
'=================================================================================
'prvi del
koraka
'=================================================================================
Do'----------------------->
začetek zanke
PulsOut B1, S'------------> impuls za sprednji servo (se
pomanjšuje za 1 do 120)
PulsOut B2, Z'------------> impuls za zadnji servo
(180)
Dec S'--------------------> pomanjšuje variablo S za vrednost
1
Pause 10
Loop until S = 120'-------> vrača na začetek zanke
dokler ni vrednost
120
'=================================================================================
'drugi del
koraka
'=================================================================================
Do'----------------------->
začetek zanke
PulsOut B1, S'-----------> impuls za sprednji servo
(120)
PulsOut B2, Z'-----------> impuls za zadnji servo (se pomanjšuje za
1 do 120)
Dec Z'-------------------> pomanjšuje variablo Z za vrednost
1
Pause 10
Loop until Z = 120'------> vrača na začetek zanke
dokler ni vrednost
120
'=================================================================================
'tretji del
koraka
'=================================================================================
Do'---------------------->
začetek zanke
PulsOut B1, S'-----------> impuls za sprednji servo (se
povečuje za 1 do 180)
PulsOut B2, Z'-----------> impuls za zadnji servo
(120)
Inc S'--------------------> povečuje variablo S za vrednost
1
Pause 10
Loop until S = 180'-> vrača na začetek zanke dokler
ni vrednost
180
'=================================================================================
'četrti del
koraka
'=================================================================================
Do'----------------------->
začetek zanke
PulsOut B1, S'-----------> impuls za sprednji servo
(180)
PulsOut B2, Z'-----------> impuls za zadnji servo (se povečuje za 1
do 180)
Inc Z'--------------------> povečuje variablo Z za vrednost
1
Pause 10
Loop until S = 180'------> vrača na začetek zanke
dokler ni vrednost
180
'=================================================================================
GoTo Start'-------------> povratek na začetek
koraka
'=================================================================================
'=================================================================================
Levo:' =-----------------> vrstica za
levo
'=================================================================================
Do'---------------------->
začetek zanke
S = 180
Z = 180
PulsOut B1, S
PulsOut B2,
Z
Pause 10
Inc L'-------------------> prišteva 1 v vrednost L (isto kot
L = L +1)
Loop until L = 100'-----> vrača na začetek zanke, ko doseže L
100 gre naprej
GoTo Start'-------------> povratek na
začetek
'=================================================================================
Desno:' =----------------> vrstica za
desno
'=================================================================================
Do'---------------------->
začetek zanke
S = 110
Z = 110
PulsOut B1, S
PulsOut B2, Z
Pause
10
Inc L'-------------------> prišteva 1 v vrednost L (isto kot L = L
+1)
Loop until L = 100'-----> vrača na začetek zanke, ko doseže L 100 gre
naprej
GoTo Start'-------------> povratek na
začetek
'=================================================================================
Nazaj:' =----------------> vrstica za
nazaj
'=================================================================================
Do'--------------------->
začetek zanke
S = 110
Z = 180
PulsOut B1, S
PulsOut B2, Z
Pause
10
Inc L'-------------------> prišteva 1 v vrednost L (isto kot L = L
+1)
Loop until L = 100'-> vrača na začetek zanke, ko doseže L 100 gre
naprej
GoTo Start'-------------> povratek na začetek