Ang RFID ay nangangahulugang Pagkilala sa Frequency ng Radyo. Ang RFID module ay maaaring mabasa o sumulat ng maliit na halaga ng data sa isang Passive RFID tag, na maaaring magamit sa proseso ng pagkakakilanlan sa iba't ibang mga sistema tulad ng Attendance system, security system, voting system atbp. RFID ay napaka-maginhawa at madaling teknolohiya.
Upang mabasa ang mga Passive RFID card at tag, kailangan namin ng isang microcontroller na may UART hardware. Kung pipiliin namin ang isang microcontroller nang walang UART, kailangan naming ipatupad ang software UART. Narito ginagamit namin ang PIC Microcontroller PIC16F877A para sa interfacing RFID. Babasahin lamang namin ang natatanging pagkakakilanlan blg. ng mga RFID tag at ipakita ito sa 16x2 LCD.
RFID module at ang Paggawa nito
Sa proyektong ito, pinili namin ang module ng EM-18 RFID, na maliit, maliit ang gastos, at mahusay na module. Ang EM-18 RFID module ay gumagamit ng dalas ng 125 KHz RF upang mabasa ang mga tag na pasibo 125 KHz RFID. Ang module na EM-18 ay gumagamit ng Oscillator, demodulator at data decoder upang mabasa ang data mula sa isang passive card.
RFID Tag
Mayroong tatlong uri ng mga RFID tag na magagamit, Passive, Aktibo o tinutulungan ng baterya na passive. Ang iba't ibang uri ng mga tag na RFID na may iba't ibang uri ng mga hugis at sukat ay magagamit sa merkado. Ilan sa kanila ang gumagamit ng iba't ibang dalas para sa layunin ng komunikasyon. Gumagamit kami ng 125Khz Passive RFID cards na humahawak ng natatanging data ng ID. Narito ang RFID card at mga tag na ginagamit namin para sa proyektong ito.
Paggawa ng RFID
Kung nakikita natin ang datasheet (http://www.alselectro.com/files/rfid-ttl-em18.pdf) ng EM-18 Module maaari naming makita ang likuran ng module at ang application circuit:
Gumagamit ang module ng UART na komunikasyon sa komunikasyon sa 9600 Baud rate. Kapag ang isang wastong tag ng dalas ay dinala sa magnetic field ng EM-18 reader, makakakuha ang transistor ng BC557 at magsisimulang mag-beep ang buzzer, naiilawan din nito ang LED. Gumagamit kami ng isang module na madaling magagamit sa merkado at may kumpletong circuitry gamit ang isang buzzer, led, at isang karagdagang port ng RS232.
Narito ang module ng RFID board na ginagamit namin na may mga pangalan ng pin. Ang modyul na ito ay mayroon ding karagdagang pagpipilian sa kapangyarihan.
Ang isang bagay ay kailangang tandaan na ang output ng EM-18 reader ay gumagamit ng 5V antas ng lohika. Maaari kaming gumamit ng isa pang microcontroller na gumagamit ng isang mas mababang antas ng lohika, ngunit sa mga ganitong kaso, kinakailangan ang karagdagang converter ng antas ng lohika. Sa ilang mga kaso, ang UART pin ng 3.3V microcontroller ay madalas na mapagparaya sa 5V.
Nagbibigay ang output ng UART ng 12-bit na data ng ASCII. Ang unang 10 piraso ay numero ng tag ng RFID, na kung saan ay ang natatanging ID at ang huling dalawang digit ay ginagamit para sa pagsubok sa error. Ang huling dalawang digit na iyon ay ang XOR ng numero ng tag. Basahin ng module na EM-18 ang data mula sa 125 KHz Passive RFID na mga tag o kard.
Ang mga tag o ID na iyon ay mayroong isang naka-program na pabrika ng memory array na nag-iimbak ng kakaibang numero ng ID. Tulad ng mga iyon ay passive, kaya walang baterya ang naroroon sa card o mga tag, napalakas sila ng magnetikong patlang ng module na RF Transceiver. Ang mga RFID na tag na ito ay ginawa gamit ang EM4102 CMOS IC na nai - orasan din ng magnetic field.
Kinakailangan na Materyal
Upang magawa ang proyektong ito kailangan namin ng mga sumusunod na item-
- PIC16F877A
- 20Mhz Crystal
- 2 pcs 33pF ceramic disc capacitor
- 16x2 Character LCD
- Isang breadboard
- 10k preset na palayok
- 4.7k risistor
- Mga single strand wires upang kumonekta
- Isang 5V adapter
- RF Module EM-18
- 5V Buzzer
- 100uF &.1uF 12V capacitor
- BC557 Transistor
- LED
- 2.2k at 470R risistor.
Gumagamit kami ng EM-18 module board na may buzzer at pinangunahan na naayos. Kaya, ang mga sangkap na nakalista mula 11 hanggang 15 ay hindi kinakailangan.
Diagram ng Circuit
Ang eskematiko ay simple; ikinonekta namin ang LCD sa kabuuan ng port RB at ikinonekta ang module na EM-18 sa kabuuan ng UART Rx pin.
Ginawa namin ang koneksyon sa breadboard ayon sa eskematiko.
Paliwanag sa Code
Tulad ng nakasanayan, kailangan muna nating itakda ang mga config bits sa pic microcontroller, tukuyin ang ilang mga macros, kabilang ang mga aklatan at dalas ng kristal. Maaari mong suriin ang code para sa lahat ng mga nasa kumpletong code na ibinigay sa dulo.
// PIC16F877A Configuration Bit Setting // 'C' source line config statements // CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT naka-disable) # pragma config PWRTE = OFF // Power-up Timer Paganahin ang bit (hindi pinagana ang PWRT) #pragma config BOREN = ON // Brown-out I-reset Paganahin ang bit (pinagana ang BOR) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Paganahin ang bit (Ang RB3 / PGM pin ay may function na PGM; pinagana ang mababang-boltahe na programa) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Proteksyon ang code ng EEPROM code) #pragma config WRT = OFF // Flash Program Memory Sumulat Paganahin ang mga bits (Isulat ang proteksyon; ang lahat ng memorya ng programa ay maaaring maisulat ng kontrol ng EECON) #pragma config CP = OFF // Flash Program Memory Code Protection Protection (Proteksyon ang code off) # isama ang "supporing_cfile \ lcd.h" #include "supporing_cfile \ eusart1.h"
Kung nakikita natin ang pangunahing pagpapaandar na tinawag namin ang isang pagpapaandar upang gawing simula ang sistema. Pinasimulan namin ang LCD at UART sa pagpapaandar na ito.
/ * Ang Function na ito ay para sa mga pagsisimula ng system. * / void system_init (void) { TRISB = 0x00; // PORT B itinakda bilang output pin lcd_init (); // Ito ay magpapasimula sa lcd EUSART1_Initialize (); // Ito ay magpapasimula sa Eusart }
Ngayon, sa pangunahing pag- andar, gumamit kami ng 13 bit na array na RFID Number. Natatanggap namin ang bawat piraso ng RFID no. gamit ang EUSART1_Read (); pagpapaandar, na idineklara sa loob ng silid aklatan ng UART. Matapos makatanggap ng 12bits, nai-print namin ang Array bilang string sa LCD.
void main (void) { unsigned char count; unsigned char RF_ID; system_init (); lcd_com (0x80); lcd_puts ("Circuit Digest"); habang (1) { para sa (count = 0; bilang <12; bilang ++) { RF_ID = 0; RF_ID = EUSART1_Read (); } lcd_com (0xC0); // Itakda ang cursor para sa pangalawang linya na nagsisimula lcd_puts ("ID:"); lcd_puts (RF_ID); } }
Ang kumpletong code na may Demonstration Video ay ibinibigay sa ibaba.
Suriin din ang interfacing RFID sa iba pang Microcontroller:
RFID Interfacing sa MSP430 Launchpad
RFID Interfacing kasama ang 8051 Microcontroller
Ang RFID Interfacing kay Arduino