rfıd pic le haberleşmesi nasıl yapacam

Başlatan expert, 05 Şubat 2011, 10:36:23

expert

merhaba ustatlar proton ile rfid nasıl kullanabilirim.
komutlar nedir ne yapam gerekiyor. interneten baktım herkez c veya mikrobasic ile yazmış ben de sadace picbasic ve proton biliyorum bi yardımcı olabilirmisiniz.

Muhittin22

#1
Merhaba.
RFID Frekans Aralıkları [değiştir]

RFID, düşük frekans (LF) 125–134 kHz, yüksek frekans (HF) 13.56 MHz, ultra yüksek frekans (UHF) 860–960 MHz, 2.45 GHz ve süper yüksek frekans (SHF) 5.8 GHz frekanslarında kullanılabilmektedir.
RFID Düzenlemeleri [değiştir]

Her ülke kendi radyo spektrumunun kullanımı düzenlemektedir. Avrupa'daki spektrum kullanımını düzenleyen Avrupa Posta ve Telekomünikasyon Birliği (European Conference of Postal and Telecommunications Administrations - CEPT) [1], UHF RFID için Eylül 2004'te oybirliği ile yeni bir Avrupa Standardına karar vermiştir. Bu standart (ETSI EN 302 208) ETSI'den sağalanabilir. (http://tr.wikipedia.org/wiki/RFID)

Sen Pic'i Devrede ne amaclı birim olarak kullanacaksın biraz açıklık getirmen lazım.

RFID Development Kit Contents

PCWH Compiler
Carrying Case
Exercise Booklet
RFID Development Board
In-Circuit Debugger/Programmer (RS232 Serial or USB)
All Necessary Cables
U.S. Power Supply
RS485 to RS232 Converter Board
Three 125 kHz RFID Transponders (2 read-only; 1 read/write)
Read/write transponder can be made read-only or write-only, and features password protection
View PCWH Reference Manual
RFID Prototyping Board Features

Three LEDs (Red, Green, Yellow)
Short-range RFID Antenna
PIC16F876A Microcontroller
RS485 Port with screw terminals
RJ12 Jack for connecting MPLAB ICD2 or the included CCS ICD

expert

ustat ben rfid ile kartı yakınlaştığı zaman röle çekecek uzaklaştığı zaman ise röle yi bırakacak. proton ile rfid okuyucu hangi komutlarla haberleşiyor.

teknikelektronikci

kullandiign modüle göre degisir ama uartden haberlesen varsa protonda hserout hserin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

expert

ustat  çok sagolsun örnek verebilirmisin. rfid kodunu okuyup nereye koyacam ondan sonra kodları nasıl karşılactıragım?

teknikelektronikci

selam
ben kendi modülüme göre örnek verecek olursam

kodlarin okuma kisimlarini koyuyorum tabi ben burda kodlari cok sisirerek yazmisim :D daha basit ve sade yazilabilinirdi ama en azindan örnek verir

RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $24 ' Enable transmit, BRGH = 1
;SPBRG = 129 ' 9600 Baud @ 20MHz, 0,16%


Declare HSERIAL_BAUD 9600 
Declare HSERIAL_RCSTA $90
Declare HSERIAL_TXSTA $24 
Declare HSERIAL_CLEAR On 
WARNINGS = OFF

Dim  Xpos                   As Byte
Dim  Ypos                   As Byte
Dim  Addr                   As Word
Dim  char                   As Byte

Dim B0                      As Byte     
Dim B1                      As Byte
Dim B2                      As Byte


Dim ID_DOGRU_DURUMU         As Byte
Dim SANIYE                  As Byte
Dim ID          [16]        As Byte                                                    
Dim G_BILGI     [6]         As Byte 
Dim GID_BILGI   [6]         As Byte 
Dim DURUM       [10]        As Byte
Dim CARD                    As Byte
Dim I                       As Byte


Dim ALT_MENU                As Byte

Dim SEN1                    As Byte
Dim SEN2                    As Byte
Dim SEN3                    As Byte
Dim SEN4                    As Byte

Dim KAYIDA_DEVAM            As Bit            

Dim KONUM                   As Byte
Clear
Cls
;----------------ANA PROGRAM BURADAN ITIBAREN BASLIYOR----------------
EData 0,255
KAYIDA_DEVAM=0
STAND_BY: 
     
    If PORTB.0=0 Then 
    GoSub EKRAN_TEMIZLE2 
    GoTo SORGULA_MENU
    EndIf 
    
     
    GoSub STAND_BY_YAZI
    GoSub MODUL_SORGULA
    GoSub ID_OKU
    GoSub ADMIN_KONTROL
    GoSub ID_KONTROL
    
    If ID_DOGRU_DURUMU=1 Then 
    ID_DOGRU_DURUMU=0  
    GoTo ALARM_AKTIF_DISARI_CIK
    EndIf
   
    Print At 0,0,Inverse  0    
    For B2= 0 To 20
   LookUp B0, ["*** KARTINIZI GOSTERDIKTEN SONRA 05 SN ICINDE DISARIYA CIKINIZ***              ?"], B1
    If B1 = "?" Then B0=0
    Print  B1
    B0 = B0 + 1
    Next B2
    DelayMS 300
    B0 = B0 - 20
    GoTo STAND_BY

STAND_BY_YAZI:

    Print At 2,0,Inverse  0,"**ALARM AKTIF DEGIL**"
    Print At 4,1,Inverse  0,"KARTINIZI GOSTERINIZ"
    Print At 5,4,Inverse  0," 05 SN ICINDE"
    Print At 6,2,Inverse  0,"DISARIYA CIKINIZ"
    Print At 7,0,Inverse  1,"MENU"  
    Print At 7,16,Inverse 1,"RESET"
    Return

tekrar:
GoSub MODUL_SORGULA   

ID_OKU:
HSerIn  300,tekrar, [DURUM[1],DURUM[2],DURUM[3],DURUM[4],DURUM[5]]
If DURUM[1]=02 And DURUM[2]=03 And DURUM[3]=49 And DURUM[4]=00 And DURUM[5]=03 Then 
CARD=1
Else 
CARD=0
EndIf

If CARD=1 Then
Print At 1,0,Inverse 0,"NO CARD ";,HEX2 DURUM[1],HEX2 DURUM[2],HEX2 DURUM[3],HEX2 DURUM[4],HEX2 DURUM[5]


Return 
EndIf
 
If CARD=0 Then
GoSub GID_MODUL_SORGULA        
HSerIn 300,tekrar,[ID[0],ID[1],ID[2],ID[3],ID[4],ID[5],ID[6],ID[7],ID[8]]
Print At 1,0,HEX2 ID[1],HEX2 ID[2],HEX2 ID[3]," ",HEX2,ID[4],HEX2 ID[5],HEX2 ID[6],HEX2 ID[7]," ",HEX2 ID[8]
EndIf
Return

;Return


MODUL_SORGULA:
    G_BILGI[1]=02
    G_BILGI[2]=02
    G_BILGI[3]=49
    G_BILGI[4]=03
    G_BILGI[5]=0
    
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
        HSerOut  [G_BILGI[1],G_BILGI[2],G_BILGI[3],G_BILGI[4],13]
    Return 
    
    
GID_MODUL_SORGULA:
    
    GID_BILGI[1]=02
    GID_BILGI[2]=02
    GID_BILGI[3]=49
    GID_BILGI[4]=03
    GID_BILGI[5]=0
    
        HSerOut  [GID_BILGI[1],GID_BILGI[2],GID_BILGI[3],GID_BILGI[4],13]
        HSerOut  [GID_BILGI[1],GID_BILGI[2],GID_BILGI[3],GID_BILGI[4],13]   
        Return

ADMIN_KONTROL:
If ID[4]=$32 And ID[5]=$BA And ID[6]=$85 And ID[7]=$4B Then 
GoSub EKRAN_TEMIZLE2
GoTo ANA_MENU
EndIf
Return

ID_KONTROL:
If ID[4]=$A2 And ID[5]=$7C And ID[6]=$AA And ID[7]=$B2 Then ID_DOGRU_DURUMU=1 
If ID[4]=$F2 And ID[5]=$2F And ID[6]=$B3 And ID[7]=$B2 Then ID_DOGRU_DURUMU=1 
If ID[4]=$32 And ID[5]=$BA And ID[6]=$85 And ID[7]=$4B Then ID_DOGRU_DURUMU=1 
If ID[4]=$22 And ID[5]=$F8 And ID[6]=$54 And ID[7]=$EO Then ID_DOGRU_DURUMU=1 ;(YANLIS)
Return




ALARM_AKTIF_DISARI_CIK: 
                                                                  
    Cls
    GoSub SES_DOGRU 
    Print At 2,6,Inverse 0,"ALARM AKTIF"
    Print At 3,1,Inverse 0,"5 SN ICINDE DISARIYA"
    Print At 4,6,Inverse 0," CIKINIZ"                               
    DelayMS 5000
    GoSub EKRAN_TEMIZLE2
    GoTo ALARM_AKTIF


bu bölüme mesela dikkat ediniz

    G_BILGI[1]=02
    G_BILGI[2]=02
    G_BILGI[3]=49
    G_BILGI[4]=03
    G_BILGI[5]=0

ben 020249030 bilgisini gönderirsem modülü sorgulamisim
sorgu ardindan modül bana cevap veriyor
arkadas aktifimde kart okutulmadi veya hey bi kart okudum sanki al bak bakayim kartin id si bu kimis bak bakalim diye
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

expert

ustat ellerine klavyene sağlık deneyip yapmaya çalışam. gelişmeleri buraya yazacam.

haskan

 teknikelektronikci  oncelikle kod icin tesekkurler yalniz bu proje benim bitirme projem ve bende tam bu kodu ariyordum yalniz tum devre semasini ve kodlarini gonderebilirmisin.bitirme projem bu yardimci olursan cok sevinirim yardimini bekliyorum saygilar...