Hướng dẫn sử dụng mfrc522 rfid reader với arduino

dinh thuong 19/11/2017
huong-dan-su-dung-mfrc522-rfid-reader-voi-arduino

RFID sử dụng trường điện từ để truyền dữ liệu qua các khoảng cách ngắn. RFID là hữu ích để xác định người thực hiện giao dịch, vv ...

  • Trong ví dụ này, chúng tôi có một dây khoá và một thẻ điện. Mỗi thẻ có nhận dạng riêng của mình (UID).

thẻ

  • radio hai chiều phát-thu, gửi một tín hiệu vào thẻ và đọc phản ứng của nó.

người đọc

Thông số kỹ thuật

  • điện áp đầu vào: 3.3v
  • Tần số: 13.56MHz

thư viện download

Dưới đây là các thư viện cần thiết cho dự án này:

  1. Tải về các thư viện RFID tại đây
  2. Giải nén thư viện RFID.
  3. Cài đặt thư viện RFID trong Arduino IDE của bạn.
  4. Khởi động lại Arduino IDE của bạn

nối dây

Ghim Dây để Arduino Uno
SDA số 10
SCK số 13
MOSI số 11
SÚP MISO số 12
IRQ không dùng
GND GND
RST số 9
3.3V 3.3V

Chú ý: điện áp hoạt động của MFRC522 là 3.3V!

Mifare_bb

Đọc dữ liệu từ thẻ RFID

Sau khi các mạch đã sẵn sàng, hãy vào File> Ví dụ> MFRC522> DumpInfo và tải lên arduino. Mã này sẽ có sẵn trong IDE Arduino của bạn (sau khi cài đặt các thư viện RFID).

Sau đó, mở màn hình nối tiếp. Bạn sẽ thấy như hình bên dưới:

monitor1 nối tiếp
để gần các thẻ RFID hoặc keychain với thẻ đọc. Hãy để thẻ đọc gần hơn cho đến khi tất cả các thông tin được hiển thị.
monitor2 nối tiếp

Đây là thông tin mà bạn có thể đọc từ thẻ, bao gồm UID thẻ được đánh dấu màu vàng.Các thông tin được lưu trữ trong bộ nhớ được chia thành các phân đoạn và khối như bạn có thể thấy trong hình ảnh trước đó.

Bạn đã 1024 byte dung lượng lưu trữ dữ liệu chia thành 16 ngành, từng lĩnh vực được bảo vệ bởi hai khóa khác nhau, A và B.

Viết xuống UID của thẻ , vì bạn sẽ cần nó sau này.

Tải lên các mã sau đây.

/*
 *
 * All the resources for this project: http://randomnerdtutorials.com/
 * Modified by Rui Santos
 *
 * Created by FILIPEFLOP
 *
 */
 
#include<SPI.h>
#include<MFRC522.h>
 
#defineSS_PIN10
#defineRST_PIN9
MFRC522 mfrc522(SS_PIN,RST_PIN); // Create MFRC522 instance.
 
voidsetup()
{
 Serial.begin(9600); // Initiate a serial communication
  SPI.begin();     // Initiate  SPI bus
  mfrc522.PCD_Init(); // Initiate MFRC522
 Serial.println("Approximate your card to the reader...");
 Serial.println();

}
voidloop()
{
 // Look for new cards
 if(!mfrc522.PICC_IsNewCardPresent())
 {
   return;
 }
 // Select one of the cards
 if(!mfrc522.PICC_ReadCardSerial())
 {
   return;
 }
 //Show UID on serial monitor
 Serial.print("UID tag :");
 Stringcontent="";
 byteletter;
 for(bytei=0;i<mfrc522.uid.size;i++)
 {
     Serial.print(mfrc522.uid.uidByte[i]<0x10?" 0":" ");
     Serial.print(mfrc522.uid.uidByte[i],HEX);
     content.concat(String(mfrc522.uid.uidByte[i]<0x10?" 0":" "));
     content.concat(String(mfrc522.uid.uidByte[i],HEX));
 }
 Serial.println();
 Serial.print("Message : ");
  content.toUpperCase();
 if(content.substring(1)=="BD 31 15 2B")//change here the UID of the card/cards that you want to give access
 {
   Serial.println("Authorized access");
   Serial.println();
    delay(3000);
 }
 
 else {
   Serial.println(" Access denied");
    delay(3000);
 }
}
Bình luận
Nội dung này chưa có bình luận, hãy gửi cho chúng tôi bình luận đầu tiên của bạn.
VIẾT BÌNH LUẬN