Litar Pembaca RFID menggunakan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam artikel ini kita akan melakukan lawatan mengenai teknologi litar RFID. Kami akan meneroka bagaimana tag RFID dan pembaca berfungsi, bagaimana menghubungkan modul RFID (RC522) dengan Arduino dan mengekstrak beberapa maklumat berguna dari tag RFID.

Menggunakan Tag RFID

Saya pasti setiap daripada anda telah menggunakan RFID untuk mendapatkan akses keselamatan sekurang-kurangnya sekali di pejabat, sekolah, kolej, perpustakaan dll.



Tanda / kad yang anda bawa mempunyai cip elektronik yang tertanam di dalamnya, cip tersebut menyimpan identiti anda secara elektronik. Tidak seperti kod bar, di mana kad harus menjadi pandangan pembaca, RFID boleh diletakkan berdekatan dengan pembaca untuk membaca maklumat.

Sebilangan besar kad pintar kami menggunakan teknologi RFID pasif, yang bermaksud tidak diperlukan kuasa untuk membaca maklumat dari kad tersebut. Pembaca mengaktifkan cip RFID dan mengekstrak maklumat pada masa yang sama.



Jenis tag ini dapat membaca maklumat dari milimeter hingga beberapa kaki, bergantung pada label dan aplikasinya.

Tag RFID aktif diaktifkan secara luaran, jenis tag ini menghantar maklumat sehingga 100 kaki. Penggunaan kuasa bateri dioptimumkan untuk beberapa tahun terakhir.

Dalam projek ini kita akan melihat teknologi RFID pasif. Kami menggunakan modul pembaca RC522 bersama dengan arduino untuk mengekstrak dan memaparkan maklumat. Modul RC522 biasanya terdapat di laman web e-dagang dan kedai alat elektronik tempatan.

Ilustrasi modul pembaca / penulis RC522:

Modul pembaca / penulis RC522

Tag jenis kad dan rantai kunci:

Tag jenis kad dan rantai kunci

Seperti yang dapat kita lihat, bahagian PCB dikelilingi oleh jalur jalan dalam bentuk persegi pada pembaca ini akan menghasilkan medan elektromagnetik untuk tag pada frekuensi 13.56MHz.

EMF yang dihasilkan diambil oleh tag dan ditukar menjadi voltan yang mencukupi agar tag dapat beroperasi, tag akan menghantar maklumat yang diperlukan dalam bentuk nadi kembali kepada pembaca. Mikrokontroler on-board menyahkod maklumat.

Bagaimana ia berfungsi

Litar RFID menggunakan Arduino

Skematiknya sangat mudah dan cukup jelas, hanya sedikit kabel jumper yang cukup untuk menyelesaikan projek ini. Kami akan menghidupkan arduino dan RFID melalui port USB komputer. Voltan operasi RC522 adalah 3.3V, jangan sambungkan bekalan 5V ke modul dan akan merosakkan komponen on-board.

Prototaip litar RFID Arduino:

Itu semua sambungan perkakasan, sekarang mari masuk ke pengekodan.

Sebelum memuat naik program, muat turun fail perpustakaan dari pautan berikut dan pindahkan ke folder perpustakaan arduino IDE.

github.com/miguelbalboa/rfid.git

Kod Program:

//-------------------------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------------------//

Okey! Apa rancangan di atas berfungsi?

Program di atas akan memaparkan UID tag di monitor bersiri IDE, semasa anda mengimbas pembaca. UID adalah nombor pengenalan unik tag, ia tidak dapat diubah dan ditetapkan oleh pengeluar.

PENGELUARAN:

UID kad anda: FA: 4E: B2 // ini adalah contoh.

Catatan 1: Kedua-dua nilai dipisahkan oleh titik dua, yang dilakukan oleh program nilai sebenar tidak boleh dipisahkan oleh titik dua tetapi, tetapi dengan ruang.

Catatan 2: Hanya teg RFID buatan NXP yang dapat dibaca / ditulis dengan persediaan yang dicadangkan, ini biasanya digunakan dan digunakan secara komersial.

UID digunakan untuk mengenali label yang disertakan dengan kit yang dapat menyimpan maklumat sehingga 1KB. Terdapat kad lain yang dapat menyimpan sehingga 4KB maklumat atau lebih banyak lagi.

Proses menyimpan dan mengekstrak maklumat dari tag adalah subjek artikel lain.
Sekiranya anda mempunyai pertanyaan, mengenai projek ini, silakan bertanya di bahagian komen.




Sebelumnya: Litar Sensor Tekanan Barometrik - Perincian Kerja dan Antaramuka Seterusnya: Triac Phase Control menggunakan PWM Time Proportional