CERRADURA CON TARJETAS TELEFONICAS

El principal objetivo de realizar este proyecto es, primeramente, crear un dispositivo capaz de realizar la lectura y almacenamiento de algunos bytes importantes (número de serie) para después compararlos al volver a introducirla y así poder utilizarla como una cerradura electrónica. También se podría utilizar para activar algunos dispositivos eléctricos o electrónicos, que requieran seguridad para su activación.

DESARROLLO

Las tarjetas telefónicas tienen en su interior, un microprocesador en el cual con sólo 128 bits, el teléfono es capaz de identificar información como ser: país fabricante de la tarjeta y saldo de la tarjeta.

Para poder leer la tarjeta, el teléfono necesita sincronizar señales eléctricas del tipo digital en cada una de los contactos de la tarjeta.

Por ejemplo, para poder descontar saldo se hace una rutina diferente que la rutina para realizar la lectura de cada uno de los bits, hay otra rutina que se encarga de resetear la tarjeta y así diversas rutinas encargadas de hacer verificaciones, validaciones y otras cuestiones de seguridad.

Las tarjetas actualmente utilizadas en México, son las llamadas ”tarjetas de segunda generación”, ya que las de la primera generación contaban con 256 bits.

Primero realicé un programa en c++, que se encarga de leer el número de serie de las tarjetas telefónicas de 128 bits. Este programa trabaja en msdos y se conecta en el puerto paralelo de la PC y se encarga de leer solamente la parte correspondiente del número de serie.

El programa lo puede bajar de nuestra web en www.webelectronica- .com.ar con la clave “cerradura”. El diagrama de conexiones para el puerto paralelo es el de la figura 1 y es necesario utilizar una fuente externa de alimentación para obtener mejores resultados.

El programa es muy sencillo y sólo basta con correrlo después de conectar el lector de la tarjeta, teclear la letra correspondiente y luego dar Enter para leer el número de serie en hexadecimal, que es el mismo que se va a poner en el programa de ensamblador. El aspecto del programa lector lo vemos en la figura 2.

Después de leer la tarjeta se obtiene el código en hexadecimal, tal como se observa en la figura 3.

En la figura 4 se ve el mapa de bits y su correspondencia a cada función, por eso puse con negritas la parte que más interesa de la tarjeta, la razón de escoger esta parte, es por que esta sección nunca se modifica y la sección del descuente se va decrementando.

Cada vez que se hace una llamada, estos bits van a servir para programarlos en el PIC y así poder hacer la validación de la tarjeta.

Es por eso, que más adelante se va a explicar cómo se ignoran los 24 bits del comienzo para sólo leer los 4 bytes del número de serie.

Después de eso investigué acerca de las rutinas de lectura de una de estas tarjetas, en una página de hackers en la cual se hablaba de los emuladores.

En la figura 5 se ve una de las rutinas que hace la caseta para poder leer los bits de la tarjeta. En el PIC, va a ser necesario dos salidas, una para el control de la tarjeta y otra para leer el contacto de I/O.

Primero se debe realizar el reset poniendo a uno RST, luego subiendo a CLK. Finalmente se baja primero el CLK y por último el RST.

Con esto, el PIC deberá estar leyendo el primer BIT del mapa de la tarjeta; para leer los restantes, sólo basta con generar pulsos de reloj en el contacto CLK y por cada uno se obtendrá un BIT.

En la figura 6 vemos el gráfico del programa ICPROG. Para leer y grabar pics se verifica que los datos de la tarjeta “opcional” se guardaron en la EEPROM, después de poner el código correcto del dip switch.

 
FUNCIONAMIENTO DEL CIRCUITO
El circuito sólo se presenta con la ranura para poder insertar la tarjeta, el circuito está programado con 5 mapas de tarjetas telefónicas con las cuales se puede accionar la cerradura. Cuenta también con un dip switch que se coloca en el interior del lugar donde se va instalar la cerradura, y sirve para dar de alta una sexta tarjeta.

Para dar de alta la sexta tarjeta sólo se tiene que poner el código binario en los switchs luego se inserta la tarjeta, cuando prenda el led de “retirar tarjeta”, los bits quedan almacenados en la memoria EEPROM del PIC, por lo tanto no son volátiles.

El circuito tiene 3 leds. El verde (meter) indica que se debe insertar una tarjeta, el rojo (sacar) que se debe retirar y el amarillo (abierto) indica que se logró accionar la cerradura.

En la salida RB5 se puede adaptar el cerrojo eléctrico por medio de un transistor, optoacoplador o un relevador.

En la figura 7 vemos el diagrama de la cerradura y en la figura 8 se visualizan los datos de la tarjeta a través del programa.

 
Autor: Antonio Ignacio Esquivel Méndez
Dedicado a mi novia y futura esposa. Gracias Janet.
FIGURA 1
 
FIGURA 2
 
FIGURA 3
 
FIGURA 4
 
FIGURA 5
 
FIGURA 6
 
FIGURA 7
 
FIGURA 8