Stap 9: De Robot Neuron Code
Hier is de code voor de 3 Picaxe controller neuronen:
' 20 m 2 master neuron-hand
B1 = 1
onderbreken van 100
serout c.0,t4800,(1,11) ' open inname
onderbreken van 40
serout c.0,t4800,(1,11) ' open inname
onderbreken van 40
serout-c.1,t2400,(170,9,$0C,127) ' m1 24-127, 84-2/3 snelheid, 127default klok
onderbreken van 100
LOOP1:
lage c.7
' debug b1
IRIN [1000,loop1],b.5, b6
Als b6 = 0 dan send1 ' Ventiel1 button1 = 0
Als b6 = 1 then send2 ' v2
Als b6 = 2 dan send3 ' v3
Als b6 = 3 dan send4 ' v4
Als b6 = 4 dan send5 ' v5
Als b6 = 5 dan send6 ' v6
Als b6 = 6 dan send7 ' v7
Als b6 = 7 dan send8 ' v8
Als b6 = 8 dan send9 ' v9
Als b6 = 9 dan send10
Als b6 = 59 dan send11 ' (-)
Als b6 = 11 then send12 ' invoeren
Als b6 = 14 dan send13 ' gids
Als b6 = 21 dan send14 ' macht
Als b6 = 16 dan is send16 ' ch +-vid1
Als b6 = 17 dan send17 ' ch--vid2
Als b6 = 116 dan send116 ' closehand
goto loop1
send1:
' serout c.0,t4800,(1,13) ' gids
' onderbreken van 40
serout c.0,t4800,(1,1) ' Stuur van 1 byte met 1, als kwalificatie
onderbreken van 40
goto loop1
send2:
serout c.0,t4800,(1,2)
onderbreken van 40
goto loop1
send3:
serout c.0,t4800,(1,3)
onderbreken van 40
goto loop1
send4:
serout c.0,t4800,(1,4)
onderbreken van 40
goto loop1
send5:
serout c.0,t4800,(1,5)
onderbreken van 40
goto loop1
send6:
serout c.0,t4800,(1,6)
onderbreken van 40
goto loop1
send7:
serout c.0,t4800,(1,7)
onderbreken van 40
goto loop1
send8:
serout c.0,t4800,(1,8)
onderbreken van 40
goto loop1
send9:
serout c.0,t4800,(1,9)
onderbreken van 40
goto loop1
send10:
serout c.0,t4800,(1,10)
onderbreken van 40
goto loop1
send11: ' (-)
serout c.0,t4800,(1,11)
onderbreken van 40
goto loop1
send12: ' Geef
serout c.0,t4800,(1,12)
onderbreken van 40
goto loop1
send13: ' gids
serout c.0,t4800,(1,13)
onderbreken van 40
goto loop1
send14: ' kracht verzenden 21
serout c.0,t4800,(1,21) ' Stuur 21
onderbreken van 40
goto loop1
send16: '
serout c.0,t4800,(1,16)
onderbreken van 40
goto loop1
send17: '
serout c.0,t4800,(1,17)
onderbreken van 40
goto loop1
' 18 x activator neuron één-hand
' picaxe 18 x
laag 1
laag 2
lage 3
laag 7
laag 6
lage 5
lage 4
LOOP1:
' kanarie 0, t4800, b1
kanarie 0, t4800, (1), b1 ' ontvangen van 1 byte na ontvangst 1
onderbreken van 30
' debug b1
' kleppen 1-7
Als b1 = 1 then act1
Als b1 = 2 dan act2
Als b1 = 3 dan act3
Als b1 = 4 dan act4
Als b1 = 5 dan act5
Als b1 = 6 dan act6
Als b1 = 7 dan act7
Als b1 = 16 dan is vid1
Als b1 = 17 dan vid2
Als b1 = 116 dan closehand
Als b1 = 21 dan openhand ' pressurev1v2 ' macht
goto loop1
vid1:
hoge 7
onderbreken van 800
laag 7
hoge 4
onderbreken van 70
lage 4
onderbreken van 2000
hoge 7 ' vac
onderbreken van 1000
hoge 4
onderbreken van 1000
lage 4
laag 7
hoge 1
hoog 2
' hoge 3
hoge 4
hoge 5
hoge 6
' hoge 7
onderbreken van 4000
laag 1
laag 2
lage 4
lage 5
laag 6
' hoge 3
onderbreken van 3000
hoge 3
' lage 7
onderbreken van 3000
onderbreken van 4000 ' midpause
' open duim index
' hoge 3
hoge 4
onderbreken van 4000
hoge 3
lage 4
onderbreken van 2000
lage 3
goto loop1
vid2:
onderbreken van 1200
hoge 3
onderbreken van 500
lage 3
onderbreken van 200
goto loop1
onderbreken van 3000
goto loop1
ACT1: ' v1
hoge 1
onderbreken van 20
laag 1
goto loop1
act2: ' v2
hoog 2
onderbreken van 20
laag 2
goto loop1
act3:
hoge 3
onderbreken van 20
lage 3
goto loop1
act4:
hoge 7
onderbreken van 20
laag 7
goto loop1
act5:
hoge 6
onderbreken van 20
laag 6
goto loop1
act6:
hoge 5
onderbreken van 20
lage 5
goto loop1
act7:
hoge 4
onderbreken van 20
lage 4
goto loop1
closehand:
hoge 1
hoog 2
hoge 3
hoge 4
hoge 5
hoge 6
hoge 7
onderbreken van 2000
laag 1
laag 2
lage 3
lage 4
lage 5
laag 6
laag 7
goto loop1
openhand:
hoge 1
hoog 2
hoge 3
hoge 4
hoge 5
hoge 6
onderbreken van 4000
laag 1
laag 2
lage 3
lage 4
lage 5
laag 6
hoge 7
onderbreken van 4000
lage 5
laag 6
laag 7
goto loop1
pressurev1v2: ' ch +
hoge 1 ' v1 arm omlaag
hoog 2 ' v2
onderbreken van 800
laag 1
onderbreken van 1500
laag 2
hoge 1
hoog 2
onderbreken van 700
laag 1
laag 2
onderbreken van 60
hoge 4 ' v7
1440 onderbreken
lage 4
onderbreken van 20
' goto loop1
onderbreken van 1600 ' sluit grijper
hoge 1 ' v1 arm
hoog 2 ' v2
onderbreken van 2200
laag 1
laag 2
' arm links
hoge 5 ' v6
onderbreken van 1200
lage 5
' arm omlaag
hoge 1 ' v1
hoog 2 ' v2
onderbreken van 800
laag 1
laag 2
goto loop1
vacv1v2: ' vac ch -
onderbreken van 3000
hoge 1 ' v1 vac kleppen
hoog 2 ' v2
hoge 6 ' v5
hoge 5 ' v6
hoge 3
hoge 7
onderbreken van 3500
laag 1
laag 2
laag 6
lage 5
lage 3
laag 7
onderbreken van 20
hoge 4 ' v7
onderbreken van 3000
lage 4
hoge 1 ' vac inline release
hoog 2
hoge 4
hoge 6
hoge 5
onderbreken van 2000
laag 1
laag 2
lage 4
laag 6
lage 5
hoge 3
hoge 7
onderbreken van 1000
lage 3
laag 7
goto loop1
' 18 x activator neuron tweehandenbediening
laag 1
laag 2
lage 3
laag 7
laag 6
lage 5
lage 4
LOOP1:
' kanarie 0, t4800, b1
kanarie 0, t4800, (1), b1 ' ontvangen van 1 byte na ontvangst 1
onderbreken van 30
' debug b1
' kleppen van 8-14
Als b1 = 1 then act13
Als b1 = 2 dan act13
Als b1 = 3 dan act13
Als b1 = 4 dan act13
Als b1 = 5 dan act13
Als b1 = 6 dan act13
Als b1 = 7 dan act13
Als b1 = 8 dan act8
Als b1 = 9 dan act9
Als b1 = 10 dan act10
Als b1 = 11 then act11
Als b1 = 12 dan act12
Als b1 = 13 dan act13
Als b1 = 14 dan act14
Als b1 = 16 dan is vid1
Als b1 = 17 dan vid2
Als b1 = 116 dan closehand
Als b1 = 21 dan powervac5
goto loop1
vid1:
onderbreken van 2850
lage 5 ' vac
laag 7
hoge 6
onderbreken van 2000
hoge 7
laag 6
hoge 5
hoge 5
hoge 1
hoog 2
onderbreken van 4000
laag 1
onderbreken van 4000
laag 2
lage 5
onderbreken van 2000
onderbreken van 4000 ' midpause
' open duim index
lage 5
laag 7 ' vac inname uit
hoge 6
hoge 1
onderbreken van 4000
hoge 7
laag 6
laag 1
hoge 5
goto loop1
vid2:
hoog 2
hoge 5
onderbreken van 900
hoge 1
onderbreken van 1000
laag 1
laag 2
lage 5
goto loop1
onderbreken van 2000
hoge 7 ' lage v wisselstroom
hoge 6
lage 5
onderbreken van 1000
laag 6
hoge 5
goto loop1
act8:
hoge 1
hoge 5
onderbreken van 20
laag 1
lage 5
goto loop1
act9:
hoog 2
hoge 5
onderbreken van 20
laag 2
lage 5
goto loop1
act10:
hoge 3
hoge 5
onderbreken van 20
lage 3
lage 5
goto loop1
act11: ' v11 inname
hoge 7
goto loop1
act12:
hoge 6
hoge 5
onderbreken van 20
laag 6
lage 5
goto loop1
act13:
hoge 5
onderbreken van 20
lage 5
goto loop1
act14: ' stop
hoge 4
onderbreken van 5000
lage 4
goto loop1
closehand:
hoge 5
hoge 1
onderbreken van 2000
lage 5
laag 1
goto loop1
powervac5: ' power vac 5 sec
laag 7 ' van arm inname uit
lage 5
hoge 6
hoge 1
hoog 2
hoge 3
onderbreken van 8000
hoge 7
laag 6
laag 1
laag 2
lage 3
hoge 5
goto loop1
pressurev1v2: ' ch +
hoge 5 ' arm omlaag
3160 onderbreken
hoge 1 ' v8
onderbreken van 1200
laag 1
onderbreken van 200
' goto loop1
vacv1v2: ' ch -
laag 7 ' inname uit
hoge 6 ' vac in
hoog 2 ' open grijper
onderbreken van 1500
hoge 3 ' grip
onderbreken van 1500
hoge 1 ' v8
3520 onderbreken
onderbreken van 3000
laag 6
hoge 7
laag 1