1 Placa picaxe CHI 035
Placa Picaxe CHI035 |
1 Servomotor para realizar el giro continuo en toda la zona que debemos vigilar.
Servomotor |
1 Sensor de infrarrojos analógico montado sobre una base acoplada al servo, que es capaz de determinar la presencia o no de un objeto a partir de los valores que arroja según la distancia del objeto al sensor.
Sensor infrarrojos SHARP |
Electroválvula neumática 3/2 |
Debido a que la electroválvula necesita un voltaje de 12v para sua activación y la placa picaxe proporciona en sus salidas 5v, es necesario incorporar un relé que se activa a través de la placa Picaxe y así con una pila a 12v o una fuente de alimentación podemos alimentar a dicha válvula.
Relé |
Así los cables del lado derecho son el positivo, negativo y salida que van a la placa picaxe. Los cables de la izquierda son los que permiten cerrar el circuito que alimentará a la electroválvula con la pila de 12v.
1 compresor para proporcionar el aire a presión (sobre 5Kp/cm2).
Compresor de pistón |
Por último, la base sobre la que va montada todo el sistema.
Plataforma de vigilancia |
El esquema de montaje sobre la placa picaxe es el siguiente:
Este es el vídeo demostrativo del funcionamiento del proyecto:
Estos son los componentes del grupo que ha realizado el proyecto.
Sergio, Joel y Víctor |
Código del programa
'Programa:
'Realizar un sistema que permita vigilar una superficie
'marcada con forma de media luna e impida el acceso a esta.
'Haviendo dividido la zona de vigilancia en 14 zonas deberemos
'mover el sensor de ultrasonidos con un servomotor hacia cada una de las zonas,
'en poco tiempo por zona, para que pueda detectar a cualquier intruso en cualquier parte.
'Declaracion de entradas y salidas:
'sensor_infrarrojos= C.0
'valvula_electroneumatica= B.0
'pulsador= pin5
'servo= B.7
symbol valvula_electroneumatica= B.0
symbol sensor_infrarojos=C.0
symbol pulsador= pin5
'y el servo en la B.7
inicio:
if pulsador= 1 then goto comenzar
goto inicio
comenzar:
position1:
servo B.7, 75
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position2
position2:
servo B.7, 80
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position3
position3:
servo B.7, 85
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position4
position4:
servo B.7, 90
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position5
position5:
servo B.7, 95
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position6
position6:
servo B.7, 100
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position7
position7:
servo B.7, 105
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position8
position8:
servo B.7, 110
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position9
position9:
servo B.7, 115
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position10
position10:
servo B.7, 120
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position11
position11:
servo B.7, 125
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position12
position12:
servo B.7, 130
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position13
position13:
servo B.7, 135
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position14
position14:
servo B.7, 140
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position15
position15:
servo B.7, 145
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position16
position16:
servo B.7, 150
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position17
position17:
servo B.7, 155
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position18
position18:
servo B.7, 160
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position19
position19:
servo B.7, 165
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position20
position20:
servo B.7, 170
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position21
position21:
servo B.7, 175
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position22
position22:
servo B.7, 180
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta21
'Regresa al inicio
vuelta21:
servo B.7, 180
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta20
vuelta20:
servo B.7, 175
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta19
vuelta19:
servo B.7, 170
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta18
vuelta18:
servo B.7, 165
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta17
vuelta17:
servo B.7, 160
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta16
vuelta16:
servo B.7, 155
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta15
vuelta15:
servo B.7, 150
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta14
vuelta14:
servo B.7, 145
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta13
vuelta13:
servo B.7, 140
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta12
vuelta12:
servo B.7, 135
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta11
vuelta11:
servo B.7, 130
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta10
vuelta10:
servo B.7, 125
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta9
vuelta9:
servo B.7, 120
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta8
vuelta8:
servo B.7, 115
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta7
vuelta7:
servo B.7, 110
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta6
vuelta6:
servo B.7, 105
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta5
vuelta5:
servo B.7, 100
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta4
vuelta4:
servo B.7, 95
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta3
vuelta3:
servo B.7, 90
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta2
vuelta2:
servo B.7, 85
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta1
vuelta1:
servo B.7, 80
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto vuelta0
vuelta0:
servo B.7, 75
readadc sensor_infrarojos, b0
debug b0
pause 400
if pulsador= 0 then goto inicio
if b0<27 and b0>23 then gosub chorro_de_aire
goto position1
chorro_de_aire:
high valvula_electroneumatica
pause 500
low valvula_electroneumatica
pause 500
return
No hay comentarios:
Publicar un comentario
En este espacio puedes comentar la entrada publicada o hacer preguntas o sugerencias