TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
23 de Abril de 2014, 15:48:05

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
342704 Mensajes en 38374 Temas por 39734 Usuarios
Último usuario: cienfuss
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje Basic para microcontroladores PIC (Moderadores: dogflu66, doppel, jansuini, Marioguillote, aitopes)
| | |-+  rfid id-20 innovations con pic 16f628a recepcion de datos ascii serin? serin2?
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Marcar como favorito Imprimir
Autor Tema: rfid id-20 innovations con pic 16f628a recepcion de datos ascii serin? serin2?  (Leído 3562 veces)
pablovillarroel
PIC10
*
Desconectado Desconectado

Chile Chile

Mensajes: 1


« : 08 de Julio de 2009, 19:09:25 »

hola a todos, primero que todo quiero agradecer a este foro por dar la posibilidad de aprender y asi mismo mostrar nuestras dudas.

Les cuento: lo que estoy intentando hacer es  comunicar el lector rfid id-20 de innovations con el pic 16f628a, los datos que recibo del lector rfid es en formato ascii  TTL Data (inverted),los datos que recibo corresponden al id (identificacion) del Tag. Una ves recibido el dato (id tag en formato ascii) lo quiero almacenar en la eeprom del pic, para posteriormente  cuando vuelva a ingresar  el tag el pic me compare si es el mismo id que almacene en la eeprom y si es igual,que el programa ejecute otra accion, en este caso enviar una palabra por otro pin del pic hacia el puerto serie del pc para poder visualizar.

Estoy ocupando la instruccion SERIN  para poder registrar el id en formato ascii en el microcontrolador en la memoria eeprom,pero no obtengo resultado ya que en el programa al visualizar en el pc me aparece solo AUTO1 independiente del tag que registre.
Alomejor tengo que ocupar serin2 pero no lo tengo muy claro. por favor si me pueden ayudar a poder recibir estos datos ascii.
desde ya muchs gracias por su tiempo y disposicion al que comente el tema.

Esta es la forma de salida del lector en formato ascii.
Output Data Structure – ASCII

STX (02h) - DATA (10 ASCII) -  CHECK SUM (2 ASCII)  - CR -  LF  - ETX (03h)
[The 1byte (2 ASCII characters) Check sum is the “Exclusive OR” of the 5 hex bytes (10 ASCII) Data characters.]

El programa que hice es el siguiente y esta en basic.

include "modedefs.bas"

auto1 var byte
auto2 var byte
auto11 var byte
auto12  var byte
id var byte
led var portb.2

inicio:
serin portb.0,N9600,auto1
pause 500
WRITE 10,auto1      ;guardar en la EEPROM0 el valor de auto1
read 10,auto11

if auto1=0 then inicio

inicios:
serin portb.0,N9600,auto2
pause 500
WRITE 11,auto2      ;guardar en la EEPROM1 el valor de auto2
read 11,auto12

if auto2=0 then inicios
interrupcion:

ON INTERRUPT GOTO envia
INTCON=%10010000
prog:
 high led
 pause 200
 low led
 pause 200
goto prog

disable
envia:
serin portb.0,N9600,id
pause 500
if id=auto11 then
   serout portb.1,N2400,["AUTO1"]
else
     serout portb.1,N2400,["auto1no"]
if id=auto12 then
      serout portb.1,N2400,["AUTO2"]
else
     serout portb.1,N2400,["auto2no"]

   endif
endif
id=0

INTCON=%10010000
RESUME
ENABLE
goto interrupcion
END

 
En línea
lowus
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 7


« Respuesta #1 : 20 de Octubre de 2010, 13:03:55 »

HOla Pablo como estás?, el tema es un poco viejo y no se si pudiste resolverlo, yo quería preguntarte, tengo un lector ID-12 de innovations, pero no he podido leer las tarjetas RFID, incluso intenté adaptar tu programa, mi pregunta es: ¿si quiero simplemente mostrar el serial de la tarjeta rfid en un LCD que debo hacer?
cuando dices "serin portb.0,N9600,auto1" ¿ya con esto guarda el serial de la tarjeta en la variable auto1? a mi no me funciona, no me guarda nada. si puedes ayudarme, muchas gracias
En línea
elreypic2
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 453



« Respuesta #2 : 20 de Octubre de 2010, 17:17:15 »

Que tal lowus,

Yo tengo experiencia con ese lector. Y es muy simple de usar. Con respecto a tu pregunta de que si con el "serin portb.0,N9600,auto1" se captura el ID de la tarjeta.
La respuesta es no.
El lector envia un frame que como pablovillarroel lo expone es:
STX (02h) - DATA (10 ASCII) -  CHECK SUM (2 ASCII)  - CR -  LF  - ETX (03h)
[The 1byte (2 ASCII characters) Check sum is the “Exclusive OR” of the 5 hex bytes (10 ASCII) Data characters.]

Lo que quiere decir que debe eliminar el primer caracter que es STX (02h), este caracter es para hacerte saber el inicio de la cadena, despues de ese caracter es que se envian los 10 caracteres ASCII que contiene el ID de la tarjeta, despues viene el checksum, un retorno de carro
y un fin de transmision que es el caratere ETX(03h)

Saludos y espero qeu te haya diso de ayuda.

Elreypic.
En línea
javierdavid2006
PIC10
*
Desconectado Desconectado

Ecuador Ecuador

Mensajes: 15


« Respuesta #3 : 13 de Noviembre de 2010, 20:04:22 »

Hola reypic2, estoy intentando usar el id12 que tu ya lo has usado pero no tengo buenos resultados, solologre hacerlo funcionar conectandolo a la computadora y usando el hiperterminal, me podrias ayudar con el codigo para este programa, lo estoy haciendo en ccs con el 16f877a el programa es el siguiente

#include <16F877a.h>
#fuses XT,NOWDT
#use delay(clock= 4000000)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8)
#include <lcd.c>
char cadena[];
int  i=0;


#int_rda
rda_isr()
{
for(i=0;i<14;i++){
cadena=getchar();
}
}

void main(){
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc,"\f%09X",cadena);
}

Me da Warning 208 Line24(1,8):Function not void and does not return a value rda_isr,ademas que solo lee el 02, que debe ser el del inicio de la transmision del dato, despues todo es cero.

Gracias forero y ayudame por favor......
En línea
TODOPIC
   

 En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.077 segundos con 23 consultas.