Thẻ từ cảm ứng RFID MFRC 522

Mã sản phẩm: 1701087

Thương hiệu: Nhập khẩu Loại: Module Arduino

Khối lượng: 20.0

95.000₫

Thêm vào yêu thích Đã yêu thích
chinh-sach
Hỗ trợ phí vận chuyển với đơn hàng trên 300K
chinh-sach
Giao hàng ngay sau khi đặt hàng (áp dụng với nội thành Hải Phòng)
chinh-sach
Đổi mới trong 3 ngày nếu lỗi do nhà sản xuất
chinh-sach
Xuất hóa đơn đỏ trực tiếp cộng thêm 5%

Thẻ từ cảm ứng RFID MFRC 522

Thông số kỹ thuật:

- Một bộ thẻ bao gồm 3 chi tiết: Mạch đọc thẻ, thẻ trắng, thẻ móc khoá.

Hướng dẫn cài đặt thẻ từ

Thẻ từ RFID hiện này có rất nhiều ứng dụng trong cuộc sống. Trong lĩnh vực an ninh, ta có thể áp dụng làm khóa phòng, phân quyền ra vào cho khu vực, hay ở Việt Nam là khóa chống trộm xe máy. Chi phí lại rất rẻ cho 1 bộ thẻ từ. Vậy nguyên lý hoạt động ra sao, mình xin chia sẻ một chút về thẻ từ RFID RC522

CHUẨN BỊ 

1 Thẻ từ RFID RC522 (1 bộ gồm cảm biển và 2 thẻ) 

2 Bo mạnh chủ Arduino Uno 3

3 Bo mạnh test và 2 đèn Led

THỰC HIỆN

Bước 1 :

Các bạn thực kết nối từ bộ cảm biển RC522 sang Arduino Uno 3 như sau:

    RC522                    Arduino Uno 3

   SAD (SS)                       10
   SCK                               13     
   MOSI                              11    
   MISO                              12     
   IRQ                              Không kết nối
   GND                               GND     
   RST                                  5     
  +3.3V                                3V3    

Mình sử dụng thêm 2 đèn LED kết nối cực dương với chân 2 và 3. Cực âm kết nối GND trên bo mạnh Arduino để thể hiện đóng mở của thẻ từ ( Các bạn có thể test trên máy tính vẫn thể hiện được nhé )

NẠP PHẦN MÊM ( Các bạn có thể tìm kiếm bài viết mình đã hướng dẫn về phần mềm nạp cho bo mạnh Arduino)

Thư viện MFRC 522:

 https://github.com/ljos/MFRC522

Code check:

#include <MFRC522.h>
//Get library from https://github.com/ljos/MFRC522
//Sketch: gudjonholm@gmail.com
#include <SPI.h>

/*
Pins    SPI       UNO  Mega2560  Leonardo
1 (NSS) SAD (SS)   10     53        10
2       SCK        13     52        SCK1
3       MOSI       11     51        MOSI1
4       MISO       12     50        MISO1
5       IRQ        *      *         *
6       GND       GND     GND       GND
7       RST        5      ?         Reset
8      +3.3V (VCC) 3V3     3V3       3.3V
* Not needed
1 on ICPS header
*/
#define SAD 10
#define RST 5
MFRC522 nfc(SAD, RST);


#define ledPinOpen    2
#define ledPinClosed  3


void setup() {
  pinMode(ledPinOpen  , OUTPUT);   
  pinMode(ledPinClosed, OUTPUT);   
  SPI.begin();
  Serial.begin(115200);
  Serial.println("Looking for MFRC522.");
  nfc.begin();
  byte version = nfc.getFirmwareVersion();
  if (! version) {
    Serial.print("Didn't find MFRC522 board.");
    while(1); //halt
  }

  Serial.print("Found chip MFRC522 ");
  Serial.print("Firmware ver. 0x");
  Serial.print(version, HEX);
  Serial.println(".");
}

#define AUTHORIZED_COUNT 2 /*If you want more Authorized of cards set the count here, and then add the serials below*/
byte Authorized[AUTHORIZED_COUNT][6] = {

                            {0x45, 0x14, 0x39, 0x2E, 0xFF, 0xFF, }
                      ,{0x81, 0xAF, 0xF5, 0x1E, 0xFF, 0xFF, }  /*f. example how to add more authorized cards*/
                            
                          };
                          
void printSerial(byte *serial);
boolean isSame(byte *key, byte *serial);
boolean isAuthorized(byte *serial);

void loop() {
  byte status;
  byte data[MAX_LEN];
  byte serial[5];
  boolean Opening = false;
  digitalWrite(ledPinOpen, Opening);
  digitalWrite(ledPinClosed, !Opening);
  status = nfc.requestTag(MF1_REQIDL, data);

  if (status == MI_OK) {
    status = nfc.antiCollision(data);
    memcpy(serial, data, 5);
    
    if(isAuthorized(serial))
    { 
      Serial.println("Authenticated");
      Opening = true;
    }
    else
    { 
      printSerial(serial);
      Serial.println("is NOT authenticated");
      Opening = false;
    }
    
    nfc.haltTag();
    digitalWrite(ledPinOpen, Opening);
    digitalWrite(ledPinClosed, !Opening);
    delay(2000);
  }//if (status == MI_OK)

  delay(500);

}//void loop()

boolean isSame(byte *key, byte *serial)
{
    for (int i = 0; i < 4; i++) {
      if (key[i] != serial[i])
      { 
        return false; 
      }
    }
    
    return true;

}

boolean isAuthorized(byte *serial)
{
    for(int i = 0; i<AUTHORIZED_COUNT; i++)
    {
      if(isSame(serial, Authorized[i]))
        return true;
    }
   return false;
}

void printSerial(byte *serial)
{
        Serial.print("Serial:");
    for (int i = 0; i < 4; i++) {
      Serial.print(serial[i], HEX);
      Serial.print(" ");
    }
}


Thể hiện khi cảm biến gặp thẻ từ đúng

( trên máy tính )

Và trên đèn led thi đèn bên tay trái các bạn tắt và tay phải bật , thể hiện truy cập đúng và mở

Thể hiện khi truy cập sai

Đèn bên tay phải các bạn vẫn bật thể hiện truy cập bị từ chối

Chú ý:

   Việc chống nhiễu dây cắm hay đi dây là rất quan trọng khi lắp ráp mạch này. Nhiều khi thẻ bị treo khi đang kết nối với mạch, có thể tháo thẻ ra và cắm lại.

Chúc các bạn thành công !

 

Liên hệ:

  • Website:https://giaiphapchung.vn
  • Đ/c: 18/655 Nguyễn Văn Linh-P.Vĩnh Niệm-Lê Chân-Hải Phòng
  • Email: giaiphapchung68@gmail.com
  • Hotline: 0936824969
Bước 1: Truy cập website và lựa chọn sản phẩm cần mua để mua hàng

Bước 2: Bấm chọn biểu tượng giỏ hàng để thanh toán

Trong mục này bạn có thể thay đổi số lượng, chủng loại sản phẩm và chọn mua thêm sản phẩm khác

Bước 3: Lựa chọn Thanh toán

Bạn vui lòng nhập thông tin:  
Email, Họ tên, Số điện thoại và các thông tin cần thiết khác để nhận đơn hàng của mình.

Nếu bạn đã có tài khoản và muốn đăng ký tài khoản vui lòng vào mục Đăng nhập hoặc Đăng ký tài khoản. Khi có tài khoản bạn sẽ dễ dàng theo dõi được đơn hàng của mình

Bước 4: Xem lại thông tin đặt hàng, điền chú thích và gửi đơn hàng

Bước 5: Sau khi nhận được đơn hàng bạn gửi chúng tôi sẽ liên hệ bằng cách gọi điện hoặc gửi vào email đơn hàng của bạn để xác nhận lại đơn hàng và địa chỉ của bạn.

Trân trọng cảm ơn.
popup

Số lượng:

Tổng tiền: