DISEÑO DE UN ARMERILLO ELECTRÓNICO PARA EL FLUJO DE ENTRADA Y SALIDA DE...
Transcript of DISEÑO DE UN ARMERILLO ELECTRÓNICO PARA EL FLUJO DE ENTRADA Y SALIDA DE...
1
DISEÑO DE UN ARMERILLO ELECTRÓNICO PARA EL FLUJO DE ENTRADA Y SALIDA DE FUSILES
OSCAR FERNANDO AMARILES SANCHEZ
JUAN ARMANDO RODRÍGUEZ RINCÓN
JUAN CARLOS ROJAS SOLER
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA ELECTRÓNICA
BOGOTA D.C.
2007
2
DISEÑO DE UN ARMERILLO ELECTRÓNICO PARA EL FLUJO DE ENTRADA Y SALIDA DE FUSILES
OSCAR FERNANDO AMARILES SANCHEZ
(20021107051)
JUAN ARMANDO RODRÍGUEZ RINCÓN
(20023107013)
JUAN CARLOS ROJAS SOLER
(20023107019)
ASESOR:
Ing. ANTONIO ALBARRACÍN
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA ELECTRÓNICA
BOGOTA D.C.
2007
3
Nota de aceptación
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
___________________________________
Firma del presidente del jurado
___________________________________
Firma del jurado
___________________________________
Firma del jurado
Bogotá, Julio del 2007.
4
AGRADECIMIENTOS
Gracias al Batallón de Comunicaciones y la Escuela de Comunicaciones del Ejército
Nacional por haber facilitado sus instalaciones y equipos para el desarrollo del proyecto.
Al ingeniero Antonio Albarracín por su acompañamiento durante el desarrollo del
proyecto, a la Doctora Patricia Carreño por sus sugerencias metodológicas para el
mejoramiento del documento final, al ingeniero Arles Prieto por su gran aporte
intelectual y su acompañamiento durante la practica, a la universidad por facilitarnos
sus instalaciones en los laboratorios y por su apoyo incondicional.
Gracias a todas aquellas personas que por sus aportes hicieron realidad este proyecto.
Los Autores.
5
TABLA DE CONTENIDO INTRODUCCIÓN .............................................................................................................................11
1. PLANTEAMIENTO DEL PROBLEMA .....................................................................................12
1.1 ANTECEDENTES. .................................................................................................................12
1.2 DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA .....................................................12
1.3 JUSTIFICACIÓN ....................................................................................................................13
1.4 OBJETIVOS ............................................................................................................................13
1.4.1 Objetivo general ........................................................................................................................13
1.4.2 Objetivos específicos ................................................................................................................13
1.5 ALCANCES Y LIMITACIONES DEL PROBLEMA. ..........................................................14
1.5.1 Alcances ...................................................................................................................................14
1.5.2 Limitaciones ............................................................................................................................14
2. MARCO DE REFERENCIA ........................................................................................................15
2.1 MARCO CONCEPTUAL. ..........................................................................................................15
2.2 MARCO TEÓRICO. ....................................................................................................................16
2.2.1 Sensor. .......................................................................................................................................16
2.2.2 Fototransistor ............................................................................................................................17
2.2.3 Amplificador Operacional.........................................................................................................18
2.2.4. Pulsador....................................................................................................................................19
2.2.5. Diodo infrarrojo. ......................................................................................................................20
2.2.6 Compuerta AND ......................................................................................................................20
2.2.7 Control. ....................................................................................................................................21
2.2.8 LCD ..........................................................................................................................................26
2.2.9 Teclado Matricial ......................................................................................................................29
2.2.10 USART: .................................................................................................................................30
2.2.11 Sistema de comunicación ........................................................................................................37
2.2.12 Display de 7 segmentos...........................................................................................................40
3. METODOLOGÍA .........................................................................................................................42
3.1 ENFOQUE DE LA INVESTIGACIÓN ......................................................................................42
3.2 LÍNEA DE INVESTIGACIÓN ...................................................................................................42
6
3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN ...........................................................42
3.4 POBLACIÓN Y MUESTRA .......................................................................................................42
3.5 HIPÓTESIS..................................................................................................................................43
3.6 VARIABLES ...............................................................................................................................43
3.6.1 Variables independientes ..........................................................................................................43
3.6.2 Variables dependientes .............................................................................................................43
4. DESARROLLO INGENIERIL .....................................................................................................44
4.1 Diagrama de bloques. ...................................................................................................................44
5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS ................................................................60
6. CONCLUSIONES ........................................................................................................................64
7. RECOMENDACIONES ...............................................................................................................65
BIBLIOGRAFÍA ...............................................................................................................................66
WEBGRAFÍA ....................................................................................................................................67
8. ANEXOS………………………………………………………………………………..68
7
TABLA DE FIGURAS Figura 1. Diagrama de un Amplificador Operacional. ......................................................... 18
Figura 2. Diagrama del comparador.................................................................................... 19
Figura 3. Diagrama de pines de microcontrolador ............................................................... 22
Figura 4. Pantalla LCD de 2X16 .......................................................................................... 26
Figura 5. Diagrama del teclado matricial ............................................................................. 29
Figura 6. Comunicación de la USART, Modo Asíncrono ................................................... 31
Figura 7. Registro de Transmisión de datos ......................................................................... 34
Figura 8. Registro de Recepción de datos. ........................................................................... 36
Figura 9. Sistema de Comunicaciones ................................................................................. 37
Figura 10. Diagrama de bloques del emisor......................................................................... 38
Figura 11. Diagrama de bloques del receptor ...................................................................... 39
Figura 12. Display 7 segmentos. .......................................................................................... 40
Figura 13. Display ánodo común ......................................................................................... 41
Figura 14. Display cátodo común. ....................................................................................... 41
Figura 15 . Diagrama de Bloques del sistema propuesto ..................................................... 44
Figura 16. Diagrama Electrónico del sistema de sensores. .................................................. 45
Figura 17 . Central del Módulo ............................................................................................ 48
Figura 18. Sistema de alarma. .............................................................................................. 50
Figura 19. Módulos de trasmisión y recepción. ................................................................... 51
Figura 20. Registro del flujo de fusiles. ............................................................................... 53
Figura 21. Software Fusiles.................................................................................................. 54
Figura 22. Circuito esquemático de la central de registro. ................................................... 55
Figura 23. Fuente de alimentación. ...................................................................................... 57
Figura 24. Diagrama de Flujo del sistema. .......................................................................... 58
Figura 25. Sistema antiguo de armerillos. ............................................................................ 62
Figura 26. Módulo final ....................................................................................................... 63
8
LISTA DE TABLAS
Tabla 1. Tabla de verdad de la compuerta AND .................................................................. 21
Tabla 2. Características del Pic 16f877 ................................................................................ 24
Tabla 3. baudios modo asíncrono con (BRGH = 1). ............................................................ 33
Tabla 4. Denominación de las bandas de RF ....................................................................... 38
9
GLOSARIO
-ARMERILLO: modulo que utilizan las fuerzas militares para el almacenamiento de las
armas dentro de las instalaciones de los batallones.
-AUTOMATIZAR: Aplicar procedimientos automáticos a un aparato, proceso o sistema
en la industria.
-CONTROL: proceso que se utiliza para manejar y controlar cierto proceso industrial.
-CONVERSOR ANÁLOGO DIGITAL: es un dispositivo electrónico capaz de convertir
un voltaje determinado en un valor binario, en otras palabras, este se encarga de
transformar señales análogas a digitales (0's y 1's).
-DRAGONIANTE: Escalafón que adquiere un soldado por su alto sentido de
responsabilidad y pertenencia con las FFMM.
-ELECTRÓNICA : Es una ciencia aplicada que estudia y emplea sistemas cuyo
funcionamiento se basa en la conducción y el control del flujo de los electrones u otras
partículas cargadas eléctricamente , desde las válvulas termoiónicas hasta los
semiconductores.
-FOTORRESISTENCIA: es un componente electrónico cuya resistencia disminuye con
el aumento de intensidad de luz incidente. Puede también ser llamado fotorresistor,
fotoconductor, célula fotoeléctrica o resistor dependiente de la luz.
-FOTOTRANSISTOR: Es un transistor sensible a la luz, normalmente a los infrarrojos.
La luz incide sobre la región de base, generando portadores en ella. Esta carga de base lleva
el transistor al estado de conducción. El fototransistor es más sensible que el fotodiodo por
el efecto de ganancia propio del transistor.
10
-GRUPOS INSURGENTES: milicias urbanas que van en contra de las políticas de un
gobierno.
-LCD: (pantalla de cristal liquido): dispositivo de cristal liquido que se utiliza para
visualizar cierta información mandada desde un integrado o un PC.
-MICROCONTROLADOR: Un microcontrolador es un circuito integrado o chip que
incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y
Unidades de E/S, es decir, se trata de un computador completo en un solo circuito
integrado. Aunque sus prestaciones son limitadas, además de dicha integración, su
característica principal es su alto nivel de especialización. Aunque los hay del tamaño de un
sello de correos, lo normal es que sean incluso más pequeños, ya que, lógicamente, forman
parte del dispositivo que controlan.
-MONITOREO: supervisar el funcionamiento de un proceso industrial.
-RF: El término radiofrecuencia, también denominado espectro de radiofrecuencia o RF, se
aplica a la porción del espectro electromagnético en el que se pueden generar ondas
electromagnéticas aplicando corriente alterna a una antena.
-SENSOR: Dispositivo formado por células sensibles que detecta variaciones en una
magnitud física y las convierte en señales útiles para un sistema de medida o control.
-SENSORES ÓPTICOS: Un sensor óptico se basa en el aprovechamiento de la
interacción entre la luz y la materia para determinar las propiedades de ésta.
-SWITCH: interruptor electrónico con función on off en un circuito.
-USART: (modulo de transmisión y recepción asíncrona y sincrona): este modulo se utiliza
en los microcontroladores pic para la TX y RX en forma serial.
11
INTRODUCCIÓN Hoy en día la seguridad se ha convertido en una necesidad para el hombre y sus bienes, por
ello se ha buscado con la electrónica tener un control de acceso seguro y poderlo
monitorear remotamente por medio de las comunicaciones; ya que estas se constituyen
como la llave del futuro, su utilización abre al hombre muchos horizontes para satisfacer
sus necesidades.
Este sistema se fundamenta en la electrónica, la matemática y la física, que combinados
con procedimientos automáticos permiten dar solución a un problema del vivir diario de las
FFMM. Está enfocado a la seguridad y control, basándose en el área de los
microcontroladores y comunicaciones.
Se efectuó un estudio inicial en las instalaciones de la Escuela De Comunicaciones del
Ejército Nacional, sede Facatativa. En el análisis colaboraron el Ingeniero Electrónico
Arles Prieto y El Sargento Viceprimero Jesús Ángel Morales Nova, quienes tienen a su
cargo la sección de investigaciones.
Este proyecto consiste en un sistema de seguridad para los fusiles del Ejército Nacional de
Colombia el cual consta de tres tipos de sensores encargados de indicar la permanencia de
las armas en el módulo, un teclado matricial, que permite introducir una clave y número de
armas entrantes o saliente, un visualizador LCD que muestra las instrucciones a seguir,
visualizadores siete segmentos que identifican el posicionamiento del arma, un sistema de
alarma interna que permite alertar al dragoniante de un posible robo o extracción no
autorizada y una alarma RF que alerta a la central.
De lo anterior se concibió el proyecto de inspeccionar electrónicamente el flujo de fusiles
en la armería de la institución. Fue la alternativa más acorde, en la mencionada armería,
frente a las opciones de código de barras o grabación por video.
12
1. PLANTEAMIENTO DEL PROBLEMA
1.1 ANTECEDENTES. Este proyecto está fundamentado en un estudio realizado por integrantes del Ejército
Nacional, el cual hace referencia la pérdida de armas y la falta de automatización de los
armerillos ya que el control que se realiza actualmente de forma manual.
El sistema a realizar está basado en la seguridad por clave implementada en cajeros y en
cerraduras electrónicas incorporando un sistema de alarma en caso de detección de intruso.
En la actualidad el Ejército Nacional de Colombia cuenta con un armerillo manual en los
dormitorios el cual contiene fusiles de cada uno de los soldados controlado por un
dragoniante quien tiene la responsabilidad de autorizar y reportar el ingreso y estadía de las
armas.
Estos sistemas se encuentran actualmente implementados en la fuerza de los diferentes
países como Alemania, USA y el Reino Unido, pero esta información es muy clasificada ya
que no todo el mundo tiene acceso a ella por ser material del estado.
1.2 DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA La vulnerabilidad que se ha presentado en el acceso a los fusiles del ejército en los
dormitorios es un problema para la fuerza ya que en la actualidad las FFMM no cuentan
con un control automatizado y seguro para manejar la entrada y salida de las armas de los
armerillos.
El no corregir este problema de seguridad, puede ocasionar que en cualquier momento el
ejército se vea en situaciones vulnerable al hurto de material privado por parte de los
grupos insurgentes.
13
Por este motivo surge la pregunta ¿Cómo crear un sistema electrónico donde supervise la
entrada y salida de armas en los camerinos del Ejército?
1.3 JUSTIFICACIÓN De acuerdo con las experiencias vividas que narran la pérdida constante de fusiles por el
personal del ejército, se ha observado la necesidad de implementar tecnología de punta para
el control y salida de armas de los armerillos que se encuentran en cada uno de los
dormitorios. Debido al desarrollo tecnológico que tiene el Ejército Nacional, surgió la idea
de innovar dando un aspecto modernizado y agradable a la población que se encuentra
vinculada a la institución.
Sistemas como éste son factibles de implementar en unas instalaciones con diseños
adecuados, teniendo excelentes recursos de materiales para la nueva tecnología ya que
actualmente esta institución cuenta con principios avanzados en el área tecnológica.
1.4 OBJETIVOS
1.4.1 Objetivo general
Diseñar un Armerillo electrónico para el flujo de fusiles que se encuentran en los
dormitorios del Ejército Nacional.
1.4.2 Objetivos específicos
• Analizar las condiciones actuales de los armerillos en los dormitorios.
• Determinar los requerimientos a través del levantamiento de información secundaria
para buscar una alternativa de solución para el acceso de los armerillos.
• Aplicar los sensores apropiados para la ausencia o presencia de los fusiles
• Diseñar un sistema de registro del flujo de fusiles.
14
• Implementar el sistema de acuerdo con las necesidades requeridas por el Ejército
Nacional para garantizar la seguridad y acceso a los armerillos.
• Elaborar un manual de manejo y mantenimiento del Armerillo Electrónico.
• Construir un sistema de transmisión y recepción de datos por RF.
1.5 ALCANCES Y LIMITACIONES DEL PROBLEMA.
1.5.1 Alcances Este módulo electrónico detecta hasta 10 fusiles, por medio de sensores ópticos y de pulso
instalados estratégicamente, los cuales permiten saber cuántas armas y en qué posición se
encuentran. Además permite el acceso a personal autorizado por medio de una clave de
cuatro dígitos. Autoriza el número de armas que entran y salen y lleva un registro en tiempo
real a una central, en caso de hurto, activa una alarma sonora y visual que dan aviso a la
central.
Este módulo solo será capaz de detectar fusiles ya que está hecho a la medida de ellos.
1.5.2 Limitaciones
• Este módulo no discrimina cuál fusil se perdió, ni permite la identificación de un
soldado en particular.
• Este dispositivo no aplica para otro tipo de armas.
• Sólo controla módulos de hasta 10 fusiles cada uno.
15
2. MARCO DE REFERENCIA
2.1 MARCO CONCEPTUAL. Para mejorar el armerillo electrónico de las Fuerzas Militares se tendrá en cuenta el control
de diferentes sensores como los ópticos, encargados de identificar una posición del fusil,
este sensor contiene un emisor infrarrojo para evitar que el haz lumínico sea percibido por
el ojo humano y un fototransistor que actúa como un receptor capaz de captar esta
información, para el buen funcionamiento de este sensor se adapto una etapa de
comparación de la información de voltaje en el momento que se encuentra el fusil o no se
encuentra nada. Esta comparación se realiza con el integrado operacional lm 324.
Además se encuentra un sensor láser que atraviesa el gatillo de cada uno de los fusiles, con
una fotorresistencia que opera como receptor, este sensor envía su información
directamente al sistema de alarma a diferencia del los otros sensores.
Y sensores de pulso conformados por switch (push-push) que al ser presionados detectan
la posición del fusil. Estos sensores son los encargados de la seguridad de los fuciles que
se encuentran en el modulo ya que con los valores se reciban de estos se realiza un barrido
de voltaje para la identificación del fusil.
Los sensores infrarrojo y de pulso contienen una salida de voltaje que es enviada a una
etapa de multiplicación conformada por una compuesta AND de dos entradas. Al realizar
el producto de estos dos datos se obtiene una sola salida que es enviada al sistema de
control en este caso microcontrolador.
El sistema de control realizado por un microcontrolador es el encargado de comparar la
información enviada por la etapa de multiplicación detección de las armas en el módulo.
16
Además este sistema de control tiene la capacidad de realizar diferentes tipos de tareas,
dependiendo su programación que se realizada en Assembler.
El microcontrolador tiene la capacidad de enviar información a un sistema de
visualización LCD encargado de guiar al usuario por medio de caracteres alfanuméricos
para ingresar al sistema, el cual al final pedirá una clave que será digitada por el encargado
de la seguridad del armerillo mediante un teclado matricial.
Este sistema cuenta con una serie de alarma interna sonora, que alerta al vigilante del
dormitorio, y una alarma RF que su función es alertar al encargado de la central, donde se
encuentra registrado la entrada y salida de los fusiles.
2.2 MARCO TEÓRICO.
2.2.1 Sensor.
Es un dispositivo que detecta, capta o percibe manifestaciones de cualidades o fenómenos
físicos, como la energía, velocidad, aceleración, tamaño, cantidad, temperatura, posición,
etc. Para el proyecto se escogió un sensor óptico diodo láser y infrarrojo, son dispositivos
semiconductores similares a los diodos LED pero que bajo las condiciones adecuadas emite
luz láser e infrarroja.1
Cuando un diodo convencional o LED se polariza en directa, los huecos de la zona p se
mueven hacia la zona n y los electrones de la zona n hacia la zona p; ambos
desplazamientos de cargas constituyen la corriente que circula por el diodo.
Si los electrones y huecos están en la misma región, pueden recombinarse cayendo el
electrón al hueco y emitiendo un fotón con la energía correspondiente a la banda prohibida.
Esta emisión espontánea se produce en todos los diodos, pero sólo es visible en los diodos
LED que tienen una disposición constructiva especial con el propósito de evitar que la
radiación sea reabsorbida por el material circundante, y una energía de la banda prohibida 1 CRESUS SOLE, Antonio. Instrumentación industrial. 7ª Edición. Editorial: Afaomega. Marcombo, México 2006 pagina 165
17
coincidente con el espectro visible; en el resto de diodos, la energía se disipa en forma de
radiación infrarroja.
En condiciones apropiadas, el electrón y el hueco pueden coexistir un breve tiempo, del
orden de milisegundos, antes de recombinarse, de forma que si un fotón con la energía
apropiada pasa por casualidad por allí durante ese periodo, se producirá la emisión
estimulada, es decir, al producirse la recombinación el fotón emitido tendrá igual
frecuencia, polarización y fase que el primer fotón.
En los diodos láser, el cristal semiconductor tiene la forma de una lámina delgada
lográndose así una unión p-n de grandes dimensiones, con las caras exteriores
perfectamente paralelas. Los fotones emitidos en la dirección adecuada se reflejarán
repetidamente en dichas caras estimulando a su vez la emisión de más fotones, hasta que el
diodo comienza a emitir luz láser, que al ser coherente debido a las reflexiones posee una
gran pureza espectral.
2.2.2 Fototransistor
Se llama fototransistor a un transistor sensible a la luz, normalmente a los infrarrojos. La
luz incide sobre la región de base, generando portadores en ella. Esta carga de base lleva el
transistor al estado de conducción. El fototransistor es más sensible que el fotodiodo por el
efecto de ganancia propio del transistor.
En el mercado se encuentran fototransistores tanto con conexión de base como sin ella y
tanto en cápsulas plásticas como metálicas (TO-72, TO-5) provistas de una lente.
Se han utilizado en lectores de cinta y tarjetas perforadas, lápices ópticos, etc. Para
comunicaciones con fibra óptica se prefiere usar detectores con fotodiodos p-i-n. También
se pueden utilizar en la detección de objetos cercanos cuando forman parte de un sensor de
proximidad.
18
Se utilizan ampliamente encapsulados conjuntamente con un LED, formando interruptores
ópticos (opto-switch), que detectan la interrupción del haz de luz por un objeto. Existen en
dos versiones: de transmisión y de reflexión.
2.2.3 Amplificador Operacional2
Un amplificador operacional (A.O., habitualmente llamado op-amp) es un circuito
electrónico (normalmente se presenta como circuito integrado) que tiene dos entradas y una
salida. La salida es la diferencia de las dos entradas multiplicada por un factor (G)
(ganancia): Vout = G·(V+ − V−)
El símbolo de un A.O. se muestra en la figura1:
Figura 1. Diagrama de un Amplificador Operacional.
Fuente. MUHAMMAD H, RASHID. Circuitos microelectrónicos análisis y diseño. Editorial: Internacional Thomson Editores. México, 2000. Pagina 168.
Los terminales son:
• V+: entrada no inversora
• V-: entrada inversora
• VOUT: salida
• VS+: alimentación positiva
Las patillas de alimentación pueden recibir diferentes nombres, por ejemplo en los A.O.
basados en FET VDD y VSS respectivamente. Para los basados en BJT son VCC y VEE.
2 MUHAMMAD H, RASHID. Circuitos microelectrónicos análisis y diseño. Editorial: Internacional Thomson Editores. México, 2000. Pagina 268.
19
Normalmente los pines de alimentación son omitidos en los diagramas eléctricos por
claridad.
De todas las configuraciones del amplificador operacional, la más adecuada al presente
proyecto es la de lazo abierto como comparador.
En el circuito que se montó para el caso, consistía en un comparador, que efectúa entre un
voltaje de referencia y el voltaje obtenido por el sensor óptico para lograr una salida
efectiva, como se muestra en la figura 2.
Figura 2. Diagrama del comparador
Fuente. MUHAMMAD H, RASHID. Circuitos microelectrónicos análisis y diseño. Editorial: Internacional Thomson Editores. México, 2000. Pagina 268.
• Esta es una aplicación sin la realimentación. Compara entre las dos entradas y saca
una salida en función de qué entrada sea mayor. Se puede usar para adaptar niveles
lógicos.
.
2.2.4. Pulsador
Es un dispositivo utilizado para activar alguna función. Los pulsadores son de diversa
forma y tamaño y se encuentran en todo tipo de dispositivos, aunque principalmente en
aparatos eléctricos o electrónicos. Los pulsadores son por lo general activados al ser
tanteados, normalmente por una fuerza hacia el interior del mismo.
Entre el mismo sistema de sensores se utilizó el pulsador SW083, que es un dispositivo
diseñado para activar alguna función para verificar la posición.
20
2.2.5. Diodo infrarrojo. El diodo Infrarrojo es un dispositivo que emite un tipo de radiación electromagnética de
mayor longitud de onda que la luz visible, pero menor que la de las microondas.
Consecuentemente, tiene menor frecuencia que la luz visible y mayor que las microondas.
El nombre de infrarrojo, que significa por debajo del rojo, fue observado por primera vez
al dividir la luz solar en diferentes colores por medio de un prisma que separaba la luz en su
espectro de manera que a ambos extremos aparecen visibles las componentes del rojo al
violeta (en ambos extremos). Aunque estas experiencias habían sido realizadas
anteriormente por Isaac Newton, William Herschel observó en el año 1800 que se recibía
radiación debajo del rojo al situar medidores de calor en las diferentes zonas no
visiblemente irradiadas por el espectro.
Su longitud de onda, entre 700 nanómetros y un milímetro, es la siguiente en longitud al
rojo, el color de longitud de onda más larga de la luz visible.
Los infrarrojos se categorizan en:
• infrarrojo cercano (0,8-2,5 µm)
• infrarrojo medio (2,5-50 µm)
• infrarrojo lejano (50-1000 µm)
La materia, por su caracterización energética (véase cuerpo negro) emite radiación. Los
seres vivos, en especial los mamíferos, emiten una gran proporción de esa radiación en la
parte del espectro infrarrojo, asociada por tanto a su calor corporal (no confundir con la
radiación visible debido al reflejo de las fuentes de luz).
2.2.6 Compuerta AND3
Es un dispositivo electrónico que es la expresión física de un operador booleano en la
lógica de conmutación. Cada puerta lógica consiste en una red de dispositivos interruptores 3 Floyd, Tomas. Fundamentos de sistemas digitales. 7ª Edición. Editorial: Pearson Prentice Hall. España 2000 pagina 127.
21
que cumple las condiciones booleanas para el operador particular. Son esencialmente
circuitos de conmutación integrados en un chip.
La compuerta Y, más conocida por su nombre en inglés AND, realiza la función booleana
de producto lógico. Su símbolo es un punto (·), aunque se suele omitir. Así, el producto
lógico de las variables A y B se indica como AB, y se lee A y B o simplemente A por B.
La ecuación característica que describe el comportamiento de la puerta AND es:
Su tabla de verdad es la siguiente:
Tabla 1. Tabla de verdad de la compuerta AND Entrada A
Entrada B
Salida AB
0 0 0 0 1 0 1 0 0 1 1 1
Floyd, Tomas. Fundamentos de sistemas digitales. 7ª Edición. Editorial: Pearson Prentice Hall. España 2000.
Su definición se puede dar, como una compuerta que entrega un 1 lógico sólo si todas las
entradas están a nivel alto 1.
2.2.7 Control. 4
Es la parte del sistema realizada con un microcontrolador de la familia de los PIC 16F8XX,
en este caso con el PIC 16F877 el cual se puede observar en la fig. 3 su diagrama de pines
cuyas características principales son 8kb de memoria Flash interna, 4 puertos de 8 bits,
operación de 0 a 4Mhz, 256 x 8bits en memoria RAM, 9 timer de 16 bits.
Es un circuito integrado de alta escala de integración que incorpora la mayor parte de los
que configura un controlador. 4 ANGULO USATEGUI, José María. Microcontroladores avanzados de PIC. Editorial: Thomson. España 2006 pagina 150.
22
Un microcontrolador dispone normalmente de los siguientes componentes:
• Procesador o UCP (Unidad Central de Proceso).
• Memoria RAM para contener los datos.
• Memoria para el programa tipo ROM/PROM/EPROM.
• Líneas de E/S pasa comunicar con el exterior.
Figura 3. Diagrama de pines de microcontrolador
Fuente USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006 pagina 25 .
Diversos módulos para el control de periféricos (temporizadores, Puertas serie y Paralelo,
CAD: Conversores Analógicos/Digital, CDA: conversores Digital/Analógico, etc.).
Generador de impulsos de reloj que sincroniza el funcionamiento de todo el sistema.
Los productos que para su regulación incorporan un microcontrolador dispone de las
siguientes ventajas:
23
• Aumento de prestaciones: un mayor control sobre un determinado elemento
representa una mejora considerable en el mismo.
• Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número
de elementos disminuye el riesgo de las averías y se precisan menos ajustes.
• Reducción del tamaño en el producto acabado: la integración del microcontrolador
en un chip disminuye el volumen, la mano de obra y los stocks.
• Mayor flexibilidad: las características de control están programadas por lo que su
modificación sólo necesita cambios en el programa de instrucciones.
Los microcontroladores se programan en Assembler y cada microcontrolador varía su
conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al número de
instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC
(reducido) o CISC (complejo).
• Características
Algunas de estas características se muestran a continuación y en la tabla 2 se puede ver
más detalladamente:
• Soporta modo de comunicación serial, posee dos pines para ello.
• Amplia memoria para datos y programa.
• Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH;
este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en
el modelo).
• Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias
para facilitar su manejo.
24
Tabla 2. Características del Pic 16f877
CARACTERÍSTICAS 16F877Frecuencia máxima DX-20MHz
Memoria de programa flash palabra de 14 bits 8KB
Posiciones RAM de datos 368
Posiciones EEPROM de datos 256
Puertos E/S A,B,C,D,E
Número de pines 40
Interrupciones 14
Timers 3
Módulos CCP 2
Comunicaciones Serie MSSP, USART
Comunicaciones paralelo PSP
Líneas de entrada de CAD de 10 bits 8
Juego de instrucciones 35 Instrucciones
Longitud de la instrucción 14 bits
Arquitectura Harvard
CPU Risc
Canales Pwm 2
Pila Harware -
Ejecución En 1 Ciclo Máquina -
Fuente ANGULO USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006 pagina 27
• Descripción de los puertos:
Puerto A:
• Puerto de e/s de 6 pines
• RA0 è RA0 y AN0
• RA1 è RA1 y AN1
• RA2 è RA2, AN2 y Vref-
• RA3 è RA3, AN3 y Vref+
• RA4 è RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo
Timer0)
• RA5 è RA5, AN4 y SS (Selección esclavo para el puerto serie síncrono)
25
Puerto B:
• Puerto e/s 8 pines
• Resistencias pull-up programables
• RB0 è Interrupción externa
• RB4-7 è Interrupción por cambio de flanco
• RB5-RB7 y RB3 è programación y debugger in circuit
Puerto C:
• Puerto e/s de 8 pines
• RC0 è RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del
modulo Timer1).
• RC1-RC2 è PWM/COMP/CAPT
• RC1 è T1OSI (entrada osc timer1)
• RC3-4 è IIC
• RC3-5 è SPI
• RC6-7 è USART
Puerto D:
• Puerto e/s de 8 pines
• Bus de datos en PPS (Puerto paralelo esclavo)
• Puerto E:
• Puerto de e/s de 3 pines
• RE0 è RE0 y AN5 y Read de PPS
• RE1 è RE1 y AN6 y Write de PPS
• RE2 è RE2 y AN7 y CS de PPS
Dispositivos periféricos:
• Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits
26
• Timer1: Temporizador-contador de 16 bits con preescaler que puede incrementarse
en modo sleep de forma externa por un cristal/clock.
• Timer2: Temporizador-contador de 8 bits con preescaler y postescaler.
• Dos módulos de Captura, Comparación, PWM (Modulación de Anchura de
Impulsos).
• Conversor A/D de 1 0 bits.
• Puerto Serie Síncrono Master (MSSP) con SPI e I2C (Master/Slave).
• USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9
bits.
Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines.
2.2.8 LCD 5
Figura 4. Pantalla LCD de 2X16
Fuente Programa Electrónico. Untitled. Isis Profetional. Proteus 6.0
Se trata de un sistema eléctrico (ver figura 4) de presentación de datos formado por 2 capas
conductoras transparentes y en medio un material especial cristalino (cristal líquido) que
tienen la capacidad de orientar la luz a su paso.
Cuando la corriente circula entre los electrodos transparentes con la forma a representar
(por ejemplo, un segmento de un número) el material cristalino se reorienta alterando su
transparencia.
5 HERRERA ZÚÑIGA, Edinson. Sistema de clave RF para acceder a puertas de almacenes. Tesis 2004. Página 64.
27
El material base de un LCD lo constituye el cristal líquido, el cual exhibe un
comportamiento similar al de los líquidos y unas propiedades físicas anisotrópicas similares
a las de los sólidos cristalinos. Las moléculas de cristal líquido poseen una forma alargada y
son más o menos paralelas entre sí en la fase cristalina. Según la disposición molecular y su
ordenamiento, se clasifican en tres tipos: nemáticos, esmécticos y colestéricos. La mayoría
de cristales responden con facilidad a los campos eléctricos, exhibiendo distintas
propiedades ópticas en presencia o ausencia del campo. El tipo más común de visualizador
LCD es el denominado nemático de torsión, término que indica que sus moléculas en su
estado desactivado presentan una disposición en espiral. La polarización o no de la luz que
circula por el interior de la estructura, mediante la aplicación o no de un campo eléctrico
exterior, permite la activación de una serie de segmentos transparentes, los cuales rodean al
cristal líquido. Según sus características ópticas, pueden también clasificarse como:
reflectivos, transmisivos y transreflectivos.
Las pantallas LCD se encuentran en multitud de dispositivos industriales y de consumo:
máquinas expendedoras, electrodomésticos, equipos de telecomunicaciones, computadoras,
etc. Todos estos dispositivos utilizan pantallas fabricadas por terceros de una manera más o
menos estandarizada. Cada LCD se compone de una pequeña placa integrada que consta
de:
• La propia pantalla LCD.
• Un microchip controlador.
• Una pequeña memoria que contiene una tabla de caracteres.
• Un interfaz de contactos eléctricos, para conexión externa.
• Opcionalmente, una luz trasera para iluminar la pantalla.
El controlador simplifica el uso del LCD proporcionando una serie de funciones básicas
que se invocan mediante el interfaz eléctrico, destacando:
• La escritura de caracteres en la pantalla.
• El posicionado de un cursor parpadeante, si se desea.
28
• El desplazamiento horizontal de los caracteres de la pantalla (scrolling).
La memoria implementa un mapa de bits para cada carácter de un juego de caracteres, es
decir, cada octeto de esta memoria describe los puntitos o pixels que deben iluminarse para
representar un carácter en la pantalla. Generalmente, se pueden definir caracteres a medida
modificando el contenido de esta memoria. Así, es posible mostrar símbolos que no están
originalmente contemplados en el juego de caracteres.
El interfaz de contactos eléctricos suele ser de tipo paralelo, donde varias señales eléctricas
simultáneas indican la función que debe ejecutar el controlador junto con sus parámetros.
Por tanto, se requiere cierta sincronización entre estas señales eléctricas. La luz trasera
facilita la lectura de la pantalla LCD en cualquier condición de iluminación ambiental.
Existen dos tipos de pantallas LCD en el mercado: pantallas de texto y pantallas gráficas.
Para este proyecto se empleará la pantalla de texto ya que para este fin no se necesitan
gráfico.
Una pantalla LCD está formada por 2 filtros polarizados colocados perpendicularmente de
manera que al aplicar una corriente eléctrica al segundo de ellos, se dejará pasar o no la luz
que ha atravesado el primero de ellos. Para conseguir el color es necesario aplicar tres
filtros más para cada uno de los colores básicos rojo, verde y azul y para la reproducción de
varias tonalidades de color se deben aplicar diferentes niveles de brillo intermedios entre
luz y no luz lo, cual consigue con variaciones en el voltaje que se aplicaba los filtros.
LCD de texto: Los LCD de texto son los más baratos y simples de utilizar. Solamente
permiten visualizar mensajes cortos de texto. Existen algunos modelos estandarizados en la
industria, en función de su tamaño medido en número de líneas y columnas de texto.
Existen modelos de una, dos y cuatro filas únicamente. El número de columnas típico es de
ocho, dieciséis, veinte y cuarenta caracteres.
29
El controlador Hitachi HD44780 se ha convertido en un estándar de industria cuyas
especificaciones funcionales son imitadas por la mayoría de los fabricantes. Este
controlador cuenta con los siguientes interfaces eléctricos:
• D0-D7: ocho señales eléctricas que componen un bus de datos.
• R/W: una señal que indica si se desea leer o escribir en la pantalla (generalmente
solamente se escribe).
• RS: una señal que indica si los datos presentes en D0-D7 corresponden bien a una
instrucción, bien a sus parámetros.
• E: una señal para activar o desactivar la pantalla.
• V0: señal eléctrica para determinar el contraste de la pantalla. Generalmente en el
rango de cero a cinco voltios. Cuando el voltaje es de cero voltios se obtienen los
puntos más oscuros.
• Vss y Vdd: señales de alimentación. Generalmente a cinco voltios.
2.2.9 Teclado Matricial 6
Figura 5. Diagrama del teclado matricial
Fuente HERRERA ZÚÑIGA, Edinson. Sistema de clave RF para acceder a puertas de almacenes. Tesis 2004. Página 78.
Un teclado de este tipo (ver figura 5) consta de 16 teclas (matriz 4 X 4). Por cada fila y
cada columna de la matriz hay un "cable" que pasa por detrás de las teclas, las cuales están
colocadas en las intersecciones entre filas y columnas. 6 HERRERA ZÚÑIGA, Edinson. Sistema de clave RF para acceder a puertas de almacenes. Tesis 2004. Página 78.
30
Así pues, la columna 1es un "cable" que pasa por debajo del 1, del 4, del 7 y del; la fila 1
pasa debajo de la A, 3, 2 y 1.Filas y columnas no están conectadas entre si.
Cuando se pulsa una tecla se conecta la columna y la fila que pasa por debajo de dicha
tecla. Por ejemplo, si se pulsa el 1 se conecta la columna 1 con fila 1; si se pulsa el 8 se
conecta la columna 2 con fila 3, y así sucesivamente con el resto de las teclas.
Esta forma estratégica de colocar todas las teclas y conexiones permite manejar 16
pulsadores con solo llevar 8 cables.
2.2.10 USART: 7 (Universal synchronous asynchronous receiver transmitter) es uno de los dos puertos series
de los que dispone los PIC16F87X. Este módulo USART es capaz de soportar la
comunicación serie síncrona y asíncrona. De los dos modos de funcionamiento del USART,
la comunicación serie asíncrona es la más utilizada, por ello fue usada en este proyecto. El
PIC incorpora el hardware para comunicarse vía RS-232 con la PC. Para ello, la PC deberá
emular un terminal con el software apropiado. El USART, llamado SCI (Serial
Comunications Interface), puede funcionar como un sistema de comunicación full duplex o
bidireccional asíncrono, adaptándose a multitud de periféricos y dispositivos que
transfieren información de esta forma. También puede trabajar en modo síncrono
unidireccional o half duplex para soportar periféricos como memorias, conversores, etc. Es
decir el USART puede trabajar de tres maneras:
1. ASINCRONA (Full duplex, bidireccional).
2. SINCRONÍA-MAESTRO (Half duplex, unidireccional).
3. SINCRONÍA-ESCLAVO (Half duplex, unidireccional).
La figura 6 muestra un esquema del comportamiento del USART en modo asíncrono. La
transferencia de informaciones realiza sobre dos líneas TX (transmisión) y RX (recepción),
saliendo y entrando los bits por dichas líneas al ritmo de una frecuencia controlada
7 ANGULO USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006. pagina250.
31
internamente por el USART. Las líneas de comunicación son las dos de más peso del
puerto C: RC6/TX/CK y RC7/RX/DT.
En la forma de comunicación serie es común usar la norma RS-232-C, donde cada palabra
de información o dato se envía independientemente de los demás. Suele constar de 8 o 9
bits y van precedidos por un bit de START (bit de inicio) y detrás de ellos se coloca un bit
de STOP (bit de paro), de acuerdo con las normas del formato estándar NRZ (NonReturn-
to-Zero). Los bits se transfieren a una frecuencia fija y normalizada.
Figura 6. Comunicación de la USART, Modo Asíncrono
Fuente Sistemas Digitales de Mando y Control Práctica 6 Puerto Serial Asíncrono
• REGISTRO DE CONFIGURACIÓN DEL HARDWARE TXSTA. Registro de configuración de la transmisión serial.
RCSPA. Registro de configuración de la recepción serial.
SPBRG. Contador Programable digitalmente que configura la velocidad de
transmisión.
32
• GENERADOR DE BAUDIOS En el protocolo asíncrono RS-232-c, la frecuencia en baudios (bits por segundo) a la
que se realiza la transferencia se debe efectuar a un valor normalizado: 330, 600,
1200, 2400, 4800,9600, 19200, 38400, etc. Para generar esta frecuencia, el USART
dispone de un Generador de Frecuencia en Baudios, BRG, cuyo valor es controlado
por el contenido grabado en el registro
• SPBRG. Además del valor X cargado en el registro SPBRG, la frecuencia en baudios del
generador depende del bit BRGH del registro TXSTA<2>. En el caso de que BRGH
= 0 se trabaje en baja velocidad y si BRGH = 1 se trabaja en alta velocidad. Según
este bit se obtendrá el valor de una constante K necesaria en la determinación de la
frecuencia de funcionamiento, para este caso se trabajo en alta velocidad.
Frecuencia en Baudios = FOSC / ( K * (X + 1) ).
X es el valor cargado en el registro SPBRG (valor expresado en decimal y que debe
ser un número entero entre 0 y 255).
Si BRGH = 0, baja velocidad y K = 64.
Si BRGH = 1, baja velocidad y K = 16.
De donde se desprende que:
X = FOSC / Frecuencia / K - 1.
De donde se desprende que:
X = FOSC / Frecuencia / K - 1.
Otra forma de conocer este número es utilizando la tabla 3:
33
Tabla 3. Baudios modo asíncrono con (BRGH = 1).
Fuente ANGULO USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006 pagina 40.
• Transmisión Asíncrona
El dato que se debe transmitir por el USART transmisor se deposita en el registro TXREG
y a continuación se traspasa al registro de desplazamiento TSR, que va sacando los bits
secuencialmente y a la frecuencia establecida. Además, antes de los bits del dato de
información incluye un bit de inicio y después de sacar todos los bits añade un bit de
parada. El USART receptor recibe, uno a uno, los bits, elimina los dos de control y los de
información una vez que han llenado el registro de desplazamiento RSR los traslada
automáticamente al registro RCREG, donde quedan disponibles para su posterior
procesamiento.
Los datos se reciben en serie, bit a bit, por la patita RC7/RX/DT y se van introduciendo
secuencialmente en el registro desplazamiento RSR, que funciona 16 veces más rápida que
la de trabajo.
Cuando un procesador maestro intenta enviar información a uno de los esclavos, primero
envía un byte de dirección que identifica al destinatario. El byte de dirección se identifica
porque el bit RX9D que llega vale 1 estos bit se pueden observar en la figura 7. Si el bit
34
ADDEN = 1 en el esclavo se ignora todos los bytes de datos. Pero si el noveno bit que
recibe vale 1, quiere decir que se trata de una dirección y el esclavo provocará una
interrupción, y se transferirá el contenido del registro RSR al buffer de recepción. Tras la
interrupción, el esclavo deberá examinar la dirección y si coincide con la suya poner
ADDEN = 0 para poder recibir datos del maestro.
Si ADDEN = 1 como los datos son ignorados, el bit de parada no se carga en RSR, por lo
que este hecho no produce interrupción.
Figura 7. Registro de Transmisión de datos
Fuente ANGULO USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006. Página 25
35
• RECEPTOR ASÍNCRONO.
1. La recepción se habilita mediante el bit CREN, (RCTA (4)).Ver figura 8.
2. Los datos entran por el pin RC7/RX/DT, llegan hasta el muestreador y se cargan en
el registro de desplazamiento RSR de forma serie.
3. Al recibir el bit de STOP, el dato contenido en RSR pasa al registro RCREG si está
vacío, y se activa el bit de interrupción RCIF, (PIR1(5)). Habilitada mediante el bit
RCIE (PIE1(5)). (RCIF es de sólo lectura y se desactiva por hardware al leer
RCREG).
4. El registro RCREG admite dos datos a la espera de ser leídos. Formando un FIFO
de dos niveles. Si se reciben tres datos sin que RCREG se lea, el último se pierde.
Se produce un error de sobreescritura y hay que reiniciar el receptor. El bit de sobre
escritura OERR (RCSTA (1)), se desactiva reseteando el receptor. (CREN=0).
5. El error de encuadre FERR, (RCSTA (2)) se produce si el bit de STOP es un cero.
El 9th bit y FERR se cargan a la vez que RCREG, al leer el último dato de RCREG
por lo tanto siempre hay que leer el 9th bit y FERR antes de leer RCREG.
36
Figura 8. Registro de Recepción de datos.
Angulo usategui, José María. Microcontroladores avanzados ds PIC. Editorial: Thomson. España 2006.Página 227.
37
2.2.11 Sistema de comunicación El esquema más general de un sistema de comunicaciones es el de la figura 9.
Figura 9. Sistema de Comunicaciones
Fuente. TOMASI, Wayne. Sistemas de Comunicaciones Electrónicas. Segunda edición. Editorial: Prentice Hall. México 1996. Pagina 5.
g(t) es una señal, magnitud eléctrica que varía en el tiempo de acuerdo con la información,
que se quiere transmitir. Por ejemplo la salida de un micrófono o de un puerto de
ordenador. Se denomina señal en banda base.
Canal es el medio físico que debe atravesar la señal para llegar a su destino. Por ejemplo
cable eléctrico, aire ó fibra óptica.
Cuando se envía g(t) directamente por el canal se habla de transmisión en banda base. En
general no es posible porque g(t) no se propaga por el canal, o porque se quiere compartir el
canal entre varias señales sin que se interfieran (multiplexado).
Así que, lo habitual es poner un emisor que modifica g(t) para adaptarla al canal (mejorar
su propagación) y un receptor al otro extremo del canal para volver a recuperar la
información contenida en g(t).
Cuando el canal es la atmósfera (aire) la propagación se hace en forma de ondas
electromagnéticas de radiofrecuencia (RF). Se habla entonces de sistemas de comunicación
RF. En la Tabla 4 se indican los nombres que reciben estas ondas en función de su
frecuencia.
38
Tabla 4. Denominación de las bandas de RF
Fuente TOMASI, Wayne. Sistemas de Comunicaciones Electrónicas. Segunda edición. Editorial: Prentice Hall. México 1996. Pagina 115.
• Propiedades del emisor RF
El diagrama de bloques del emisor es el de la Fig. 10 Los circuitos auxiliares no están
todos siempre presentes. Los circuitos de control y protección y el sistema de refrigeración
sólo adquieren importancia si la potencia emitida es elevada.
El modulador es el encargado de trasladar en frecuencia la señal g(t), hasta la frecuencia
portadora de RF, ωC. Puede ir incorporado en el sintetizador de frecuencia, en el
preamplificado
o en el amplificador de potencia. En los dos primeros casos se denomina modulación en
bajo nivel y en el tercero de alto nivel.
Figura 10. Diagrama de bloques del emisor
TOMASI, Wayne. Sistemas de Comunicaciones Electrónicas. Segunda edición. Editorial: Prentice Hall. México 1996. Pagina 10.
39
Las características básicas del emisor son las siguientes
• Frecuencia portadora, ωC
• Estabilidad de frecuencia portadora, ∆ωC/ ω
C, generalmente expresada en partes por
millón (p.p.m.)
• Ancho de banda de la señal modulada, B. Centrado alrededor de ωC
• Potencia emitida
• Tipo de modulación empleada
• Potencia máxima permitida de los harmónicos no deseados de la portadora
• Ruido, distorsión, señales espurias, etc…
• Propiedades del receptor RF.
Figura 11. Diagrama de bloques del receptor
TOMASI, Wayne. Sistemas de Comunicaciones Electrónicas. Segunda edición. Editorial: Prentice Hall. México 1996. Pagina 11.
Las características requeridas en el receptor son muy diferentes del emisor, entre ellas cabe
destacar (ver figura11):
• Sensibilidad: mínima señal a la entrada que permite tener a la salida una relación
señal/ruido predeterminada (generalmente > 20 dB)
• Selectividad: capacidad de separar los canales adyacentes
• Fidelidad: capacidad de reproducir la señal emitida sin distorsión
40
2.2.12 Display de 7 segmentos.
Este tipo de componente se utiliza para la representación de números en muchos
dispositivos electrónicos, y aunque cada vez es más frecuente encontrar LCD´s en estos
equipos (debido a su bajísima demanda de energía), todavía hay muchos que utilizan el
display de 7 segmentos por su simplicidad.
Este elemento se ensambla o arma de manera que se pueda activar cada segmento (diodo
LED) por separado logrando de esta manera combinar los elementos y representar todos los
números en el display (del 0 al 9). El display de 7 segmentos más común es el de color rojo,
por su facilidad de visualización.
Cada elemento del display tiene asignado una letra que identifica su posición en el arreglo
del display. Figura 12.
Figura 12. Display 7 segmentos.
Fuente. www.electran.com
El display ánodo común tiene todos los ánodos de los diodos LED unidos y conectados a la
fuente de alimentación Figura 13. En este caso para activar cualquier elemento hay que
poner el cátodo del elemento a tierra a través de una resistencia para limitar la corriente que
pasa por el elemento.
41
Figura 13. Display ánodo común
Fuente. www.electran.com
El display cátodo común tiene todos los ánodos de los diodos LED unidos y conectados a
tierra Figura 14. Para activar un segmento de estos hay que poner el ánodo del segmento a
encender a Vcc (tensión de la fuente) a través de una resistencia para limitar el paso de la
corriente
Figura 14. Display cátodo común.
Fuente www.electran.com
42
3. METODOLOGÍA
3.1 ENFOQUE DE LA INVESTIGACIÓN
Empírico-analítico, pues cubre la exploración y la implementación para el desarrollo del
proyecto.
3.2 LÍNEA DE INVESTIGACIÓN
• LÍNEA DE INVESTIGACIÓN INSTITUCIONAL: Tecnologías actuales y
Sociedad
• SUB-LÍNEA DE FACULTAD: Sistemas de control y comunicaciones
• CAMPO TEMÁTICO DEL PROGRAMA: Control y automatización.
3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN
• REVISIÓN BIBLIOGRÁFICA: Esta se realizo en las diferentes bibliotecas y libros
que contenga información útil para el desarrollo del proyecto.
• VISITA DE CAMPO: Se visitaron los diferentes batallones donde se tiene
implementado el armerillo no sistematizado para tener una idea más clara y ser
preciso para la realización del proyecto. También se realizo entrevistas al brigadier
encargado de la entrada y salida las armas del respectivo módulo.
3.4 POBLACIÓN Y MUESTRA
Dentro de la fase de análisis del modelo se tiene como objetivo evaluar el estado actual de
los armerillos en el Ejército Nacional mediante la observación y charla con el encargado de
la vigilacía de los fusiles, en donde se proporcionarán datos valiosos como son cuántos
43
fusiles entran, cuántos soldados utilizan este sistema, con los cuales se busca encontrar los
puntos vulnerables de estos armerillos. Con la información extraída de la muestra se
generarán una serie de controles y mecanismos de seguridad que darán un mayor
grado de calidad de la prestación del servicio de los armerillos.
3.5 HIPÓTESIS
Para tener un mayor manejo del acceso de armas se plantea un módulo que tendrá la
capacidad para detectar el número de armas; saber la posición en el sistema, permitir la
entrada y salida del armamento a personal autorizado, registrar en tiempo real a una central
el momento de ingreso y retiro de los fusiles.
Con este sistema el dragoniante tendrá un mejor registro en el préstamo de material y así
como el ingreso a personal autorizado y evitar robos que se pueda presentar en las
instalaciones del ejército. Así mismo incentivar a los usuarios al cuidado de los materiales y
el uso seguro de ellos.
3.6 VARIABLES
3.6.1 Variables independientes
• Número de fusiles en el armerrillo. • Entrada y salida de armas.
3.6.2 Variables dependientes • Registro de salida de armas en tiempo real.
• Ingreso de personal autorizado.
44
4. DESARROLLO INGENIERIL
En este capítulo se muestran como están interconectados cada unos de los elementos que
conforman el sistema del Armerillo Electrónico. Desde el teclado que realiza la conexión
entre el usuario y el sistema, pasando por el visualizador, los sensores, la alarma, el sistema
RF, hasta el microcontrolador que de acuerdo a un programa, interpreta las ordenes dadas y
controla los periféricos tanto de entrada como de salida; incluyendo la fuente de
alimentación que suministra la corriente a todo.
4.1 Diagrama de bloques. Analizando y observando el estado actual de los Armerillos que se encuentran en los
dormitorios del Ejército Nacional, el constante hurto y pérdida de fusiles; se propone este
proyecto (ver figura 15) no sólo para tecnificar el sistema actual, sino para solucionar una
necesidad de los camerinos militares que es, la de brindar seguridad y control en estos sitios
tan importantes.
Figura 15 . Diagrama de Bloques del sistema propuesto
CENTRAL DEL MÓDULO
VISUALIZADOR
TECLADO
ALARMA
SISTEMA DE SENSORES
SISTEMA DE COMUNICACIÓN
RF
CENTRAL DE
REGISTRO DATOS
45
Este sistema está compuesto por los siguientes bloques principales:
Sistemas de sensores: encargado de identificar la presencia y la posición de cada uno de
los fusiles. Este sistema está compuesto por dos tipos de sensores, uno óptico y otro de
pulso. Estos se encuentran ubicados estratégicamente en cada posición, por cada posición
se encuentran un sensor óptico y uno de pulso. En total el sistema requiere 10 sensores
ópticos y 10 de pulso. El sensor óptico está compuesto por un Led emisor de luz infrarroja
y un fototransistor, cuando el fusil se encuentra en alguna de las diez posiciones, este corta
el haz de luz emitido por el led y lo envía al fototransistor detectando que se un fusil en
dicha posición. El sensor de pulso está comprendido por un pulsador, el cual será accionado
en caso que el fusil se encuentre en dicha posición. La información de este sistema de
sensores es transmitida a la central del módulo en donde será procesada. Ver en la figura
16.
Figura 16. Diagrama Electrónico del sistema de sensores.
46
DISEÑO DEL CIRCUITO DE LOS SENSORES
La idea de este circuito es polarizar el fototransistor en la región de corte y saturación para
obtener un 1 o un cero ideal por este motivo se hizo un diseño guiado por los siguientes
valores dados por fabricante.
Iled =15 mA a V= 4.5 V
A partir de esto se calcularon los siguientes valores de resistencia
Ω≈Ω=== 33030015
5.41mA
vivR
Para el cálculo de la resistencia R2 se utilizaron los valores dados por el fabricante del
fototransistor
Isat = 1mA a 5V
Isat=Rc
Vcc Rc= R2
R2= Ω≈== KKmAv
IsatVcc 2.55
15
R3 se asume con un valor de 3K por facilidad del diseño.
Para el voltaje de referencia se asume con un valor de 3 Voltios ya que este es el valor
que sale del fototransistor y con el cual se calcula la otra resistencia.
VRef (R5+R4) = Vcc*R5
R4+R5 = 55* RVref
RVcc+
R4 = 55* RVref
RVcc+
R4 = KK 333*5
−
47
R4= 2KΩ
Funcionamiento del teclado: Para realizar esta pequeña aplicación se utilizará un teclado
matricial de 4 x 4, es decir de cuatro filas y cuatro columnas, que da un total de 16 teclas,
para manipular el teclado mediante el microcontrolador es necesario tener líneas de entrada
y líneas de salida, en este caso las líneas de entrada están conectadas a las filas, y las líneas
de salida están conectadas a las columnas.
Para que el teclado funcione hay que activar las columnas de manera alternada, después de
activar una de las columnas hay que verificar si se ha activado alguna de las filas, el que
una de las filas esté activada implica que una de las teclas ha sido presionada y si una de las
teclas ha sido presionada hay que determinar qué tecla fue, la tecla presionada corresponde
a la intersección de la columna activada y la fila activada, en el caso de que ninguna de las
filas esté activa se asume que ninguna tecla de la columna activada fue presionada, por lo
que se procede a activar una columna diferente.
Para empezar, será necesario utilizar algunos registros de propósito general, el registro
almacenará el valor leído del puerto B, mientras que en otro registro contendrá el valor
que corresponde a la columna que ha sido activada en el teclado, otros registros serán
utilizados por la subrutina de pérdida de tiempo para hacer un pequeño retardo. La idea es
dividir el Puerto B la mitad como salida y la otra como entrada, la mitad de salida mandará
unos ceros, filas una por una y las otras registrarán que teclas se activaron, realizando una
rutina de activar y preguntar si el usuario activo alguna tecla.
Central del módulo: Este es el encargado de procesar la información recibida por los
sensores y el teclado; también el de controlar la LCD, el sistema de alarma y de RF. Este
sistema está compuesto por un microcontrolador PIC16f877 que es el cerebro del sistema
con sus respectivos periféricos de entrada y salida mencionados anteriormente. Para la
programación del PIC se configuraron los diferentes puertos como entradas y salidas las
cuales son administradas por este dispositivo. En este caso las entradas están compuestas
por los sensores mencionados anteriormente y por el teclado. Todo el Puerto D (D0-D7) de
este microcontrolador se configuró como entrada, por el cual el micro recibe la información
48
que los sensores le transmiten. En cuanto al Puerto B se programó como entrada y salida,
ya que este se encarga de la habilitación de la LCD que en este caso el Puerto trabaja
como salida, también este puerto se encarga de la configuración del teclado, para lo cual
este puerto trabaja como salida (B0-B3) y entrada (B4-B7) permitir el testeo del teclado
matricial. En conclusión este puerto en un tiempo trabaja como salida y en el otro como
salida y entrada. Este diseño se aprecia en la figura 17.
Figura 17 . Central del Módulo
Visualizador: muestra al usuario las instrucciones que se requieren en el sistema y la
información requerida por el mismo, como el número de fusiles y las posiciones en que se
encuentran. Este bloque está compuesto por una LCD alfanumérica de treinta y dos
caracteres y 10 displays de siete segmentos, los cuales indican la posición de las armas. La
LCD empleada tiene 16 pines, de los cuales los dos primeros son para polarizarla (1° es
tierra y el 2° es vcc), El tercero le da el contraste a la pantalla (normalmente se polariza con
una resistencia de 110 Ohmios). El cuarto es el selector de registro y en este caso se conecta
al pin “A0” del micro quien es el encargado de su control. El quinto es de escritura o
lectura, el cual se conecta a tierra ya que para esta función se requiere escribir en la LCD.
El sexto es el habilitador que va conectado al pin “A1”. Los pines del 7 al 14 se encargan
49
de enviar el mensaje que se visualiza en la LCD, estas se conectan al Puerto B (B0-B7). El
backlight está en los pines 15 y 16 como se mostró en la figura anterior. Para la
visualización de las posiciones de los fusiles se opto por implementar 10 displays de siete
segmentos (ánodo común), uno por cada posición, estos están conectados a las salidas de
los acondicionadores de los sensores (ver figura 4).
Teclado: compuesto por un teclado matricial de 16 teclas, encargado de enviar los datos
suministrados por el usuario al microcontrolador, como lo son la clave personal, y el
número de fusiles que desea sacar o ingresar al sistema del Armerillo Electrónico. Este
dispositivo consta de ocho pines, los cuales 4 manejan las filas y los otros se encargan de
las columnas. Estos pines se conectan al Puerto B (B0-B7) del micro, los cuatro primeros a
los 4 primeros pines del PIC (B0-B3), y la ves están conectados a VCC en serie con una
resistencia de 10 Kohms cada uno.los otros van conectados directamente a restantes pines
del microcontrolador (B4-B7) (ver figura 5).
Alarma: compuesto por dos alarmas una visual como la que utiliza las sirenas de la
policía, y la otra sonora, como la que es empleada en las alarmas de los carros; encargadas
de alertar en caso de intento o hurto de algún fusil que se encuentren en el Armerillo. Como
estos dispositivos trabajan con + 12 V y el PIC con + 5 V, es necesario utilizar un sistema
de acoplamiento, que permiten la conjugación entre estos dos tipos de voltajes. Este
sistema esta compuesto por un operacional Lm324 y un TIP 122. (Ver la figura 18).
50
Figura 18. Sistema de alarma.
Para el diseño se utilizó un comparador el cual se calculo con un voltaje de referencia de
4.4 voltios contra el voltaje del Pic que es de 4.6 a 5 voltios, este voltaje nos garantiza que
el Pic realmente envíe un 1 y no otro tipo de información, cualquier valor menor a este se
considera 0 y el sistema no podrá activar la alarma. Para obtener una ganancia en corriente
utilizamos un Tip 122 a la salida del operacional para aumentar la corriente requerido para
la sirena y la bocina.
Vref =212*
RRRVcc
+
Vref (R1+R2) = Vcc*R2
R1 =22* R
VrefRVcc
−
Para el calculo se asume con un R2 =10k
R1= kv
kv 105.410*12
−
R1=16.6 Ω
51
Sistema Comunicación: este sistema se encarga de comunicar el Armerillo con una
central, por el cual se enviara el número de fusiles que se encuentra actualmente en este,
también da aviso en caso de hurto. La comunicación entre los dos Micros, se realizara por
medio del módulo RF TLP-434 y el RLP-434. Ver la figura 19.
Figura 19. Módulos de transmisión y recepción.
Comunicación RF
La función de esta parte es comunicar la central con el módulo por medio del RF con una
distancia hasta de 50 metros para ello se utilizaron los módulos de laipac cuya frecuencia
de operación es de 433.92 MHz con modulación ASK, este sistema envía paquetes de datos
de 4bit cada vez que el se activa.
Transmisión del pic con la central por los módulos de la USART
TRANSMISIÓN ASÍNCRONA. El dato que se debe transmitir por el USART transmisor se deposita en el registro TXREG
y a continuación se traspasa al registro de desplazamiento TSR, que va sacando los bits
secuencialmente y a la frecuencia establecida. Además, antes de los bits del dato de
información incluye un bit de inicio y después de sacar todos los bits añade un bit de
parada. El USART receptor recibe, uno a uno, los bits, elimina los dos de control y los de
información una vez que han llenado el registro de desplazamiento RSR los traslada
automáticamente al registro RCREG, donde quedan disponibles para su posterior
procesamiento.
52
Pasos a seguir para implementar la transmisión:
1. Configurar RC6/TX/CK como salida y RC7/RX/DT como entrada.
2. Poner SYNC=0 y SPEN=1, USART en modo asíncrono
3. SI se desea activar interrupciones activar TXIE=1.
4. Si el dato es de 9 bits TX9=1 y cargar TX9D
5. Cargar X en SPBRG, y elegir BRGH para controlar la frecuencia de trabajo.
6. Activar la transmisión TXEN=1,
7. Cargar en TXREG el dato a transmitir.
Recepción Asíncrona
Pasos a seguir para programar la recepción:
1. Configurar RC6/TX/CK como salida y RC7/RX/DT como entrada.
2. Cargar X en SPBRG, y elegir BRGH para controlar la frecuencia de trabajo.
3. Poner SYNC=0 y SPEN=1, USART en modo asíncrono
4. SI se desea activar interrupciones activar RCIE=1.
5. Si el dato es de 9 bits RX9=1.
6. Habilitar la recepción con CREN=1.
7. Al completarse la recepción RCIF=1 y produce interrupción si se ha habilitado.
8. Se lee el registro RCSTA y se averigua si se ha producido algún error.
9. Leer el dato de RDREG.
Central de registro: su función es la de registrar en una base de datos la hora en el
momento que ingresa o sale un fusil esta función la hace en el tiempo que requiera el
usuario, así mismo el numero de estos que ingresan o salen de este sistema. En cualquier
momento el usuario podrá tener acceso a esta información cuando el lo requiera, este
archivo el usuario lo encontrara en forma de .txt. Ver la Figura 20.
53
Figura 20. Registro del flujo de fusiles.
También tiene como labor la de monitorear el estado del Armerillo y el flujo de los fusiles
por medio un software realizado en VISUAL BASIC, en el cual se visualiza el estado
actual del Armerillo Electrónico y que armas se encuentran en él. Por medio de ese
programa se obtendrá un mayor manejo y seguridad sobre estos, ya que se podrá ver que
esta sucediendo en el módulo, sin tener que estar en él, a si mismo también este registra
hora y fecha del ingreso o salida de los fusiles del armerillo (ver figura 21).
54
Figura 21. Software Fusiles.
Esta central esta compuesta por un microcontrolador, una interfaz y un PC. Para este
sistema se empleo como microcontrolador un Pic 16f877a, que es el encargado de recibir la
información suministrada por el sistema de comunicación, la procesa y luego la envía al
puerto serial de un PC por medio del módulo usart. Para realizar esta conexión entre el Pic
y el Pc se empleo como interfaz un Max 232 el cual convierte los 5V suministrados por el
Pic a 12 y -12V, que son los voltajes con los que trabaja el PC como se muestra en la figura
22.
55
FUNCIONAMIENTO DE PROGRAMA El programa consta de 4 hipervínculo los cuales controla el software que son:
1. Estado sistema: este hipervínculo guía a otra pantalla la cual indica el
estado del programa y donde se puede establecer el tiempo de lectura y
almacenamiento, el tiempo mínimo de operación es de un 1minuto.
2. Salir: este hipervínculo da la opción de salir correctamente del sistema.
3. Base de datos: este hipervínculo da la opción de observar la dirección
del archivo en donde se almacena los datos, este archivo presenta
extensión .txt.
4. estado de transmisión central: al hacer click en éste abre una pestaña
donde se observa la información que esta ingresando por el puerto.
5. hora y fecha: aquí se da la hora y fecha en tiempo real acorde con la del
pc.
Figura 22. Circuito esquemático de la central de registro.
56
Funcionamiento del Módulo.
El microcontrolador lee la información recibida por el sistema de sensores e identifica
cuantos y en que posición se encuentran los fusiles, luego el sistema pide una clave
personal al usuario, si esta es correcta le permite acceder al sistema, de lo contrario le
negará el acceso a este. Una vez el sistema compruebe que la clave de usuario es correcta y
dé acceso a éste, el sistema mostrará por medio de una pantalla LCD, cuántos fusiles hay y
las posiciones que se encuentran ocupadas por dichas armas. A continuación el sistema
visualizara un menú con el cual el usuario podrá escoger la acción que desea realizar como
sacar armas, ingresarlas o si lo desea cambio de clave personal. En caso que se desee sacar
o ingresar algún fusil, el sistema le indicará al usuario una serie de instrucciones que el
deberá ingresar por medio del teclado tales como el número de armas que se quiere sacar o
ingresar; de la misma manera cuando desee cambiar su clave el sistema le pedirá de nuevo
la clave actual y su nueva clave. Una vez realizada alguna de las anteriores acciones el
sistema enviará a la central una serie de datos como lo es el estado actual del módulo,
cuantos fusiles se encuentran, que posiciones están ocupadas y cuales no. La central recibe
estos datos, los registra en una base de datos y realiza un monitoreo del flujo de las armas,
muy fácil de comprender, y podrá ser revisado en cualquier momento que se requiera.
Cuando queda registrada dicha información, el sistema volverá a verificar el número de
fusiles existentes y lo compara con la acción realizada por el usuario, es decir verificará si
el número de armas que se sacaron o que entraron corresponde al número digitado por el
usuario, de lo contrario dispara el sistema de alarma. Si este número es igual, el sistema se
irá al inicio del programa y se quedará esperando hasta que nuevamente el usuario desee
ingresar. En caso que algún fusil sea sacado de manera no autorizada se dispara el sistema
de alarma, el cual también da un aviso a la central de dicho suceso. Ver figura 19 donde se
encuentra el funcionamiento del modulo en un diagrama de flujo.
57
Fuente de alimentación.
Este sistema es el encargado de suministrar la energía necesaria para el funcionamiento de
los distintos circuitos que tiene el proyecto. Se diseño una fuente con dos tipos de voltajes,
uno de 5 voltios y otro de 12 voltios, la de 5 voltios es la encargada de alimentar: pic, LCD,
teclado, sensores. Y la fuente de 12 voltios es la encargada de energizar el sistema de
alarma. Esta fuente esta compuesta por un transformador de 18 voltios, un puente de
diodos, dos reguladores uno para 5 voltios (LM 7805) y de 12 voltios (LM 7812). Ver
figura 23.
Figura 23. Fuente de alimentación.
58
Figura 24. Diagrama de Flujo del sistema.
INICIO
DETECTA CUANTAS
ARMAS HAY
ACTIVAR SENSORES
PIDE CLAVE DE ACCESO
MUESTRA EL NÚMERO DE
ARMAS
¿DESEA SACAR ARMA?
¿ES CORRECTA?
1
2
3
SI
SI
NO
NO
59
1 2
NÚMERO DE ARMAS
DESACTIVA SENSORES
¿DESEA INGRESAR ARMAS?
NÚMERO DE ARMAS A
SACAR
DESACTIVA SENSORES
ENVÍA INFORMACIÓN
A CENTRAL
3
¿SE DISPARÓ SENSOR?
ACTIVA ALARMA
NO
SI
SI
NO
60
5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS
El diseño de un control automático del flujo de fusiles en un armerillo del Ejército Nacional
tiene como inicio, el conocimiento de la problemática de hurtos y control manual de este
módulo, así que se realizó una etapa de recolección de información para contar con una
mayor compresión del problema.
La etapa de recolección de información realizada por el Sargento Viceprimero Jesús Ángel
Morales Nova en el año 2004, encargado del área de investigación en la Escuela De
Comunicaciones Militares el cual tenia como fin implementar un sistema de seguridad para
los fusiles en los camerinos del Ejército Nacional, debido a que se presentaban problemas
de hurto y manejo inadecuado de fusiles sin un control de entrada y salida de los mismos
dentro de la Institución.
Así que se plantearon una serie de ideas para llevar a cabo la realización del sistema de
seguridad de los fusiles en el armerillo, un sistema de seguridad por código de barras, un
sistema de seguridad por grabación por video y un sistema de seguridad por sensores.
Para esta investigación se tomó en cuenta diseñar un sistema de seguridad por sensores de
posición, para controlar el flujo de fusiles en un armerillo, el cual este sistema es muy útil
para evitar el robo por parte de soldados y personas ajenas a la institución. Además se
considera un sistema económico para los intereses del Ejército Nacional.
Así mismo se da inicio a la etapa de la adaptación de sensores en sitios estratégicos, y la
función que realizan, el primer sensor es el de pulso y se ubica en la parte superior del
módulo, que al ser pulsado por el cañón de cada fusil envía un dato, alto o bajo. El segundo
sensor es óptico, con emisor receptor ubicado en la parte inferior del módulo donde
descansa el fusil, estos sensores se adaptaron a una distancia de 3mm entre receptor y
emisor para obtener una respuesta de alto o bajo. En esta etapa se realizaron una fase de
61
pruebas para adaptar correctamente los sensores y obtener la misma respuesta en los 10
sensores instalados.
Se procede con la realización de el programa para el sistema de control, para este se realiza
con el microcontrolador pic 16F877A de la fabrica Microchip, que es ejecutado en el
programa MPlab, este sistema de programación es Assembler. Esta programación se realiza
con códigos especiales para la referencia que se deseó trabajar. Se programó el
microcontrolador con códigos de entrada y salida, de entrada para recibir los mensajes del
teclado matricial, de los sensores, y de la comunicación, y de salida para controlar el LCD,
los display 7 segmentos y la comunicación externa.
Se continuó con las pruebas de la programación visualizando en primera instancia por el
simulador Proteus 6. Luego se implementó en la Protoboard manejando las diferentes
etapas como lo son el LCD y la introducción de la clave por medio del teclado matricial,
se continúa con el acoplamiento de las tres fases, sensores óptico y de pulso, visualizadores
7 segmentos.
Se procede a la realización del sistema impreso por etapas, iniciando con la fase sensórica
que consta de integrados operacionales para la parte de comparación de los voltajes
transmitidos por el receptor óptico, de allí lo envía a la compuerta AND para realizar la
multiplicación entre el sensor óptico y el de pulso y así tomar un solo dato y enviarlo al
control principal.
En la segunda etapa se realiza el impreso del microcontolador PIC junto con el teclado
matricial, LCD y la comunicación de datos. La programación de esta comunicación se
realiza al finalizar este tipo de etapas puesto que el conocimiento de este protocolo USART
no era muy amplio, así que se procedió a la amplia investigación y con ayuda del Ingeniero
Electrónico Arles Prieto se concluye dicha comunicación.
62
Por último se realizan detalles de adecuación de los sistemas en el módulo final para
obtener una buena presentación.
En la figura 25 se puede observar como se tenían los fusile en los dormitorio antiguamente
y el sistema de seguridad que manejaban que se basaba en una cadena.
Figura 25. Sistema antiguo de armerillos.
63
En la figura 26 se observa el diseño final del módulo que fue entregado a las FFMM con
todos los elementos implementados que fueron nombrados con anterioridad.
Figura 26. Módulo final
64
6. CONCLUSIONES
El uso de dispositivos programables, como lo son los microcontroladores PIC, permiten
desarrollar aplicaciones complejas, la administración de los diferentes recursos que estos
ofrecen dan la facilidad de la programación del funcionamiento de equipos eléctricos y
electrónicos sin que altere el sistema interno de los mismos; además ofrecen compatibilidad
con cualquiera de estos dispositivos.
La alarma está diseñada para alertar de una forma rápida y segura el robo de un fusil del
armerillo, estas dos alarmas están ubicadas estratégicamente para que su visualización
pueda ser vista con facilidad y así el batallón tome las medidas que sean necesarias en el
momento de la activación.
El proyecto tiene una viabilidad para todas las FFMM puesto que ellas tienen la necesidad
de obtener una mayor seguridad para el flujo de armamento con el que cuentan, esté
módulo está diseñado de una forma fácil de implementación a bajo costo.
65
7. RECOMENDACIONES
En la implementación del dispositivo, se debe tener en cuenta principalmente los siguientes
parámetros para su adecuado funcionamiento.
• El usuario deberá cambiar la clave frecuentemente para evitar posibles infiltraciones
del personal no autorizado al sistema, en caso de olvido de clave es necesario el uso
de la segunda clave la cual sólo la poseerá el diseñador, y por ningún motivo será
cambiada.
• Ampliar la capacidad del módulo para así poder controlar una cantidad mayor de
fusiles y evitar muchos más robos.
• Este Armerillo es de uso exclusivo para fusiles ya que las dimensiones con que se
realizó el sistema, encajan exactamente con las medidas de ellos, sería muy
complicado el uso de otro tipo de armas.
• No se debe forzar el módulo con el ingreso de más de 10 fusiles ya que este se
puede dañar y afectar todo el sistema.
66
BIBLIOGRAFÍA
ANGULO USATEGUI, José María. Microcontroladores avanzados ds PIC. Editorial:
Thomson. España 2006. 250 Pág.
FLOYD, Tomas. Fundamentos de sistemas digitales. 7ª Edición. Editorial: Pearson Prentice
Hall. España 2000. 788 Pág.
HERRERA ZÚÑIGA, Edinson. Sistema de clave RF para acceder a puertas de almacenes.
Tesis 2004. 136 Pág.
MUHAMMAD H, RASHID. Circuitos microelectrónicos análisis y diseño. Editorial:
Internacional Thomson Editores. México, 2000. 650 Pág.
TOMASI, Wayne. Sistemas de Comunicaciones Electrónicas. Segunda edición. Editorial:
Prentice Hall. México 1996. 466 Pág.
67
WEBGRAFÍA http://clickthru.online.com/Click?q=d5-p-AiQzL34RBR6oNHRFrY-ixF
Fecha 22 de abril del 2007, hora 20:00
www.x-robotics.com
Fecha 8 de mayo del 2007, hora 13:00
www.monografias.com
Fecha 01 de mayo del 2007, hora 23:00
www.microchip.com
Fecha 24 de abril del 2007, hora 18:00
68
69
ANEXOS
ANEXO A Análisis de costos.
ANEXOB Datasheet de los módulos RF
ANEXO C Circuito esquemático del sistema propuesto.
ANEXO D Diagrama de los Circuitos Impresos.
ANEXO E Manual de usuario del armerillo electrónico
ANEXO F Código de programación del PIC.
ANEXO G Código del software
70
ANEXO A: ANÁLISIS DE COSTOS Ítem Materiales directos
UNIDAD DE MEDIDA
CANTIDAD COSTOS UNITARIO (PESOS)
COSTOSTOTAL (PESOS)
PIC 16F877A UNIDAD 2 15.000 30.000 LCD UNIDAD 2 10.000 20.000 TECLADO UNIDAD 1 12.500 12.500 REGULADOR 7805 UNIDAD 1 1.100 1.100 CRISTAL DE 16M UNIDAD 2 2.000 4.000 CONDENSADORES 1000u f 16v UNIDAD 5 300 1.500 CONDENSADORES 10uf 16v
UNIDAD 5 200 1.000
CONDENSADORES 22pf 16v
UNIDAD 5 200 1.000
RESISTENCIA 1K ohm UNIDAD 14 100 1.400 RESISTENCIA 2.2Kohm UNIDAD 10 100 1.000 BUS DE DATOS UNIDAD 2 3000 6.000 MAX 232 UNIDAD 1 2.500 2.500 IMPRESO DEL CIRCUITO UNIDAD 1 50.000 50.000 SIRENA UNIDAD 1 30.000 30.000 SENSORES UNIDAD 15 2.000 30.000 ALARMA UNIDAD 1 30.000 30.000 DISPLAY 7 SEGMENTOS UNIDAD 12 1.000 12.000 LED UNIDAD 13 200 2.600 Switch UNIDAD 10 300 30.000 TOTAL MATERIALES DIRECTOS 266.600 MATERIALES INDIRECTOS PAPELERÍA 1 80.000 80.000 HERRAMIENTAS 1 30.000 30.000 TOTAL 376600
71
ANEXO B: DATA SHEET DE LOS MÓDULOS RF
72
73
74
ANEXO C: CIRCUITO ESQUEMÁTICO DEL SISTEMA PROPUESTO.
75
ANEXO D: DIAGRAMA DE LOS CIRCUITOS IMPRESOS.
Impreso central del módulo.
Impreso de la central de registro.
76
Impreso de la fuente de alimentación.
77
ANEXO E: MANUAL DE USUARIO DEL ARMERILLO ELECTRÓNICO
DISEÑO DE UN ARMERILLO ELECTRONICO PARA EL
FLUJO DE ENTRADA Y SALIDA DE FUSILES
CONTENIDO
1. Para seguridad del equipo 2. Características Técnicas. 3. Información general. 4. Instrucciones de operación 5. funcionamiento. 6. Recomendaciones
PARA SEGURIDAD DEL EQUIPO
Antes de operar el equipo lea cuidadosamente las siguientes normas por que puede ser peligroso y perjudicial para el sistema.
1. Verifique que la toma sea de 110V ya que si no puede quemar los componentes electrónicos.
2. Al iniciar el equipo observe que no tenga ningún objeto obstruyendo los sensores.
3. El dispositivo no es resistente al agua manténgalo seco.
4. Manténgalo en temperatura no superior a 60 grados.
5. verifique que el encargado del sistema tenga la clave correcta para no ocasionar que la alarma se active.
CARACTERÍSTICAS TÉCNICAS
Tensión de operación 110Va.c / 60 Hz Corriente 320 mA Peso del modulo 20Kgramos Peso del los circuitos 600 gramos Dimensiones del modulo
1.40 x 40 cm
LCD 16x2 (80 caracteres) Teclados Matricial de 4 x 4 Tipo de trafico Datos In-out Puerto usart Vel. Transmisión Asincrono 9600 bps Capacidad de alojamiento
10 fusiles
INFORMACIÓN DEL SISTEMA
Este proyecto consiste en un sistema de seguridad para los fusiles del Ejército Nacional de Colombia el cual consta de dos tipos de sensores encargados de indicar la permanencia de las armas en el módulo, un teclado matricial, que permite introducir una clave y número de armas entrantes o saliente, visualizador LCD que muestra las instrucciones a seguir, visualizadores siete segmentos que identifican el posicionamiento del arma, sistema de alarma interna que permite alertar al dragoniante de un posible robo o extracción no autorizada y la alarma alertara a la central para toma la medidas necesarias.
78
INSTRUCCIONES DE OPERACIÓN
1. Conecte el modulo a una toma de 110V
60Hz. 2. Revise que la LCD que encienda
correctamente y que muestre el saludo de bienvenida.
3. Instale el software “FUSILES” en su PC, y cree un acceso directo.
4. Conecte el cable DB-9 al puerto serial del PC.
5. Digite la clave personal para acceder a este sistema, la cual se le asignara en el momento de adquirir este módulo.
6. Seleccione la operación que desea realizar por ejemplo sacar o ingresar fusiles.
7. Ingrese el número de fusiles que desea ingresar o sacar.
8. Retire o ingrese los fusiles. 9. Verifique en la LCD y en los displays
que aparezca el numero de fusiles que se encuentran en el modulo.
10. Para la desactivación de la alarma digite de nuevo su clave personal.
FUNCIONAMIENTO
1. Sirena 2. Displays 3. Lcd 4. Teclado 5. Ranuras.
1. Sirena. Avisa cuando se extrae un fusil
sin previa autorización. 2. Displays. Visualizan que posición se
encuentra ocupadas por cada fusil existente en el modulo.
3. Lcd. Muestra las instrucciones que debe seguir el usuario, como también el número de fusiles que ingresan y salen del módulo.
4. Teclado. En el se digita la clave y número de fusiles a sacar o ingresar.
5. Ranuras. En ellas se alojaran los fusiles.
Este módulo permite tener un control al flujo de entrada y salida de fusiles.
Solo permite el acceso al personal autorizado, por medio de una clave de cuatro dígitos, si la clave es correcta se dará acceso a este sistema, de lo contrario no. Por medio de la LCD, se visualizará cuantos y en que posición se encuentra cada fusil alojado en este módulo. A continuación se muestra un menú en el cual deberá escoger que operación desea realizar, digite 1 si lo que desea es sacar algún fusil, o 2 para ingresar. Se deberá ingresar el número de armas que desea ingresar o sacar, hasta que no ingrese o saque los fusiles que digito, el sistema no continuara. En caso de ingresar o sacar un fusil sin autorización, se dispara una alarma que avisara el intento de hurto. Cuando se haya sacado o ingresado los fusiles requeridos, el sistema mostrara el número de fusiles que salieron o ingresaron, y el nuevo estado del modulo con las posiciones ocupadas por los fusiles que quedaron en el. Nuevamente el sistema queda listo para una nueva operación. En el momento que se ingresa o se retira un fusil, el módulo envía este dato al PC y este se visualizará el la pantalla del mismo. Si desea ver en tiempo real el estado del módulo durante un determinado tiempo, diríjase al disco local C, en la raíz de este y abra el archivo “base de datos”. En él encontrara el registro de que fusiles se encontraban en un determinado momento, con su fecha y hora correspondiente. Por defecto este programa registra los sucesos de este módulo cada 10 minutos, si desea cambiar este tiempo, haga click en “Estado del sitema” y digite el tiempo que desea que haga el registro. Tenga en cuenta que el mínimo número que puede ingresar es uno.
79
RECOMENDACIONES
1. Debe cambiar la clave al menos una vez al mes.
2. Nunca saque o ingrese fusiles sin previa autorización del módulo, o se activara la alarma.
3. Para desactivar la alarma deberá digitar de nuevo su clave personal.
4. Siga cuidadosamente las instrucciones que le da el módulo, y no trate de alterarlas.
5. No ingrese o saque mas fusiles del número que digito, puesto que el sistema lo toma como un error y activara la alarma.
6. Encaso de emergencia digite la clave para emergencias, la cual le permitirá sacar todos los fusiles sin tener que pedir autorización previa al módulo.
80
ANEXOS F: CÓDIGO DE PROGRAMACIÓN DEL PIC
• Central del Módulo PROCESSOR 16F877A #INCLUDE <P16F877A.INC> __CONFIG 3F71H CBLOCK 0x20 CONT,CONT1,CONT2,ARMA,NARMAH,NARMA,FUSIL1,FUSIL2,FUSIL3,FUSIL4 ARMA1,NARMAH1,NARMA1,FUSIL5,FUSIL6,FUSIL7,FUSIL8,NFUSIL,MENUF DTSCAN,DATO1,DATO2,DATO3,DATO4,NDATOS,LUISA,PEREIRA,DFUSIL,MENA ONE,ARMA2,NARMAH2,NARMA2,FUSIL9,FUSILL,FUSILF,NARMAL MENAO,MENAIN,DATA1,DATA2,ARMAN,ARMAN1,ARMAN2 ENDC #DEFINE BANCO1 BSF STATUS,RP0 #DEFINE BANCO0 BCF STATUS,RP0 ORG .5 INICIO BANCO1 MOVLW 0X07 MOVWF ADCON1 CLRF PORTB MOVLW B'00000000' MOVWF TRISA
MOVLW B'00000011' MOVWF TRISC MOVLW 0XFF MOVWF TRISD MOVLW 0X00 MOVWF TRISE BANCO0 CLRF PORTA CLRF PORTB CLRF PORTD CLRF PORTC CLRF PORTE INICIO2 CALL LEER MOVF NARMAH,0 MOVWF NFUSIL INICIO3 CALL LCD ;CONFIGURA EL LCD CALL LIMPIA CALL FILA1 CALL LIMPIA CALL LAESPA CALL LAB CALL LAI CALL LAE CALL LAN CALL LAV CALL LAE CALL LAN CALL LAI CALL LAD CALL LAO CALL LAS CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO CALL REVISION CALL MUESTRA CALL LAESPA CALL LIMPIA CALL LAE CALL LAS CALL LAC CALL LAU CALL LAE CALL LAL CALL LAA CALL LAESPA CALL LAD
81
CALL LAE CALL FILA2 CALL LAC CALL LAO CALL LAM CALL LAU CALL LAN CALL LAI CALL LAC CALL LAA CALL LAC CALL LAI CALL LAO CALL LAN CALL LAE CALL LAS CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO CALL REVISION CALL MUESTRA CALL LAESPA CALL LIMPIA CALL LAE CALL LAJ CALL LAE CALL LAR CALL LAC CALL LAI CALL LAT CALL LAO CALL FILA2 CALL LAESPA CALL LAESPA CALL LAN CALL LAA CALL LAC CALL LAI CALL LAO CALL LAN CALL LAA CALL LAL CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO LETRE CLRF NDATOS CALL REVISION CALL MUESTRA CALL LIMPIA CALL LAD CALL LAI CALL LAG CALL LAI CALL LAT CALL LAE CALL FILA2 CALL LAS CALL LAU CALL LAESPA CALL LAC CALL LAL CALL LAA CALL LAV CALL LAE CALL REVISION CALL CLAVE ;_____________________________________________________________________ MENU CALL REVISION CALL MUESTRA CALL LA1 CALL LA. CALL LAESPA CALL LAS CALL LAA CALL LAC CALL LAA
82
CALL LAR CALL LAESPA CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL FILA2 CALL LA2 CALL LA. CALL LAI CALL LAN CALL LAG CALL LAR CALL LAE CALL LAS CALL LAA CALL LAR CALL LAESPA CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL REVISION MEN CALL SCAND ANDLW 0X0F MOVWF MENUF MOVLW 0X01 XORWF MENUF,0 BTFSS STATUS,2 GOTO C2 GOTO C1 C1 CALL REVISION CALL MUESTRA CALL LAD CALL LAI CALL LAG CALL LAI CALL LAT CALL LAE CALL LAESPA CALL LAESPA CALL LAC CALL LAU CALL LAA CALL LAN CALL LAT CALL LAO CALL LAS CALL FILA2 CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL LAE CALL LAS CALL LAESPA CALL LAS CALL LAA CALL LAL CALL LAE CALL LAN MOVLW 0X01 MOVWF ONE CALL REVISION LF CALL SCAND ANDLW 0X0F MOVWF MENUF CALL REVISION CALL CAMBIO CALL MUESTRA MOVF MENA,0 CALL CONTROL3 MOVF MENUF,0 SUBWF NFUSIL,1
83
DP CALL LEER MOVF NARMAH,0 XORWF NFUSIL,0 BTFSS STATUS,2 GOTO NO CALL MUESTRA CALL LAS CALL LAA CALL LAL CALL LAI CALL LAE CALL LAR CALL LAO CALL LAN CALL FILA2 MOVF MENA,0 CALL CONTROL3 CALL LAESPA CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL LAE CALL LAS CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO GOTO SIP NO GOTO DP SIP CALL REVISION CALL MUESTRA CALL MOSTRA CALL REVISION CALL SEGUNDO CALL REVISION CALL TRANSMI GOTO INICIO2 C2 MOVLW 0X02 XORWF MENUF,0 BTFSS STATUS,2 GOTO MEN CALL REVISION CALL MUESTRA CALL LAD CALL LAI CALL LAG CALL LAI CALL LAT CALL LAE CALL LAESPA CALL LAC CALL LAU CALL LAA CALL LAN CALL LAT CALL LAO CALL LAS CALL FILA2 CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL LAE CALL LAS CALL LAESPA CALL LAI CALL LAN CALL LAG CALL LAR CALL LAE CALL LAS CALL LAA CALL LAN CALL REVISION
84
MOVLW 0X02 MOVWF ONE LC CALL SCAND ANDLW 0X0F MOVWF MENUF CALL CAMBIO CALL MUESTRA MOVF MENA,0 CALL CONTROL3 MOVF MENUF,0 ADDWF NFUSIL,1 AV CALL LEER MOVF NARMAH,0 XORWF NFUSIL,0 BTFSS STATUS,2 GOTO NOT CALL MUESTRA CALL LAE CALL LAN CALL LAT CALL LAR CALL LAA CALL LAR CALL LAO CALL LAN CALL FILA2 MOVF MENA,0 CALL CONTROL3 CALL LAESPA CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL LAE CALL LAS CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO GOTO YE NOT GOTO AV YE CALL REVISION CALL MUESTRA CALL MOSTRA CALL REVISION CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO CALL REVISION CALL TRANSMI GOTO INICIO2 ;--------------------------------------------------------- ; ESCANEO DE TECLADO ;--------------------------------------------------------- SCAND BANCO1 MOVLW B'11110000' MOVWF TRISB ; CONFIG EL PUERTOB COMO IN Y OUT BANCO0 MOVLW B'11111110' ; *PRIMER COLUMNA* MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "1" ; TECLA 1 GOTO SCANSOU BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "4" ; TECLA 4
85
GOTO SCANSOU BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "7" ; TECLA 7 GOTO SCANSOU BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "F" ; TECLA ASTERISCO GOTO SCANSOU MOVLW B'11111101' ; **SEGUNDA COLUMNA** MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "2" ; TECLA 2 GOTO SCANSOU BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "5" ; TECLA 5 GOTO SCANSOU BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "8" ; TECLA 8 GOTO SCANSOU BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "0" ; TECLA 0 GOTO SCANSOU MOVLW B'11111011' ; ***TERCERA COLUMNA*** MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "3" ; TECLA 3 GOTO SCANSOU BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "6" ; TECLA 6 GOTO SCANSOU BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "9" ; TECLA 9 GOTO SCANSOU BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "E" ; TECLA NUMERAL GOTO SCANSOU MOVLW B'11110111' ; ****CUARTA COLUMNA**** MOVWF PORTB
86
BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "A" ; TECLA A GOTO SCANSOU BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "B" ; TECLA B GOTO SCANSOU BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "C" ; TECLA C GOTO SCANSOU BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "D" ; TECLA D SCANSOU RETURN REVISION CALL LEER MOVF NARMAH,0 XORWF NFUSIL,0 BTFSS STATUS,2 GOTO ALARMA GOTO LU ALARMA BSF PORTC,2 CALL CLAVE LU RETURN ;------------------------------------------------------------------------ ; ESCANEO DE TECLADO-SUB RUTINA PARA LA VLAVE ;------------------------------------------------------------------------- CLAVE CLRF DATO1 CLRF DATO2 CLRF DATO3 CLRF DATO4 SCAN BANCO1 MOVLW B'11110000' MOVWF TRISB ; CONFIG EL PUERTOB COMO IN Y OUT BANCO0 FP BTFSS PORTC,2 CALL REVISION CLRF DTSCAN MOVLW B'11111110' ; *PRIMER COLUMNA* MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "1" ; TECLA 1 GOTO SCANSAL BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "4" ; TECLA 4 GOTO SCANSAL BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD
87
BTFSS PORTB,6 GOTO $-1 MOVLW "7" ; TECLA 7 GOTO SCANSAL BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "F" ; TECLA ASTERISCO GOTO SCANSAL MOVLW B'11111101' ; **SEGUNDA COLUMNA** MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "2" ; TECLA 2 GOTO SCANSAL BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "5" ; TECLA 5 GOTO SCANSAL BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "8" ; TECLA 8 GOTO SCANSAL BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "0" ; TECLA 0 GOTO SCANSAL MOVLW B'11111011' ; ***TERCERA COLUMNA*** MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4 GOTO $-1 MOVLW "3" ; TECLA 3 GOTO SCANSAL BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "6" ; TECLA 6 GOTO SCANSAL BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "9" ; TECLA 9 GOTO SCANSAL BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "E" ; TECLA NUMERAL GOTO SCANSAL MOVLW B'11110111' ; ****CUARTA COLUMNA**** MOVWF PORTB BTFSC PORTB,4 ; //FILA 1// GOTO $+6 CALL RETARD BTFSS PORTB,4
88
GOTO $-1 MOVLW "A" ; TECLA A GOTO SCANSAL BTFSC PORTB,5 ; //FILA 2// GOTO $+6 CALL RETARD BTFSS PORTB,5 GOTO $-1 MOVLW "B" ; TECLA B GOTO SCANSAL BTFSC PORTB,6 ; //FILA 3// GOTO $+6 CALL RETARD BTFSS PORTB,6 GOTO $-1 MOVLW "C" ; TECLA C GOTO SCANSAL BTFSC PORTB,7 ; //FILA 4// GOTO $+6 CALL RETARD BTFSS PORTB,7 GOTO $-1 MOVLW "D" ; TECLA D GOTO SCANSAL GOTO FP SCANSAL MOVWF DTSCAN BTFSS PORTC,2 CALL REVISION GOTO TXDATO ;************************************************* ; SUBRUTINA QUE CAPTURA DATOS POR TECLADO ;************************************************* TXDATO BTFSS PORTC,2 CALL REVISION INCF NDATOS,1 MOVLW 0X01 XORWF NDATOS,0 BTFSS STATUS,2 ; ES EL PRIMER NUMERO DIGITADO? GOTO TDATO2 MOVF DTSCAN,0 ANDLW 0X0F MOVWF DATO1 CALL MUESTRA CALL LAASTE BTFSS PORTC,2 CALL REVISION GOTO SCAN TDATO2 BTFSS PORTC,2 CALL REVISION MOVLW 0X02 XORWF NDATOS,0 BTFSS STATUS,2 ; ES EL SEGUNDO NUMERO DIGITADO? GOTO TDATO3 MOVF DTSCAN,0 ANDLW 0X0F MOVWF DATO2 CALL MUESTRA CALL LAASTE CALL LAASTE BTFSS PORTC,2 CALL REVISION GOTO SCAN TDATO3 BTFSS PORTC,2 CALL REVISION MOVLW 0X03 XORWF NDATOS,0 BTFSS STATUS,2 ; ES EL TERCER NUMERO DIGITADO? GOTO TDATO4 MOVF DTSCAN,0 ANDLW 0X0F MOVWF DATO3 CALL MUESTRA CALL LAASTE CALL LAASTE CALL LAASTE BTFSS PORTC,2 CALL REVISION
89
GOTO SCAN TDATO4 BTFSS PORTC,2 CALL REVISION MOVLW 0X04 XORWF NDATOS,0 BTFSS STATUS,2 ; ES EL CUARTO NUMERO DIGITADO? GOTO LETRE MOVF DTSCAN,0 ANDLW 0X0F MOVWF DATO4 CALL MUESTRA CALL LAASTE CALL LAASTE CALL LAASTE CALL LAASTE CALL NIBLOS ;______________________________________________________________ BTFSS PORTC,2 GOTO PASS GOTO PASS2 PASS MOVLW 0X12 XORWF DATO2,0 BTFSS STATUS,2 GOTO MAL MOVLW 0X16 XORWF DATO4,0 BTFSS STATUS,2 GOTO MAL CALL MOSTRA CALL SEGUNDO GOTO MENU MAL CALL MUESTRA CALL LAC CALL LAL CALL LAA CALL LAV CALL LAE CALL LAESPA CALL LAI CALL LAN CALL LAC CALL LAO CALL LAR CALL LAR CALL LAE CALL LAC CALL LAT CALL LAA CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO GOTO LETRE PASS2 MOVLW 0X12 XORWF DATO2,0 BTFSS STATUS,2 GOTO ALARMA MOVLW 0X16 XORWF DATO4,0 BTFSS STATUS,2 GOTO ALARMA BCF PORTC,2 GOTO INICIO2 RETURN ;************************************************************************************************* ; ABECEDARIO Y RUTINAS PARA EL LCD, RETARDOS, RS, ENABLE, PALABRA DE CONTROL Y DATOS ;************************************************************************************************* LA2 MOVLW "2" GOTO CONTROL3 LAA MOVLW "A" GOTO CONTROL3 LAB MOVLW "B" GOTO CONTROL3 LAC MOVLW "C" GOTO CONTROL3 LAD MOVLW "D" GOTO CONTROL3
90
LAE MOVLW "E" GOTO CONTROL3 LAF MOVLW "F" GOTO CONTROL3 LAG MOVLW "G" GOTO CONTROL3 LAH MOVLW "H" GOTO CONTROL3 LAI MOVLW "I" GOTO CONTROL3 LAJ MOVLW "J" GOTO CONTROL3 LAK MOVLW "K" GOTO CONTROL3 LAL MOVLW "L" GOTO CONTROL3 LAM MOVLW "M" GOTO CONTROL3 LAN MOVLW "N" GOTO CONTROL3 LAO MOVLW "O" GOTO CONTROL3 LAP MOVLW "P" GOTO CONTROL3 LAQ MOVLW "Q" GOTO CONTROL3 LAR MOVLW "R" GOTO CONTROL3 LAS MOVLW "S" GOTO CONTROL3 LAT MOVLW "T" GOTO CONTROL3 LAU MOVLW "U" GOTO CONTROL3 LAV MOVLW "V" GOTO CONTROL3 LAW MOVLW "W" GOTO CONTROL3 LAX MOVLW "X" GOTO CONTROL3 LAY MOVLW "Y" GOTO CONTROL3 LAZ MOVLW "Z" GOTO CONTROL3 LA1 MOVLW "1" GOTO CONTROL3 LA0 MOVLW "0" GOTO CONTROL3 LAASTE MOVLW "*" GOTO CONTROL3 LAASTER MOVLW 0X40 GOTO CONTROL3 LAESPA MOVLW " " GOTO CONTROL3 LALINEA MOVLW .95 GOTO CONTROL3 LALLENA MOVLW .255 GOTO CONTROL3 LA. MOVLW "." GOTO CONTROL3 CONTROL3 CALL CONTROL2 ;SUBRUTINA PARA VISUALIZAR EL VALOR QUE YA ESTA EN W CALL RETARD CALL RETARD RETURN FILA1 MOVLW 0X80 CALL CONTROL1 RETURN FILA2 MOVLW 0XC0 CALL CONTROL1 RETURN ;------------------------------------------------------- ; LEER SENSORES ;------------------------------------------------------- LEER MOVF PORTD,W
91
ARMY MOVWF ARMA MOVF PORTD,W MOVWF ARMA1 MOVF PORTC,W MOVWF ARMA2 BCF ARMA,4 BCF ARMA,5 BCF ARMA,6 BCF ARMA,7 SWAPF ARMA1,1 BCF ARMA1,4 BCF ARMA1,5 BCF ARMA1,6 BCF ARMA1,7 BCF ARMA2,4 BCF ARMA2,5 BCF ARMA2,6 BCF ARMA2,7 BCF ARMA2,3 BCF ARMA2,2 VERIFI MOVLW 0X00 XORWF ARMA,0 BTFSS STATUS,2 GOTO A1 MOVLW 0X00 MOVWF NARMAH MOVLW 0X0F MOVWF ARMAN BCF PORTA,2 BCF PORTA,3 BCF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A1 MOVLW 0X01 XORWF ARMA,0 BTFSS STATUS,2 GOTO A2 MOVLW 0X01 MOVWF NARMAH MOVLW 0X0E MOVWF ARMAN BSF PORTA,2 BCF PORTA,3 BCF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A2 MOVLW 0X02 XORWF ARMA,0 BTFSS STATUS,2 GOTO A3 MOVLW 0X01 MOVWF NARMAH MOVLW 0X0D MOVWF ARMAN BCF PORTA,2 BSF PORTA,3 BCF PORTA,4 BCF PORTA,5
92
BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A3 MOVLW 0X03 XORWF ARMA,0 BTFSS STATUS,2 GOTO A4 MOVLW 0X02 MOVWF NARMAH MOVLW 0X0C MOVWF ARMAN BCF PORTA,2 BSF PORTA,3 BCF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A4 MOVLW 0X04 XORWF ARMA,0 BTFSS STATUS,2 GOTO A5 MOVLW 0X01 MOVWF NARMAH MOVLW 0X0B MOVWF ARMAN BCF PORTA,2 BCF PORTA,3 BSF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A5 MOVLW 0X05 XORWF ARMA,0 BTFSS STATUS,2 GOTO A6 MOVLW 0X02 MOVWF NARMAH MOVLW 0X0A MOVWF ARMAN BSF PORTA,2 BCF PORTA,3 BSF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A6 MOVLW 0X06
93
XORWF ARMA,0 BTFSS STATUS,2 GOTO A7 MOVLW 0X02 MOVWF NARMAH MOVLW 0X09 MOVWF ARMAN BCF PORTA,2 BSF PORTA,3 BSF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A7 MOVLW 0X07 XORWF ARMA,0 BTFSS STATUS,2 GOTO A8 MOVLW 0X03 MOVWF NARMAH MOVLW 0X08 MOVWF ARMAN BSF PORTA,2 BSF PORTA,3 BSF PORTA,4 BCF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW " " MOVWF FUSIL4 GOTO VERIFI2 A8 MOVLW 0X08 XORWF ARMA,0 BTFSS STATUS,2 GOTO A9 MOVLW 0X01 MOVWF NARMAH MOVLW 0X07 MOVWF ARMAN BCF PORTA,2 BCF PORTA,3 BCF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A9 MOVLW 0X09 XORWF ARMA,0 BTFSS STATUS,2 GOTO A10 MOVLW 0X02 MOVWF NARMAH MOVLW 0X06 MOVWF ARMAN BSF PORTA,2 BCF PORTA,3 BCF PORTA,4 BSF PORTA,5
94
BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A10 MOVLW 0X0A XORWF ARMA,0 BTFSS STATUS,2 GOTO A11 MOVLW 0X02 MOVWF NARMAH MOVLW 0X05 MOVWF ARMAN BCF PORTA,2 BSF PORTA,3 BCF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A11 MOVLW 0X0B XORWF ARMA,0 BTFSS STATUS,2 GOTO A12 MOVLW 0X03 MOVWF NARMAH MOVLW 0X04 MOVWF ARMAN BSF PORTA,2 BSF PORTA,3 BCF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW " " MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A12 MOVLW 0X0C XORWF ARMA,0 BTFSS STATUS,2 GOTO A13 MOVLW 0X02 MOVWF NARMAH MOVLW 0X03 MOVWF ARMAN BCF PORTA,2 BCF PORTA,3 BSF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A13 MOVLW 0X0D
95
XORWF ARMA,0 BTFSS STATUS,2 GOTO A14 MOVLW 0X03 MOVWF NARMAH MOVLW 0X02 MOVWF ARMAN BSF PORTA,2 BCF PORTA,3 BSF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW " " MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A14 MOVLW 0X0E XORWF ARMA,0 BTFSS STATUS,2 GOTO A15 MOVLW 0X03 MOVWF NARMAH MOVLW 0X01 MOVWF ARMAN BCF PORTA,2 BSF PORTA,3 BSF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 A15 MOVLW 0X0F XORWF ARMA,0 BTFSS STATUS,2 GOTO ARMY MOVLW 0X04 MOVWF NARMAH MOVLW 0X00 MOVWF ARMAN BSF PORTA,2 BSF PORTA,3 BSF PORTA,4 BSF PORTA,5 BCF PORTC,7 MOVLW "1" MOVWF FUSIL1 MOVLW "2" MOVWF FUSIL2 MOVLW "3" MOVWF FUSIL3 MOVLW "4" MOVWF FUSIL4 GOTO VERIFI2 VERIFI2 MOVLW 0X00 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B1 MOVLW "0" MOVWF NARMA1 MOVLW 0X00 MOVWF NARMAH1 MOVLW 0X0F MOVWF ARMAN1 BCF PORTE,0
96
BCF PORTE,1 BCF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B1 MOVLW 0X01 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B2 MOVLW "1" MOVWF NARMA1 MOVLW 0X01 MOVWF NARMAH1 MOVLW 0X0E MOVWF ARMAN1 BSF PORTE,0 BCF PORTE,1 BCF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B2 MOVLW 0X02 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B3 MOVLW "1" MOVWF NARMA1 MOVLW 0X01 MOVWF NARMAH1 MOVLW 0X0D MOVWF ARMAN1 BCF PORTE,0 BSF PORTE,1 BCF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B3 MOVLW 0X03 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B4 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X0C MOVWF ARMAN1 BSF PORTE,0 BSF PORTE,1 BCF PORTE,2 BCF PORTC,3 BCF PORTC,7 BSF PORTE,1
97
MOVLW "5" MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B4 MOVLW 0X04 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B5 MOVLW "1" MOVWF NARMA1 MOVLW 0X01 MOVWF NARMAH1 MOVLW 0X0B MOVWF ARMAN1 BCF PORTE,0 BCF PORTE,1 BSF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B5 MOVLW 0X05 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B6 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X0A MOVWF ARMAN1 BSF PORTE,0 BCF PORTE,1 BSF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B6 MOVLW 0X06 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B7 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X09 MOVWF ARMAN1 BCF PORTE,0 BSF PORTE,1 BSF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW "7"
98
MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B7 MOVLW 0X07 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B8 MOVLW "3" MOVWF NARMA1 MOVLW 0X03 MOVWF NARMAH1 MOVLW 0X08 MOVWF ARMAN1 BSF PORTE,0 BSF PORTE,1 BSF PORTE,2 BCF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW " " MOVWF FUSIL8 GOTO VERIFI3 B8 MOVLW 0X08 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B9 MOVLW "1" MOVWF NARMA1 MOVLW 0X01 MOVWF NARMAH1 MOVLW 0X07 MOVWF ARMAN1 BCF PORTE,0 BCF PORTE,1 BCF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B9 MOVLW 0X09 XORWF ARMA1,0 BTFSS STATUS,2 GOTO B10 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X06 MOVWF ARMAN1 BSF PORTE,0 BCF PORTE,1 BCF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B10 MOVLW 0X0A
99
XORWF ARMA1,0 BTFSS STATUS,2 GOTO B11 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X05 MOVWF ARMAN1 BCF PORTE,0 BSF PORTE,1 BCF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B11 MOVLW 0X0B XORWF ARMA1,0 BTFSS STATUS,2 GOTO B12 MOVLW "3" MOVWF NARMA1 MOVLW 0X03 MOVWF NARMAH1 MOVLW 0X04 MOVWF ARMAN1 BSF PORTE,0 BSF PORTE,1 BCF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW " " MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B12 MOVLW 0X0C XORWF ARMA1,0 BTFSS STATUS,2 GOTO B13 MOVLW "2" MOVWF NARMA1 MOVLW 0X02 MOVWF NARMAH1 MOVLW 0X03 MOVWF ARMAN1 BCF PORTE,0 BCF PORTE,1 BSF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B13 MOVLW 0X0D XORWF ARMA1,0 BTFSS STATUS,2 GOTO B14 MOVLW "3" MOVWF NARMA1
100
MOVLW 0X03 MOVWF NARMAH1 MOVLW 0X02 MOVWF ARMAN1 BSF PORTE,0 BCF PORTE,1 BSF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW " " MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B14 MOVLW 0X0E XORWF ARMA1,0 BTFSS STATUS,2 GOTO B15 MOVLW "3" MOVWF NARMA1 MOVLW 0X03 MOVWF NARMAH1 MOVLW 0X01 MOVWF ARMAN1 BCF PORTE,0 BSF PORTE,1 BSF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW " " MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 B15 MOVLW 0X0F XORWF ARMA1,0 BTFSS STATUS,2 GOTO ARMY MOVLW "4" MOVWF NARMA1 MOVLW 0X04 MOVWF NARMAH1 MOVLW 0X00 MOVWF ARMAN1 BSF PORTE,0 BSF PORTE,1 BSF PORTE,2 BSF PORTC,3 BCF PORTC,7 MOVLW "5" MOVWF FUSIL5 MOVLW "6" MOVWF FUSIL6 MOVLW "7" MOVWF FUSIL7 MOVLW "8" MOVWF FUSIL8 GOTO VERIFI3 VERIFI3 MOVLW 0X00 XORWF ARMA2,0 BTFSS STATUS,2 GOTO F1 MOVLW 0X00 MOVWF NARMAH2 MOVLW 0X0F MOVWF ARMAN2 BCF PORTC,4 BCF PORTC,5 BCF PORTC,7
101
MOVLW " " MOVWF FUSIL9 MOVLW " " MOVWF FUSILL MOVLW " " MOVWF FUSILF GOTO CONVER F1 MOVLW 0X01 XORWF ARMA2,0 BTFSS STATUS,2 GOTO F2 MOVLW 0X01 MOVWF NARMAH2 MOVLW 0X0E MOVWF ARMAN2 BSF PORTC,4 BCF PORTC,5 BCF PORTC,7 MOVLW "9" MOVWF FUSIL9 MOVLW " " MOVWF FUSILL MOVLW " " MOVWF FUSILF GOTO CONVER F2 MOVLW 0X02 XORWF ARMA2,0 BTFSS STATUS,2 GOTO F3 MOVLW 0X01 MOVWF NARMAH2 MOVLW 0X0D MOVWF ARMAN2 BCF PORTC,4 BSF PORTC,5 BCF PORTC,7 MOVLW " " MOVWF FUSIL9 MOVLW "1" MOVWF FUSILL MOVLW "0" MOVWF FUSILF GOTO CONVER F3 MOVLW 0X03 XORWF ARMA2,0 BTFSS STATUS,2 GOTO ARMY MOVLW 0X02 MOVWF NARMAH2 MOVLW 0X0C MOVWF ARMAN2 BSF PORTC,4 BSF PORTC,5 BCF PORTC,7 MOVLW "9" MOVWF FUSIL9 MOVLW "1" MOVWF FUSILL MOVLW "0" MOVWF FUSILF GOTO CONVER CONVER MOVLW " " MOVWF NARMAL MOVF NARMAH1,W ADDWF NARMAH,1 MOVF NARMAH2,W ADDWF NARMAH,1 MOVLW 0X00 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N1 MOVLW "0" MOVWF NARMA GOTO FIN N1 MOVLW 0X01 XORWF NARMAH,0
102
BTFSS STATUS,2 GOTO N2 MOVLW "1" MOVWF NARMA GOTO FIN N2 MOVLW 0X02 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N3 MOVLW "2" MOVWF NARMA GOTO FIN N3 MOVLW 0X03 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N4 MOVLW "3" MOVWF NARMA GOTO FIN N4 MOVLW 0X04 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N5 MOVLW "4" MOVWF NARMA GOTO FIN N5 MOVLW 0X05 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N6 MOVLW "5" MOVWF NARMA GOTO FIN N6 MOVLW 0X06 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N7 MOVLW "6" MOVWF NARMA GOTO FIN N7 MOVLW 0X07 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N8 MOVLW "7" MOVWF NARMA GOTO FIN N8 MOVLW 0X08 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N9 MOVLW "8" MOVWF NARMA GOTO FIN N9 MOVLW 0X09 XORWF NARMAH,0 BTFSS STATUS,2 GOTO N10 MOVLW "9" MOVWF NARMA GOTO FIN N10 MOVLW 0X0A XORWF NARMAH,0 BTFSS STATUS,2 GOTO ARMY MOVLW "1" MOVWF NARMA MOVLW "0" MOVWF NARMAL GOTO FIN FIN RETURN ;--------------------------------------------------
103
; VISUALIZACION # DE ARMAS ;--------------------------------------------------- MOSTRA CALL REVISION CALL MUESTRA CALL LAESPA CALL LAH CALL LAA CALL LAY CALL LAESPA MOVF NARMA,W CALL CONTROL3 MOVF NARMAL,W CALL CONTROL3 CALL LAESPA CALL LAF CALL LAU CALL LAS CALL LAI CALL LAL CALL LAE CALL LAS CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO CALL LIMPIA CALL FILA1 CALL LAESPA MOVF FUSIL1,W CALL CONTROL3 CALL LAESPA MOVF FUSIL2,W CALL CONTROL3 CALL LAESPA MOVF FUSIL3,W CALL CONTROL3 CALL LAESPA MOVF FUSIL4,W CALL CONTROL3 CALL LAESPA MOVF FUSIL5,W CALL CONTROL3 CALL FILA2 CALL LAESPA MOVF FUSIL6,W CALL CONTROL3 CALL LAESPA MOVF FUSIL7,W CALL CONTROL3 CALL LAESPA MOVF FUSIL8,W CALL CONTROL3 CALL LAESPA MOVF FUSIL9,W CALL CONTROL3 CALL LAESPA MOVF FUSILL,W CALL CONTROL3 MOVF FUSILF,W CALL CONTROL3 CALL REVISION CALL SEGUNDO CALL SEGUNDO CALL SEGUNDO CALL REVISION RETURN ;************************************************************************************************* ; CONFIGURACION DEL LCD ;************************************************************************************************* LCD MOVLW 0X06 CALL CONTROL1 MOVLW 0X0C CALL CONTROL1 MOVLW 0X17 CALL CONTROL1 MOVLW 0X38
104
CALL CONTROL1 RETURN LIMPIA MOVLW 0X01 ;LIMPIAR LCD CALL CONTROL1 MOVLW 0X03 ;CURSOR A CASA CALL CONTROL1 RETURN CONTROL1 ;RUTINA PARA CONTROL E ENABLE "AL SER PALABRA DE CONTROL" BCF PORTA,0 NOP NOP NOP NOP NOP MOVWF PORTB CALL ENABLE RETURN CONTROL2 BSF PORTA,0 ;RUTINA PARA CONTROL E ENABLE "AL SER DATO" NOP NOP NOP NOP NOP NOP NOP NOP MOVWF PORTB CALL ENABLE RETURN ENABLE NOP BSF PORTA,1 NOP NOP NOP NOP NOP NOP NOP BCF PORTA,1 NOP NOP RETURN RETARD MOVLW .10 ;40 MOVWF CONT MOVLW .100 MOVWF CONT1 DECFSZ CONT1,1 GOTO $-1 DECFSZ CONT,1 GOTO $-5 RETURN SEGUNDO MOVLW D'6' ;RUTINAS DE RETARDO EQUIVALENTE A UN SEGUNDO MOVWF CONT1 MOVLW D'24' MOVWF CONT MOVLW D'168' ;D'168' MOVWF CONT2 LOOPA DECFSZ CONT2,1 GOTO LOOPA DECFSZ CONT,1 GOTO LOOPA DECFSZ CONT1,1 GOTO LOOPA RETURN MUESTRA BANCO1 MOVLW B'00000000' MOVWF TRISB ; CONFIG EL PUERTOB COMO OUT BANCO0 CALL LCD CALL LIMPIA
105
CALL FILA1 CALL LAESPA RETURN NIBLOS CLRF NDATOS ; AGRUPA LOS DATOS DIGITADOS EN SWAPF DATO1,0 ; DOS GRUPOS PARA LUEGO COMPARAR IORWF DATO2,1 ; GUARDANDOLOS EN DATO2 Y DATO 4 SWAPF DATO3,0 IORWF DATO4,1 RETURN CAMBIO MOVLW 0X01 XORWF MENUF,0 BTFSS STATUS,2 GOTO L2 MOVLW "1" MOVWF MENA MOVWF MENAO MOVLW "B" MOVWF MENAIN GOTO LP L2 MOVLW 0X02 XORWF MENUF,0 BTFSS STATUS,2 GOTO L3 MOVLW "2" MOVWF MENA MOVWF MENAO MOVLW "C" MOVWF MENAIN GOTO LP L3 MOVLW 0X03 XORWF MENUF,0 BTFSS STATUS,2 GOTO L4 MOVLW "3" MOVWF MENA MOVWF MENAO MOVLW "D" MOVWF MENAIN GOTO LP L4 MOVLW 0X04 XORWF MENUF,0 BTFSS STATUS,2 GOTO L5 MOVLW "4" MOVWF MENA MOVWF MENAO MOVLW "E" MOVWF MENAIN GOTO LP L5 MOVLW 0X05 XORWF MENUF,0 BTFSS STATUS,2 GOTO L6 MOVLW "5" MOVWF MENA MOVWF MENAO MOVLW "F" MOVWF MENAIN GOTO LP L6 MOVLW 0X06 XORWF MENUF,0 BTFSS STATUS,2 GOTO L7 MOVLW "6" MOVWF MENA MOVWF MENAO MOVLW "G" MOVWF MENAIN GOTO LP L7 MOVLW 0X07 XORWF MENUF,0 BTFSS MENUF,2 GOTO L8 MOVLW "7" MOVWF MENA
106
MOVWF MENAO MOVLW "H" MOVWF MENAIN GOTO LP L8 MOVLW 0X08 XORWF MENUF,0 BTFSS STATUS,2 GOTO L9 MOVLW "8" MOVWF MENA MOVWF MENAO MOVLW "I" MOVWF MENAIN GOTO LP L9 MOVLW 0X09 XORWF MENUF,0 BTFSS STATUS,2 GOTO L10 MOVLW "9" MOVWF MENA MOVWF MENAO MOVLW "J" MOVWF MENAIN GOTO LP L10 MOVLW 0X0A XORWF MENUF,0 BTFSS STATUS,2 GOTO LZ MOVLW "A" MOVWF MENA MOVWF MENAO MOVLW "K" MOVWF MENAIN GOTO LP LZ MOVLW 0X01 XORWF ONE,0 BTFSS STATUS,2 GOTO LC GOTO LF LP RETURN TRANSMI BSF PORTC,7 MOVF ARMAN,0 MOVWF PORTA BCF PORTC,6 CALL RETARD CALL RETARD CALL RETARD BSF PORTC,6 MOVF ARMAN1,0 MOVWF PORTA BCF PORTC,6 CALL RETARD CALL RETARD CALL RETARD BSF PORTC,6 MOVF ARMAN2,0 MOVWF PORTA BCF PORTC,6 CALL RETARD CALL RETARD CALL RETARD BSF PORTC,6 RETURN END
107
ANEXO G: CÓDIGO DE PROGRAMA EN VISUAL Dim Datos As String Dim tiempo_de_grabado As Integer Dim grabado_segundos As Integer Dim tiempo_de_registro As Integer Dim est_visible_tran As Integer Dim fusil1 As String Dim fusil2 As String Dim fusil3 As String Dim fusil4 As String Dim fusil5 As String Dim fusil6 As String Dim fusil7 As String Dim fusil8 As String Dim fusil9 As String Dim fusil10 As String Dim Fusil1paragrabar As String Dim Fusil2paragrabar As String Dim Fusil3paragrabar As String Dim Fusil4paragrabar As String Dim Fusil5paragrabar As String Dim Fusil6paragrabar As String Dim Fusil7paragrabar As String Dim Fusil8paragrabar As String Dim Fusil9paragrabar As String Dim Fusil10paragrabar As String Private Sub Command1_Click() End End Sub Private Sub Command2_Click() ' desaparecen todos los objetos Timer_refrescar.Enabled = False Label2.Visible = False Label3.Visible = False Label4.Visible = False Label6.Visible = False
108
Label7.Visible = False Label8.Visible = False Label9.Visible = False Label10.Visible = False Label11.Visible = False Label12.Visible = False Shape1(0).Visible = False Shape1(1).Visible = False Shape1(2).Visible = False Shape1(3).Visible = False Shape1(4).Visible = False Shape1(5).Visible = False Shape1(6).Visible = False Shape1(7).Visible = False Shape1(8).Visible = False Shape1(9).Visible = False Shape1(10).Visible = False Shape1(11).Visible = False Shape1(12).Visible = False Shape1(13).Visible = False Shape1(14).Visible = False Shape1(15).Visible = False Shape1(16).Visible = False Shape1(17).Visible = False Shape1(18).Visible = False Shape1(19).Visible = False Picture4(0).Visible = False Picture4(1).Visible = False Picture4(3).Visible = False Picture4(5).Visible = False Picture4(6).Visible = False Picture4(7).Visible = False Picture4(8).Visible = False Picture4(10).Visible = False Picture4(4).Visible = False Picture4(9).Visible = False Command2.Visible = False Command4.Visible = True Command7.Visible = True 'cambio de capition Label1.Caption = "Estado del sistema" 'hacer visibles los de configuracion Label13.Visible = True Label5.Visible = True
109
Text1.Visible = True End Sub Private Sub Command3_Click() texto.Visible = True Command6.Visible = True Label1.Visible = False End Sub Private Sub Command5_Click() 'regresa a estado incial If Command5.Caption = "Regresar" Then Text2.Visible = False Label14.Visible = False Command5.Caption = "Estado de transimision central" est_visible_tran = 1 10 GoTo line10 End If 'hacer visible la transmision del pic If est_visible_tran = 1 Then Text2.Visible = True Label14.Visible = True Command5.Caption = "Regresar" est_visible_tran = 2 11 GoTo line11 End If line11: line10: End Sub Private Sub Command6_Click() texto.Visible = False Command6.Visible = False Label1.Visible = True End Sub
110
Private Sub Command7_Click() tiempo_de_registro = Text1.Text End Sub Private Sub Command8_Click() Dim s, v As String If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If s = "" s = MSComm1.Input If s = "" Then 1 GoTo err End If v = "" v = Mid(s, 2, 10) Datos = v Text2.Text = Datos MSComm1.PortOpen = False err: End Sub Private Sub Form_Load() est_visible_tran = 1 MSComm1.PortOpen = True Datos = "" 'tiempo en minutos tiempo_de_grabado = 0 tiempo_de_registro = 10 'grabado_segundos = 0 End Sub Private Sub Timer1_Timer() LF = Mid(Now(), 1, 11) LH = Mid(Now(), 11, 13)
111
Lfecha.Caption = "Fecha = " & LF lhora.Caption = "Hora = " & LH End Sub Private Sub Command4_Click() 'visible los objetos iniciales Timer_refrescar.Enabled = True Label2.Visible = True Label3.Visible = True Label4.Visible = True Label6.Visible = True Label7.Visible = True Label8.Visible = True Label9.Visible = True Label10.Visible = True Label11.Visible = True Label12.Visible = True 'Shape1(0).Visible = True 'Shape1(1).Visible = True 'Shape1(2).Visible = True 'Shape1(3).Visible = True 'Shape1(4).Visible = True 'Shape1(5).Visible = True 'Shape1(6).Visible = True 'Shape1(7).Visible = True 'Shape1(8).Visible = True 'Shape1(9).Visible = True Picture4(0).Visible = True Picture4(1).Visible = True Picture4(3).Visible = True Picture4(5).Visible = True Picture4(6).Visible = True Picture4(7).Visible = True Picture4(8).Visible = True Picture4(10).Visible = True Picture4(4).Visible = True Picture4(9).Visible = True Command2.Visible = True 'aparece los que no se necesitam Text1.Visible = False Label13.Visible = False Command4.Visible = False Label5.Visible = False Command7.Visible = False
112
End Sub Private Sub MSComm1_OnComm() 'declara conexion Dim s, v As String ' s = MSComm1.Input ' v = Mid(s, 2, 9) ' Datos = v ' Text2.Text = Datos End Sub Private Sub Timer_estado_Timer() End Sub Private Sub Timer_grabacion_Timer() '' copiar en un archivo 'grabado_segundos = 0 grabado_segundos = grabado_segundos + 1 If grabado_segundos = 60 Then tiempo_de_grabado = tiempo_de_grabado + 1 grabado_segundos = 0 End If If tiempo_de_grabado = tiempo_de_registro Then SLink.Visible = True Label15.Visible = True FN = FreeFile Fecha = Mid(Now(), 1, Len(Now())) Open "C:\Base de datos.USB" For Append As #FN Print #FN, Fecha, Print #FN, Fusil1paragrabar, 'If FUSILPARAGRABAR = "" Then ' Print #FN, "A ESTA HORA SE INCIO EL PROGRAMA DE CONTROL" 'End If Print #FN, Fusil2paragrabar, Print #FN, Fusil3paragrabar, Print #FN, Fusil4paragrabar, Print #FN, Fusil5paragrabar, Print #FN, Fusil6paragrabar,
113
Print #FN, Fusil7paragrabar, Print #FN, Fusil8paragrabar, Print #FN, Fusil9paragrabar, Print #FN, Fusil10paragrabar Close #FN 1 GoTo line1 End If SLink.Visible = False line1: End Sub Private Sub timer_hora_Timer() LF = Mid(Now(), 1, 11) LH = Mid(Now(), 11, 13) Lfecha.Caption = "Fecha = " & LF lhora.Caption = "Hora = " & LH End Sub Private Sub Timer_lectura_Timer() Text2.Text = Datos fusil1 = "" fusil2 = "" fusil3 = "" fusil4 = "" fusil5 = "" fusil6 = "" fusil7 = "" fusil8 = "" fusil9 = "" fusil10 = "" fusil1 = Mid(Datos, 1, 1) fusil2 = Mid(Datos, 2, 1) fusil3 = Mid(Datos, 3, 1) fusil4 = Mid(Datos, 4, 1) fusil5 = Mid(Datos, 5, 1) fusil6 = Mid(Datos, 6, 1) fusil7 = Mid(Datos, 7, 1) fusil8 = Mid(Datos, 8, 1) fusil9 = Mid(Datos, 9, 1) fusil10 = Mid(Datos, 10, 1) tiempo_de_grabar = tiempo_de_grabar + 1 End Sub
114
Private Sub Timer_refrescar_Timer() Dim s, v As String 'hacer visible los parametros de almacenamiento Text1.Text = tiempo_de_registro Label5.Caption = "El tiempo de verificacion de alamacenamiento es de: " & tiempo_de_registro & " Minutos" If fusil1 = "1" Then Shape1(0).Visible = True Fusil1paragrabar = "Fusil 1 SI" Else Shape1(0).Visible = False End If If fusil2 = "1" Then Shape1(1).Visible = True Fusil2paragrabar = "Fusil 2 SI" Else Shape1(1).Visible = False End If If fusil3 = "1" Then Shape1(2).Visible = True Fusil3paragrabar = "Fusil 3 SI" Else Shape1(2).Visible = False End If If fusil4 = "1" Then Shape1(3).Visible = True Fusil4paragrabar = "Fusil 4 SI" Else Shape1(3).Visible = False End If If fusil5 = "1" Then Shape1(4).Visible = True Fusil5paragrabar = "Fusil 5 SI" Else Shape1(4).Visible = False End If If fusil6 = "1" Then Shape1(5).Visible = True Fusil6paragrabar = "Fusil 6 SI" Else Shape1(5).Visible = False
115
End If If fusil7 = "1" Then Shape1(6).Visible = True Fusil7paragrabar = "Fusil 7 SI" Else Shape1(6).Visible = False End If If fusil8 = "1" Then Shape1(7).Visible = True Fusil8paragrabar = "Fusil 8 SI" Else Shape1(7).Visible = False End If If fusil9 = "1" Then Shape1(8).Visible = True Fusil9paragrabar = "Fusil 9 SI" Else Shape1(8).Visible = False End If If fusil10 = "1" Then Shape1(9).Visible = True Fusil10paragrabar = "Fusil 10 SI" Else Shape1(9).Visible = False End If 'hacer visible los parametros fuera de almacenamiento If fusil1 = "0" Then Shape1(19).Visible = True Fusil1paragrabar = "Fusil 1 NO" Else Shape1(19).Visible = False End If If fusil2 = "0" Then Shape1(18).Visible = True Fusil2paragrabar = "Fusil 2 N0" Else Shape1(18).Visible = False End If If fusil3 = "0" Then Shape1(17).Visible = True Fusil3paragrabar = "Fusil 3 NO" Else Shape1(17).Visible = False End If If fusil4 = "0" Then
116
Shape1(16).Visible = True Fusil4paragrabar = "Fusil 4 NO" Else Shape1(16).Visible = False End If If fusil5 = "0" Then Shape1(15).Visible = True Fusil5paragrabar = "Fusil 5 NO" Else Shape1(15).Visible = False End If If fusil6 = "0" Then Shape1(14).Visible = True Fusil6paragrabar = "Fusil 6 NO" Else Shape1(14).Visible = False End If If fusil7 = "0" Then Shape1(13).Visible = True Fusil7paragrabar = "Fusil 7 NO" Else Shape1(13).Visible = False End If If fusil8 = "0" Then Shape1(12).Visible = True Fusil8paragrabar = "Fusil 8 NO" Else Shape1(12).Visible = False End If If fusil9 = "0" Then Shape1(11).Visible = True Fusil9paragrabar = "Fusil 9 NO" Else Shape1(11).Visible = False End If If fusil10 = "0" Then Shape1(10).Visible = True Fusil2paragrabar = "Fusil 10 NO" Else Shape1(10).Visible = False End If End Sub Private Sub Timer_simulacion_Timer()
117
'protocolo de transimicion simulada '50000000005 Dim a As Integer Dim X(0 To 12) For a = 0 To 1 Next a Datos = "511111111115" Datos = Mid(Datos, 2, 10) End Sub Private Sub Timer2_Timer() Command8.Value = True End Sub Private Sub Timer3_Timer() If fusil10 = "4" Then Picture6.Visible = True End If End Sub