Paso 9: El código del Robot Neuron
Aquí está el código para las 3 neuronas de controlador Picaxe:
20 m 2 neurona-mano principal
B1 = 1
PAUSE 100
serout c.0,t4800,(1,11) ' entrada libre
pausa de 40
serout c.0,t4800,(1,11) ' entrada libre
pausa de 40
serout c.1,t2400,(170,9,$0C,127) ' reloj m1 24-127, 84-2/3 velocidad, 127default
PAUSE 100
Loop1:
bajo c.7
' debug b1
IRIN [1000,loop1],b.5, b6
Si b6 = 0 entonces send1 ' bola1 button1 = 0
Si b6 = 1 then send2 ' v2
Si b6 = 2 entonces send3 ' v3
Si b6 = 3 then send4 ' v4
Si b6 = 4 entonces send5 ' v5
Si b6 = 5 entonces send6 ' v6
Si b6 = 6 then send7 ' v7
Si b6 = 7 entonces send8 ' v8
Si b6 = 8 then send9 ' v9
Si b6 = 9 entonces send10
Si b6 = 59 entonces send11 ' (-)
Si b6 = 11 then send12 ' entrar
Si b6 = 14 then send13 ' guía
Si b6 = 21 then send14 ' energía
Si b6 = 16 entonces send16 ' ch +-vid1
Si b6 = 17 entonces send17 ' ch - vid2
Si b6 = 116 entonces send116 ' closehand
Goto loop1
SEND1:
' serout c.0,t4800,(1,13) ' guía
' pausa de 40
serout c.0,t4800,(1,1) ' enviar 1 byte 1, como calificador de
pausa de 40
Goto loop1
send2:
serout c.0,t4800,(1,2)
pausa de 40
Goto loop1
send3:
serout c.0,t4800,(1,3)
pausa de 40
Goto loop1
send4:
serout c.0,t4800,(1,4)
pausa de 40
Goto loop1
send5:
serout c.0,t4800,(1,5)
pausa de 40
Goto loop1
send6:
serout c.0,t4800,(1,6)
pausa de 40
Goto loop1
send7:
serout c.0,t4800,(1,7)
pausa de 40
Goto loop1
send8:
serout c.0,t4800,(1,8)
pausa de 40
Goto loop1
send9:
serout c.0,t4800,(1,9)
pausa de 40
Goto loop1
send10:
serout c.0,t4800,(1,10)
pausa de 40
Goto loop1
send11: ' (-)
serout c.0,t4800,(1,11)
pausa de 40
Goto loop1
send12: ' entrar
serout c.0,t4800,(1,12)
pausa de 40
Goto loop1
send13: ' Guía de
serout c.0,t4800,(1,13)
pausa de 40
Goto loop1
send14: ' poder enviar 21
serout c.0,t4800,(1,21) ' enviar 21
pausa de 40
Goto loop1
send16: '
serout c.0,t4800,(1,16)
pausa de 40
Goto loop1
send17: '
serout c.0,t4800,(1,17)
pausa de 40
Goto loop1
18 x neurona activador una mano
' picaxe 18 x
baja 1
2 bajo
3 bajo
7 bajo
6 bajo
5 bajo
4 bajo
Loop1:
' serin 0, t4800, b1
serin 0, t4800, (1), b1 ' recibe 1 byte después de recibir 1
pausa de 30
' debug b1
«válvulas de 1-7
Si b1 = 1 then act1
Si b1 = 2 entonces act2
Si b1 = 3 entonces act3
Si b1 = 4 entonces act4
Si b1 = 5 entonces act5
Si b1 = 6 entonces act6
Si b1 = 7 entonces act7
Si b1 = 16 entonces vid1
Si b1 = 17 entonces vid2
Si b1 = 116 entonces closehand
Si b1 = 21 then openhand ' pressurev1v2 ' energía
Goto loop1
VID1:
7 alta
hacer una pausa en 800
7 bajo
alto 4
pausa 70
4 bajo
PAUSE 2000
alto 7 ' vac
PAUSE 1000
alto 4
PAUSE 1000
4 bajo
7 bajo
1 alta
2 alta
' alto 3
alto 4
5 alta
6 alta
' 7 alto
hacer una pausa en 4000
baja 1
2 bajo
4 bajo
5 bajo
6 bajo
' alto 3
PAUSE 3000
alto 3
' baja 7
PAUSE 3000
pausa 4000 ' midpause
' abrir pulgar índice
' alto 3
alto 4
hacer una pausa en 4000
alto 3
4 bajo
PAUSE 2000
3 bajo
Goto loop1
VID2:
hacer una pausa en 1200
alto 3
PAUSE 500
3 bajo
pausa de 200
Goto loop1
PAUSE 3000
Goto loop1
Act1: ' v1
1 alta
pausa de 20
baja 1
Goto loop1
ACT2: ' v2
2 alta
pausa de 20
2 bajo
Goto loop1
act3:
alto 3
pausa de 20
3 bajo
Goto loop1
act4:
7 alta
pausa de 20
7 bajo
Goto loop1
Act5:
6 alta
pausa de 20
6 bajo
Goto loop1
Act6:
5 alta
pausa de 20
5 bajo
Goto loop1
ACT7:
alto 4
pausa de 20
4 bajo
Goto loop1
closehand:
1 alta
2 alta
alto 3
alto 4
5 alta
6 alta
7 alta
PAUSE 2000
baja 1
2 bajo
3 bajo
4 bajo
5 bajo
6 bajo
7 bajo
Goto loop1
openhand:
1 alta
2 alta
alto 3
alto 4
5 alta
6 alta
hacer una pausa en 4000
baja 1
2 bajo
3 bajo
4 bajo
5 bajo
6 bajo
7 alta
hacer una pausa en 4000
5 bajo
6 bajo
7 bajo
Goto loop1
pressurev1v2: ' ch +
High 1 ' v1 brazo hacia abajo
High 2 ' v2
hacer una pausa en 800
baja 1
pausa de 1500
2 bajo
1 alta
2 alta
hacer una pausa en 700
baja 1
2 bajo
pausa de 60
alto 4 ' v7
hacer una pausa en 1440
4 bajo
pausa de 20
' goto loop1
pausa de 1600 ' cierra pinza
High 1 ' v1 brazo
High 2 ' v2
hacer una pausa en 2200
baja 1
2 bajo
' brazo izquierdo
High 5 ' v6
hacer una pausa en 1200
5 bajo
' el brazo hacia abajo
High 1 ' v1
High 2 ' v2
hacer una pausa en 800
baja 1
2 bajo
Goto loop1
vacv1v2: ' vac ch -
PAUSE 3000
High 1 ' válvulas de vac v1
High 2 ' v2
alto 6 ' v5
High 5 ' v6
alto 3
7 alta
hacer una pausa en 3500
baja 1
2 bajo
6 bajo
5 bajo
3 bajo
7 bajo
pausa de 20
alto 4 ' v7
PAUSE 3000
4 bajo
High 1 ' lanzamiento en línea vac
2 alta
alto 4
6 alta
5 alta
PAUSE 2000
baja 1
2 bajo
4 bajo
6 bajo
5 bajo
alto 3
7 alta
PAUSE 1000
3 bajo
7 bajo
Goto loop1
18 x neurona activador dos manos
baja 1
2 bajo
3 bajo
7 bajo
6 bajo
5 bajo
4 bajo
Loop1:
' serin 0, t4800, b1
serin 0, t4800, (1), b1 ' recibe 1 byte después de recibir 1
pausa de 30
' debug b1
«válvulas de 8-14
Si b1 = 1 then act13
Si b1 = 2 entonces act13
Si b1 = 3 entonces act13
Si b1 = 4 entonces act13
Si b1 = 5 entonces act13
Si b1 = 6 entonces act13
Si b1 = 7 entonces act13
Si b1 = 8 entonces act8
Si b1 = 9 entonces act9
Si b1 = 10 entonces act10
Si b1 = 11 entonces act11
Si b1 = 12 entonces act12
Si b1 = 13 entonces act13
Si b1 = 14 entonces act14
Si b1 = 16 entonces vid1
Si b1 = 17 entonces vid2
Si b1 = 116 entonces closehand
Si b1 = 21 then powervac5
Goto loop1
VID1:
pausa 2850
bajo 5 ' vac
7 bajo
6 alta
PAUSE 2000
7 alta
6 bajo
5 alta
5 alta
1 alta
2 alta
hacer una pausa en 4000
baja 1
hacer una pausa en 4000
2 bajo
5 bajo
PAUSE 2000
pausa 4000 ' midpause
' abrir pulgar índice
5 bajo
baja 7 ' toma de aspiradora apagado
6 alta
1 alta
hacer una pausa en 4000
7 alta
6 bajo
baja 1
5 alta
Goto loop1
VID2:
2 alta
5 alta
hacer una pausa en 900
1 alta
PAUSE 1000
baja 1
2 bajo
5 bajo
Goto loop1
PAUSE 2000
alto 7 ' bajo vac
6 alta
5 bajo
PAUSE 1000
6 bajo
5 alta
Goto loop1
act8:
1 alta
5 alta
pausa de 20
baja 1
5 bajo
Goto loop1
act9:
2 alta
5 alta
pausa de 20
2 bajo
5 bajo
Goto loop1
ACT10:
alto 3
5 alta
pausa de 20
3 bajo
5 bajo
Goto loop1
act11: ' consumo de v11
7 alta
Goto loop1
act12:
6 alta
5 alta
pausa de 20
6 bajo
5 bajo
Goto loop1
act13:
5 alta
pausa de 20
5 bajo
Goto loop1
act14: ' dejar de
alto 4
PAUSE 5000
4 bajo
Goto loop1
closehand:
5 alta
1 alta
PAUSE 2000
5 bajo
baja 1
Goto loop1
powervac5: ' vac potencia 5 seg
baja 7 ' hasta la entrada del brazo de
5 bajo
6 alta
1 alta
2 alta
alto 3
hacer una pausa en 8000
7 alta
6 bajo
baja 1
2 bajo
3 bajo
5 alta
Goto loop1
pressurev1v2: ' ch +
High 5 ' brazo hacia abajo
pausa 3160
High 1 ' v8
hacer una pausa en 1200
baja 1
pausa de 200
' goto loop1
vacv1v2: ' ch -
baja 7 ' ingesta de
alto 6 ' vac en
High 2 ' abrir pinza
pausa de 1500
alto 3 ' agarre
pausa de 1500
High 1 ' v8
pausa 3520
PAUSE 3000
6 bajo
7 alta
baja 1