HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

Sistema de identificación automática por radiofrecuencia RFID, para control de asistencia con sistema Bolt 18F2550.

 

VER VIDEO

 

Descripción: en el tutorial de sistemas RFID se mostró la teoría de funcionamiento de estos novedosos sistemas. Puede ver aquí la información de un proyecto previo realizado con el sistema EB88.

Empleando las mayores capacidades del microcontrolador 18F2550, se desarrolló un proyecto experimental para control de asistencia, basado en el circuito detector ID-12, que cuenta con antena integrada, y tarjetas plásticas EM-4002. El ID-12 se adaptó a un conector serial DB9 para conectarlo al sistema Bolt-18F2550, como se muestra en la foto.

Cuando la tarjeta plástica ó TAG se acerca a una distancia igual o menor a 10 cms del circuito ID-12, éste envía a través de su puerto serial, la identificación del "TAG",  que consiste en un string de 16 bytes, 12 de los cuales son caracteres con datos hexadecimales codificados en ASCII.

El sistema Bolt-18F2550 recibe estos datos y muestra la información en un LCD 16 x 1. Se desarrollaron varios programas de prueba en C para el compilador C18.

 

 

FORMATO DEL STRING ASCII: 16 BYTES

STX (02H) DATOS (10 ASCII) CHECK SUM (2 ASCII) CR LF ETX (03H)

Cada tarjeta plástica EM4002, contiene una identificación única, grabada previamente de fábrica en el propio microchip de la tarjeta. Este microchip emite su identificación al acercar la tarjeta a unos 10 cms del detector.

Mediante un buzzer y un led, se proporciona realimentación acústica y visual al usuario, cada vez que el circuito escáner ID-12 reconoce y valida la información digital (en canal de radiofrecuencia, a 125 khz), proveniente de la tarjeta EM4002.

El circuito ID-12 recibe los datos, los decodifica y envía a su vez 16 caracteres ASCII al sistema de microcontrol Bolt-18F2550. Los 10 datos ASCII y los 2 caracteres de check sum que son los que constituyen la identificación del TAG, se muestran en el LCD 16 x 1. Posteriormente, los 4 últimos dígitos del TAG son comparados con los elementos correspondientes de los arreglos almacenados en la memoria FLASH del microcontrolador, como se explica enseguida.

 

PROGRAMA EN C18, MANEJO DE ARREGLOS MULTIDIMENSIONALES

El programa contiene las funciones básicas del sistema de control de asistencia: identificación del tag, comparación con los datos del arreglo bidimensional y finalmente mostrar el nombre de la persona en el display LCD 16 x 1. Como extensión del proyecto, es posible añadir la integración de un archivo de datos con las asistencias y su posterior trasmisión del sistema Bolt 18F2550 hacia una PC.

El programa está desarrollado en C, utilizando el compilador C18 v.3.40 y el MPLAB IDE v.8.63.  Haciendo uso de las capacidades del compilador C18, se utilizó un arreglo bidimensional para almacenar la lista de asistencia. El programa es el siguiente: C18-BOLT-RFID-3.c Las librerías que lo acompañan puede encontrarlas aquí: Librerías Bolt 18F2550.

En el ejemplo mostrado abajo, se almacenaron únicamente 8 registros (un registro por persona), pero podrían ser hasta 100 sin ningún problema en cuanto al uso de memoria, que consumiría apenas 2k de los 32k disponibles. Observe como los últimos 4 dígitos del tag y el nombre de la persona son almacenados en el mismo arreglo, de tal manera de facilitar la identificación.

Asimismo, utilizando las facilidades para el manejo de pointers, se define, un arreglo de arreglos llamado "masterarray[ ]", a base de apuntadores. De esta forma es posible tener acceso a cualquier arreglo ó elemento del arreglo a base de subíndices que son manejados en el programa como variables enteras. De esta manera se vuelve sencillo tanto realizar comparaciones como extraer datos.

const char TAG[ ]=">>TAG<<";
const char s1[ ]="19AEJOSE HERNANDEZ"; //ULTIMOS 4 DIGITOS DEL TAG Y NOMBRE DE LA PERSONA
const char s2[ ]="F1F9PABLO JIMENEZ ";
const char s3[ ]="1BACPAOLA ESPINOZA";
const char s4[ ]="1AADJAIME BETANZOS";
const char s5[ ]="F28DLUIS ROBLEDO ";
const char s6[ ]="A723ROBERTO LIMON ";
const char s7[ ]="29E6JOHN CASTELAR ";
const char s8[ ]="359ADAISY PEREZ       ";
const char *masterarray[ ]={s1,s2,s3,s4,s5,s6,s7,s8}; //ARREGLO FORMADO POR ARREGLOS

Al pasar un tag cerca del escáner, la lectura de los datos enviados por el circuito ID-12, que es un string de 12 caracteres ASCII por el puerto serial con el formato explicado arriba, se realiza a través de 1 sola función estándar del C18:

getsUSART(array,12);

 

 

id12221.jpg (20349 bytes)

CIRCUITO ID-12

 

ID-12 PINES.jpg (44545 bytes)

ASIGNACION DE SEÑALES

 

ID12 005.jpg (70304 bytes)

BASE ESPECIAL PARA ID-12

 

ID12 006.jpg (68327 bytes)

BUZZER EN PROTOTIPO

 

ID12 008.jpg (75411 bytes)

BASE SPARKFUN LISTA

 

ID12 009.jpg (67438 bytes)

PROTOTIPO LISTO

 

 

 


SISTEMA COMPLETO DE IDENTIFICACION Y CONTROL DE ACCESO, PUEDE ALIMENTARSE DESDE EL CABLE USB Ó CON UN ELIMINADOR DE BATERÍAS.

NOTA IMPORTANTE:

El módulo Bolt proporciona la alimentación de 5 volts al circuito serial RFID a través del pin 7 (señal RTS) de su conector DB9.

 

 

 

TARJETA EM4002

tag.jpg (27233 bytes)

DIAGRAMA Y PROGRAMAS:

Diagrama electrónico:

DIAGRAMA RFID.PDF
Programa fuente prueba básica C18-BOLT-RFID.c
Archivo ejecutable C18-BOLT-RFID.hex
Programa fuente versión final C18-BOLT-RFID-3.c
Archivo ejecutable C18-BOLT-RFID-3.hex

 

INFORMACION ADICIONAL: El circuito ID-12, así como las tarjetas plásticas EM-4002 puede adquirirlas en AG ELECTRONICA. La base especial SPARKFUN (de color rojo) para el ID-12 puede encontrarla en www.electronicaestudio.com/robotica.htm.  La placa fenólica de 4.5 x 4.5 cms, clave 155 es de STEREN.

El resto de las componentes puede adquirirlas en diversas tiendas en la calle República del Salvador en el Centro de la Ciudad de México.