Reading RFID tags
From Mech
Original Assignment
Interface your PIC with an RFID reader (see here) and demonstrate recognition of various RFID tags.
Overview
Radio Frequency Identification (RFID)is a generic term used to describe technology that uses radio waves identify objects. The Parallax RFID Card Reader, Serial (#28140) reads passive RFID transponder tags up to 4 inches away from the reader. The RFID communicates using rs232 and transmits a 12-byte ASCII string. The first byte (start byte) is always $0A and the last byte (stop byte) is always $0D. The 10 middle digits are the 10 unique id digits that are unique to every RFID transponder.
Circuit
RFID SOUT to PIC RC7 RFID VCC to PIC +5 RFID GND to PIC GND RFID /ENAMBLE to PIC RC7 PIC RC6 to TTL-232R Yellow Wire (note: this is output signal to view on PC) PIC GND to TTL-232R Black Wire (note: this is connecting the grounds together)
Code
/* RFID_Input.c J.Cooper and C.Ryan 2009-2-04 Read in from RFID Card on pin RC7 Write out RFID unique number on pin RC6 */ #include <18f4520.h> #fuses HS,NOLVP,NOWDT,NOPROTECT #use delay(clock=40000000) // 40 MHz crystal on PCB #use rs232(baud=2400, UART1) // hardware UART; uses RC6/TX and RC7/RX int16 i; char value[12];//12 values of tag ID void main() { output_low(PIN_D7); //Set enable to low for (i=0; i<12; i++) { //read in the 12 values value[i]=getc(); } printf("rfid# %c %c %c %c %c %c %c %c %c %c \r\n", value[1] value[2] value[3] value[4] value[5] value[6] value[7] value[8] value[9] value[10]); //display 10 unique id digits }