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Ị
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.