پروژه ساخت قفل کارتی با تکنولوژی RFID

نوشته شده توسط:robofaadmin در پروژه های آماده میکروکنترلر

تا حالا شده برین یک بیمارستان یا یک شرکت بزرگ و مدرن و ببینید که پرسنلش وقتی میخوان وارد یک بخشی از ساختمان بشن یک کارت رو جلوی در میگیرن و اتوماتیک در باز میشه؟ خوب ، فکر نکنید ساختن همچین چیزی سخته چون ما در سایت صنایع آموزشی روبوفا و در بخش پروژه های آماده میکروکنترلری یک پروژه برای ساخت این قفل های دیجیتالی که با تکنولوژی RFID کار میکنن براتون قرار دادیم و شما خیلی راحت میتونید این پروژه رو بسازید و ازش لذت ببرید، پس با سایت صنایع آموزشی روبوفا همراه باشید:

و اما RFID چیست؟!؟

Radio Frequency IDentification (RFID)

آر اف آی دی ترجمه مخفف عبارت شناسائی با فرکانس رادیوئی است که به عنوان جدیدترین تکنولوژی شناسائی به نحوی گسترده در دنیا مورد توجه قرار گرفته است. مزایای این تکنولوژی جهت  افزایش سرعت و دقت در کلیه فرآیندهائی که نیاز به شناسائی دارد به حدی است که امروزه بسیاری از کمپانی ها و سازمان های دولتی و خصوصی در سرتاسر دنیا اقدام به انجام پروژه های بزرگ جهت بهره گیری از این تکنولوژی جهت تسریع و بهبود فرآیندهای خویش را دارند. قرارداشتن آر.اف.آی.دی در فهرست 10 تکنولوژی برتر دنیا در پنج سال گذشته خود گواهی دیگر بر اهمیت روزافزون این تکنولوژی در زمینه های مختلف زندگی بشر می باشد.
این فن­آوری بدلیل مزایای بسیار برتر آن در مقایسه با سایر فن­آوری­ها، به نحوی متمایز مورد توجه قرار گرفته و هم­اکنون در دنیا، اکثر سیستم­های شناسائی با استفاده از این فن­آوری طراحی و پیاده­سازی می­گردند.
 
ما میتوانیم در این پروژه که با آی سی 8051 طراحی شده است 3 تا 10 کارت را شناسایی و به آنها محدودیت دسترسی و یا دسترسی کامل دهیم. نقشه شماتیک مدار پروژه قفل کارتی را در زیر مشاهده میکنید:
پروژه قفل دیجیتالی کارتی با فناوری RFID
خوب، حالا که نقشه پروژه رو داریم، پس برنامه نویسیش رو چیکار کنیم؟ جای نگرانی نیست، کد برنامه میکروکنترلر رو هم در پایین براتون قراردادیم:
		RS EQU P2.7
RW EQU P2.6
E  EQU P2.5
FLG EQU 40H
SEL EQU 41H

ORG 000H
CLR P2.0
MOV TMOD,#00100001B
MOV TH1,#253D
MOV SCON,#50H
SETB TR1
ACALL LCD_INIT
MOV DPTR,#TEXT1
ACALL LCD_OUT
ACALL LINE2
MOV DPTR,#TEXT2
ACALL LCD_OUT

MAIN:ACALL LCD_INIT
     MOV DPTR,#TEXT1
     ACALL LCD_OUT
     ACALL LINE2
     MOV DPTR,#TEXT2
     ACALL LCD_OUT
     ACALL READ_TAG
     CLR REN
     ACALL LINE2
     ACALL CHECK_PASSWORD
     ACALL DELAY1
     SETB REN
     SJMP MAIN
     
     
LCD_INIT: MOV DPTR,#INIT_COMMANDS
          SETB SEL
          ACALL LCD_OUT
          CLR SEL
          RET      

LCD_OUT:  CLR A
           MOVC A,@A+DPTR
           JZ EXIT
           INC DPTR
           JB SEL,CMD
           ACALL DATA_WRITE
           SJMP LCD_OUT
CMD:      ACALL CMD_WRITE 
           SJMP LCD_OUT
EXIT:	   RET          

LINE2:MOV A,#0C0H 
    ACALL CMD_WRITE
    RET   
    
 READ_TAG:  MOV R0,#12D
           MOV R1,#160D
	   WAIT:JNB RI,WAIT
           MOV A,SBUF
           MOV @R1,A
           INC R1
           CLR RI
           DJNZ R0,WAIT
           RET
   

CHECK_PASSWORD:	CLR FLG
      		MOV R2,#12D
      		MOV R1,#160D
      		MOV DPTR,#PASS1
	REPEAT: CLR A
      		MOVC A,@A+DPTR
      		XRL A,@R1
      		JNZ CHECKNEXT
      		INC R1
      		INC DPTR
      		DJNZ R2,REPEAT
      		ACALL LINE2
      		MOV DPTR,#TEXT3
      		ACALL LCD_OUT
      		SETB P2.0
      		RET
      
CHECKNEXT: JB FLG,FAIL
           MOV R2,#12D
           MOV R1,#160D
           MOV DPTR,#PASS2
           SETB FLG
           SJMP REPEAT


FAIL:ACALL LINE2
     MOV DPTR,#TEXT4
     ACALL LCD_OUT 
     CLR P2.0
     RET
    
 

DELAY1:MOV R3,#46D
BACK:  MOV TH0,#00000000B   
       MOV TL0,#00000000B   
       SETB TR0             
HERE1: JNB TF0,HERE1         
       CLR TR0             
       CLR TF0             
       DJNZ R3,BACK
       RET


CMD_WRITE: MOV P0,A
    CLR RS
    CLR RW
    SETB E
    CLR E
    ACALL DELAY
    RET

DATA_WRITE:MOV P0,A
    SETB RS
    CLR RW
    SETB E
    CLR E
    ACALL DELAY
    RET

DELAY: CLR E
    CLR RS
    SETB RW
    MOV P0,#0FFh
    SETB E
    MOV A,P0
    JB ACC.7,DELAY
    CLR E
    CLR RW
    RET
    
INIT_COMMANDS:  DB 0CH,01H,06H,83H,3CH,0    
TEXT1: DB "RFID ACCESS",0  
TEXT2: DB "Swipe TagS..",0
TEXT3: DB "Access allowed",0
TEXT4: DB "Access denied",0

PASS1: DB "18008DC02E7B"
PASS2: DB "7500511ECDF7"
   
    END

اگر سوالی داشتید در خدمت شما هستیم. نظرات خود را برای ما ارسال کنید