Arduino kullanarak RFID Okuyucu Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda RFID devre teknolojisi hakkında bir tur atacağız. RFID etiketlerinin ve okuyucularının nasıl çalıştığını, RFID modülünün (RC522) Arduino ile nasıl arayüzleneceğini ve RFID etiketlerinden bazı yararlı bilgilerin nasıl çıkarılacağını keşfedeceğiz.

RFID Etiketlerini Kullanma

Eminim her biriniz ofiste, okulda, kolejde, kütüphanede vb. En az bir kez güvenlik erişimi sağlamak için RFID kullanmışsınızdır.



Yanınızda taşıdığınız etiket / kartta gömülü elektronik çip bulunur, çip kimliğinizi elektronik olarak saklar. Kartın okuyucunun görüş alanında olması gereken barkodların aksine, RFID'ler bilgileri okumak için okuyucunun hemen yanına yerleştirilebilir.

Akıllı kartlarımızın çoğu pasif RFID teknolojisini kullanır, bu da bilgileri karttan okumak için güç gerekmediği anlamına gelir. Okuyucu, RFID çipine güç verir ve aynı zamanda bilgileri çıkarır.



Bu tür etiketler, etikete ve uygulamaya bağlı olarak bilgileri milimetreden birkaç fit'e kadar okuyabilir.

Aktif bir RFID etiketleri harici olarak beslenir, bu tür etiketler bilgileri 100 fit'e kadar iletir. Pil güç tüketimi birkaç yıl dayanacak şekilde optimize edilmiştir.

Bu projede pasif RFID teknolojisine bakacağız. Bilgiyi çıkarmak ve görüntülemek için arduino ile birlikte RC522 okuyucu modülünü kullanıyoruz. RC522 modülü, e-ticaret web sitelerinde ve yerel elektronik kitleri mağazasında yaygın olarak bulunur.

RC522 okuyucu / yazıcı modülünün resmi:

RC522 okuyucu / yazıcı modülü

Kart ve anahtarlık tipi etiketleri:

Kart ve anahtarlık tipi etiketleri

Gördüğümüz gibi, PCB'nin bir kısmı okuyucu üzerinde kare şeklinde bir yol ile çevrelenmiştir, bu 13.56MHz frekansında etiket için elektromanyetik alan oluşturacaktır.

Oluşturulan EMF etiket tarafından seçilir ve etiketin çalışması için yeterli voltaja dönüştürülür, etiket okuyucuya gerekli bilgileri puls formunda geri gönderir. Yerleşik mikro denetleyici, bilgilerin kodunu çözer.

Nasıl çalışır

Arduino kullanarak RFID Devresi

Şematik çok kolay ve açıklayıcıdır, bu projeyi gerçekleştirmek için birkaç jumper kablosu yeterlidir. Arduino ve RFID'ye bilgisayarın USB portu üzerinden güç vereceğiz. RC522'nin çalışma voltajı 3,3V'dur, modüle 5V besleme bağlamayın ve yerleşik bileşenlere zarar verir.

Arduino RFID devre prototipi:

Tüm donanım bağlantıları bu, şimdi kodlamaya geçelim.

Programı yüklemeden önce aşağıdaki bağlantıdan kitaplık dosyasını indirin ve arduino IDE'nin kitaplık klasörüne gidin.

github.com/miguelbalboa/rfid.git

Program kodu:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

Tamam mı! Yukarıdaki program neyi çalışmak üzere tasarladı?

Yukarıdaki program, okuyucuda tarama yaptığınızda IDE'nin seri monitöründe etiketin UID'sini gösterecektir. UID, etiketin benzersiz kimlik numarasıdır, değiştirilemez ve üretici tarafından belirlenir.

ÇIKTI:

Kartınızın UID'si: FA: 4E: B2 // bu bir örnektir.

Not 1: Her iki değer iki nokta üst üste ile ayrılır, bu program tarafından yapılır gerçek değerler iki nokta üst üste ile değil, boşlukla ayrılabilir.

Not 2: Önerilen kurulumla yalnızca NXP tarafından üretilen RFID etiketleri okunabilir / yazılabilir, bunlar yaygın olarak ve ticari olarak kullanılır.

UID, kit ile birlikte gelen etiketin 1KB'ye kadar bilgi depolayabileceği etiketi tanımak için kullanılır. 4KB'ye kadar veya daha fazlasını depolayabilen başka kartlar da vardır.

Etiketteki bilgileri saklama ve çıkarma işlemi başka bir makalenin konusudur.
Bu proje ile ilgili sorunuz varsa, yorum bölümünde sorabilirsiniz.




Önceki: Barometrik Basınç Sensörü Devresi - Çalışma ve Arayüz Detayları Sonraki: PWM Zaman Orantılı kullanarak Triyak Faz Kontrolü