aplicacion practicaÞ RAPH


Aplicación Práctica para RAHP

Computadora para Identificación Personal

Galindo Cohen Mauricio, Lozano Velásquez Ma. de Lourdes, Martínez Zavala Daniel, Naranjo Sandoval Martha, Muñoz Gutiérrez Andrea.

Colegio Carol Baur

A Quien Corresponda:

Un año de intenso trabajo arroja como resultado el proyecto que los alumnos del Colegio Carol Baur presentan en el encuentro de investigación del sistema incorporado 2007, estos alumnos resultaron ganadores del primer lugar el año pasado con el proyecto “RAHP” Red Accesible a Través de la Humedad de la Piel, el principio de funcionamiento es transmitir datos aprovechando la conductividad natural de la piel humana lo que se demostró como posible, viable y factible. En dicho trabajo, se propusieron múltiples aplicaciones del dispositivo, entre ellas, la seguridad.

El presente trabajo es el resultado de desarrollar en el ciclo escolar 2006-2007 tal aplicación, para ello, los alumnos aprendieron a programar usando lenguaje ensamblador PICs (concretamente el 16f84A) y elaboraron diligentemente el dispositivo que habiendo sido probado, resultó de nuevo un éxito.

Ha sido para mi un orgullo asesorar dicho trabajo, doy fe que el compromiso y las habilidades de los alumnos autores del trabajo se han puesto en juego y han conseguido lo que considero un gran proyecto, con implicaciones profundas y utilidad indiscutible y que les han permitido continuar con una investigación previamente probada para plantear ahora una solución real a problemas comunes de la vida diaria.

Seguro que el esfuerzo combinado de nuestra Máxima casa de estudios con el de los estudiantes que forman su fuerza motriz, nuestro país tiene brillante futuro.

Atte.- Colegio Carol Baur

Ing. J. Antonio Romero Pliego

Profesor de Informática

Expediente 99054667

Resumen

La transmisión de datos por métodos comunes resulta cara, ineficiente y lenta,

Para evitar estos inconvenientes se propuso y construyó en el 2006 un dispositivo que transmitiera datos a través de la humedad de la piel eliminando la necesidad de cualquier otro dispositivo.

Éste año los miembros del Taller de Robótica del Colegio Carol Baur nos dimos a la tarea de desarrollar una aplicación práctica de el proyecto antes mencionado, la aplicación consiste en un dispositivo de seguridad instalado en las manijas de las puertas que reciba de un dispositivo de identificación personal instalado en el cinturón del usuario y conectado a su piel mediante un electrodo que permita el acceso de los trabajadores a las instalaciones. Para hacerlo se pensó en un dispositivo pequeño, de bajo costo económico, que fuera portátil , seguro, fácil de usar y que pueda transmitir datos a cualquier computadora. Después de analizar nuestros requerimientos, el asesor nos sugirió usar PICs para fabricar el dispositivo de identificación. Los PIC son dispositivos que cumplen con las características definidas para el desarrollo del proyecto, cuentan con puertos de entrada y salida, consumen poca energía, son económicos, fáciles de conseguir, programables y hay una gran cantidad de recursos de referencia para su uso. Usando PICS y un programa elaborado en Visual Basic, el 97% de las pruebas hechas dieron como resultado la transmisión correcta de la información del usuario al dispositivo de seguridad.

Aplicación Práctica de RAHP

Computadora para Identificación Personal

Introducción:

Planteamiento del problema:

La computadora requiere dispositivos (monitores, impresoras, etc.) para mostrar los resultados de procesos realizados en el CPU y transmitir información a otros dispositivos. Estos se conectan por medios que resultan caros e ineficientes (cables, antenas, etc.) limitando su funcionamiento.

Antecedentes:

En el Encuentro de investigación 2006 fue presentado el trabajo “Red Accesible A Través de la Humedad de la Piel” (RAHP) que permite la transmisión de información digital usando como conductor la piel humana. En él se hacían algunas propuestas de aplicación práctica y el proyecto que presentamos en esta ocasión es una computadora para Identificación Personal basada en el principio RAHP.

Propósito:

-Generar un dispositivo que permita al individuo identificarse. Este será:

a) Seguro, ya que si llegara a perder contacto con la piel se bloquearía automáticamente.

b) Práctico, ya que cualquier persona podría llegar a usarlo sin tener grandes conocimientos de computación.

c) Barato.

d) Portátil, ya que su tamaño no es mayor a la palma de una mano.

e) Portable, ya que podría llegar a trabajar con diferentes plataformas como Macintosh, Palm, etc.

d) Universal, porque uno de los propósitos de este dispositivo es almacenar todos los datos de una persona en un solo lugar.

Método:

Los materiales que usamos para el proyecto son:

- 6 caimanes

-2 placas de fenólica

-5 transistores

-1 PIC 16f84A

-1 pila de 9 volts

-Computadora

-1 Cristal de Cuarzo 4mhz

- Resistencias varias

La instrumentación que usamos fue:

En este proyecto se usa un programa hecho en Visual Basic 6.0 que se basa en el programa expuesto el año pasado adaptado para trabajar en conjunto con un micro procesador llamado PIC (Peripherial Interface Controller o Controlador de Interfaz Periférica) y adecuado a la aplicación motivo de este trabajo, es decir, la seguridad de una empresa que permite el acceso a un empleado cuando este toca la perilla de una puerta siempre que el empleado se encuentre registrado en la base de datos y tenga acceso a la zona donde pretende entrar. Cada empleado se identifica mediante un número que se almacena en la memoria de un dispositivo que tiene en su cinturón conectado con un electrodo a su piel, este dispositivo transmite el número a través de la piel hacia una terminal que lo recibe, lo busca en una base de datos, lo valida y en caso que el empleado tenga el nivel de seguridad requerido, le permite el acceso..

Lo que hicimos fue:

1.- Elegir una aplicación práctica para RAHP, esta debía ser real, es decir, resolver un problema del mundo, el cual no debía tener soluciones sencillas o si las tenia que se pudieran mejorar usando nuestro sistema, la aplicación no debía implicar gastos excesivos y con la posibilidad de hacerla en el tiempo del curso escolar por lo que debíamos evaluar si se contaba con los recursos materiales, bibliográficos, técnicos y logísticos para completarla.

2.- Escogimos usar el PIC para elaborar el dispositivo personal de identificación porque cumplía con los requisitos planteados para la aplicación que son:

3.- Creamos el protocolo de comunicación entre Computadora- PIC, los pasos para establecer comunicación entre los dos dispositivos son los siguientes:

Computadora

PIC

Paso 1

Manda 0

Espera a que se le envíe 1

Paso 2

Manda 1

Recibe 1 y Espera a recibir un 0

Paso3

Manda 0

Recibe 0 y Manda Bit n

Paso 4

Recibe el Primer Bit y Manda 0

Incrementa el valor de n en 1

Paso 5

Manda 1

Espera a que se le envíe 0

Paso 6

Manda 0

Envía bit n, analiza si n=8, si esto es afirmativo, se apaga, si no, se repite el proceso desde el paso 3

4.- Tuvimos que cambiar uno de los circuitos. La comunicación no sería computadora-computadora si no computadora-PIC, en el proyecto anterior, la comunicación entre computadoras se daba enviando y recibiendo bits de información en distintos momentos, esto por que ambas máquinas debían estar atentas a recibir de la otra bits, por lo tanto, debían escuchar y también enviar. Esto, si no se tomaban precauciones, podía generar retroalimentación, es decir, que cuando una computadora enviara datos escuchara ella misma el dato que enviaba, para evitarlo, conectamos un transistor a cada una de las 2 patas de salida del puerto, con ello, se consiguió que cuando se habilitaba la pata 2 del puerto, la computadora enviara un bit, al habilitar la pata 3, la computadora habilitaba el transistor que permitía el paso de un bit hacia las patas de entrada del puerto paralelo permitiéndole escuchar la respuesta de la otra. Alternando la activación de ambas patas pudimos controlar la transmisión-recepción y eliminar el efecto retroalimentación. El circuito quedó como se muestra en la figura 1.

El PIC ejecuta los programas de manera secuencial, es decir, las instrucciones del programa se ejecutan de arriba hacia abajo y mientras la instrucción en la segunda línea no se ejecute, no se ejecutará la de la línea tres, por ello, no era necesario alternar el encendido de patas para enviar y recibir bits ya que cuando el PIC está enviando información, aunque tuviera un nivel alto en la pata de entrada, este dato es ignorado pues el programa todavía no llega a la rutina o sección de programa en la que se le indica qué es lo que debe hacer cuando detecte la presencia de tal BIT.

El circuito del PIC quedó como se muestra en la figura 2.

El circuito hace lo siguiente:

  1. La computadora a través de la persona, activa al transistor Q2

  2. Una pila activa al Master Clear del PIC y lo alimenta por la pata VDD(14), el mismo voltaje se pone al colector del transistor Q2 , cuando el transistor se activa por que en el colector recibe de la persona (la computadora) un bit alto, el transistor permite el paso de 5 voltios a la pata 17 del PIC avisándole que fue establecida la conexión con la computadora. Esto sirve para que el PIC se active y quede preparado para iniciar la transmisión del número de identificación del usuario, en tanto el pic perciba que existe un nivel alto en su pata 17 permanece a la expectativa pues la computadora todavía no está escuchándole, en cuanto deja de sensar el bit, el pic interpreta tal cambio como una indicación por parte de la computadora de que a partir de ese momento lo está escuchando y el pic, entonces, tomará el primer bit de 8 almacenados en uno de sus registros de trabajo y enviará un nivel alto si tal bit resulta ser un 1 y un nivel bajo si resulta ser un 0. este envío se efectua mientras el pic no sense en su pata de entrada un 1 que le indicará que debe dejar de transmitir el bit y prepararse para transmitir el siguiente lo que hará cuando la computadora deje de enviar el bit y esté escuchando. El proceso se repite hasta que el pic envía los 8 bits necesarios.

5.- Hicimos el programa del PIC. Este fue desarrollado en lenguaje ensamblador.

cblock 0x0c

endc

org 0

bsf 3,5

bcf 5,0

bsf 6,0

bcf 3,5

goto siguiente

cblock

r_conta

M

L

D

x

endc

siguiente movlw d'8'

movwf r_conta

movlw b'01010101'

movwf x

escucha btfss 6,0

goto escucha

clrf r_conta

escuchad bcf 5,0

btfsc 6,0

goto escuchad

enviabit btfss x , r_conta

goto escero

goto esuno

escero bcf 5,0

goto retardo

esuno bsf 5,0

retardo decf r_conta,r_conta

movlw 0x03

movwf M

movlw 0x18

movwf L

movlw 0x02

movwf D

Delay_0 decfsz M, f

goto $+2

decfsZ L, f

goto $+2

decfsz D, f

goto Delay_0

btfsc r_conta,0

goto escuchad

goto siguiente

end

6.-Hicimos el programa de la computadora. Este fue desarrollado en Visual Basic 6.0.

Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)

Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)

Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)

Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte

Private Declare Function PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer

Private Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long

Private Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)

Private Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)

Private Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)

Private Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean

Private Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean

Private Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean

Private Declare Function IsDriverInstalled Lib "IO.DLL" () As Boolean

Public a As Boolean

Public b

Private Sub Command1_Click()

Timer2.Enabled = True

a = False

End Sub

Private Sub Timer1_Timer()

Text1.Text = PortIn(&H379)

End Sub

Private Sub Timer2_Timer()

a = Not (a)

If a = True Then

PortOut (&H378), (2)

If p10_0 < 20 And p10_1 < 20 Then

Else

If p10_1 > p10_0 Then

Text2.Text = Text2.Text & "1"

Else

If Len(Text2.Text) > 0 Then

Text2.Text = Text2.Text & "0"

End If

End If

Else

PortOut (&H378), (1)

Timer3.Enabled = True

b = 0

End If

End Sub

Private Sub Timer3_Timer()

b = CDbl(b) + 1

If b < 500 Then

If GetPortBit(&H379, 6) = True Then

'true es no recbir nada

p10_0 = CDbl(p10_0) + 1

Else

p10_1 = CDbl(p10_1) + 1

End If

Else

Timer3.Enabled = False

End If

End Sub

El programa funciona así:

Cuando el pic envía un bit 1, la computadora lo sensa por el puerto paralelo, para garantizar que lo que la computadora sensa en el puerto no es interferencia u otra fuente de voltaje, se diseñó un contador llamado p10_0 y p10_1 los cuales se incrementan de acuerdo al dato que se recibe en el puerto paralelo, si p10_1 es mayor que p10_0, tenemos la certeza estadística que lo recibido por el puerto paralelo de la computadora es un 1 proveniente del pic, la computadora entonces agrega a una caja de texto un 1, a partir de ese momento y cada medio segundo, la computadora analiza el estado de la entrada en el puerto paralelo, si es 1, usando el mismo análisis estadístico, agregará otro 1, si no recibe nada o recibe mayoritariamente 0, la computadora agrega a la caja de texto un 0, cuando completa 0 bits, la computadora deja de leer el puerto y pasa al análisis del número recibido, con él, busca en una base de datos hecha con Access el número, lo relaciona con un usuario, analiza los privilegios de seguridad de ese usuario y le permite o impide el paso a una instalación determinada.

Resultados:

El costo de RAHP es muy bajo aun cuando se le suma el PIC. Su costo total es de aproximadamente $350.

El costo de cada uno de los componentes es:

Costo Total de los circuitos: $332

Costo de licencia y programa:

-Visual Basic: $3000

- Grabador de PIC: $200

- Tiempo de programación 100 horas: $20000

Costo total: $23532.

La producción en serie reduciría los costos y este podría llegar a costar aproximadamente $500

Discusión:

En algunas pruebas descubrimos que la comunicación entre nuestros dispositivos era inconsistente. En esto influía el medio en el que trabajaban los aparatos. Al comparar el ambiente en que funcionó bien con el que producía fallas, descubrimos que el entorno en el que funcionaba era un factor determinante en su desempeño.

Factores como una tierra física inadecuada y la presencia de alfombras altera el desempeño de los transistores y por consecuencia, de todo el circuito.

Este dispositivo (tanto el proyecto inicial como sus aplicaciones prácticas) es un proyecto viable, aunque necesita ser perfeccionado.

Las mejoras que le podríamos hacer a éste aparto son:

Conclusiones:

Referencias

Figuras

Figura 1

0x01 graphic

Figura 2

0x01 graphic
0x01 graphic



Wyszukiwarka

Podobne podstrony:
CCNA Practice Certification Exam
12 151 159 Practical Tests of Coated Hot Forging Dies
first certificate practice tests and key 2
Practice File
Calligraphy Practice Sheet
A practical grammar of the Latin languag
blacksmith practice
aplication
WORD FORMATION PRACTICE N 1
Clockwise Advanced Practice Key
iesol b1 achiever answers practice paper 2
Immunonutrition in clinical practice what is the current evidence
Law and Practice for Architects
Practice Reading G
22 Practice Charts for Eye Exercises
IINS PRACTICE QUESTIONS
a practical guide on pharmacovigilance for beginners

więcej podobnych podstron