miércoles, 1 de junio de 2016

Robot Vigilante-Expulsa intrusos

Este proyecto consiste en un artilugio que gira y detecta cualquier objeto que entra en su perímetro, expulsándolo al ser detectado, para ello consta de:


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.


Robot vigilante
Sensor infrarrojos SHARP
1 válvula neumática 3/2 (Electrica-resorte) que permite mediante su activación eléctrica a través de la placa picaxe, poder dar paso a un chorro de aire a 5 bares de presíón proporcionado por un compresor que permite expulsar la caja situada en la zona de vigilancia.


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é picaxe
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:




conexion sensor y relé placa picaxe


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