RFID لتقف على تحديد الترددات الراديوية. يمكن لوحدة RFID قراءة أو كتابة كمية صغيرة من البيانات في علامة RFID السلبية ، والتي يمكن استخدامها في عملية تحديد الهوية في أنظمة مختلفة مثل نظام الحضور ، ونظام الأمان ، ونظام التصويت وما إلى ذلك. RFID هي تقنية مريحة للغاية وسهلة.
لقراءة بطاقات وعلامة RFID السلبية ، نحتاج إلى متحكم مع جهاز UART. إذا اخترنا متحكمًا دقيقًا بدون UART ، سنحتاج إلى تنفيذ برنامج UART. نحن هنا نستخدم PIC Microcontroller PIC16F877A للتفاعل بين RFID. سنقرأ ببساطة رقم التعريف الفريد. من علامات RFID وعرضها على شاشة LCD مقاس 16 × 2.
المكونات المطلوبة:
كود اردوينو
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
#include <xc.h>
#include <stdio.h>
#include <string.h>
#include "supporing_cfile\lcd.h"
#include "supporing_cfile\eusart1.h"
/*
Hardware related definition
*/
#define _XTAL_FREQ 200000000 //Crystal Frequency, used in delay
/*
Other Specific definition
*/
void system_init(void); // This will initialize the system.
void main(void) {
unsigned char count;
unsigned char RF_ID[13];
system_init();
lcd_com(0x80);
lcd_puts("Circuit Digest");
while (1){
for (count=0; count<12; count++){
RF_ID[count] = 0;
RF_ID[count]=EUSART1_Read();
}
lcd_com(0xC0); // Set the cursor for second line begining
lcd_puts("ID: ");
lcd_puts(RF_ID);
}
}
/*
This Function is for system initializations.
*/
void system_init(void){
TRISB = 0x00; //PORT B set as output pin
lcd_init(); // This will initialize the lcd
EUSART1_Initialize(); // This will initialize the Eusart
}