Danh mục sản phẩm

Chế Mạch Đóng Ngắt Relay 5V Đơn Giản Bằng RFID

time Thứ Hai, 05/08/2019
user Đăng bởi Đỗ Hữu Quang

1.  Thiết bị cần thiết:

- 1 Arduino có thể sử dụng Arduino nano, R3, mega, micro, pro micro,.. ở đây tôi dùng Arduino Nano.

- 1 Module RFID.

- Phần module relay có thể sử dụng module có sẵn hoặc tự làm với các linh kiện:

- Pin 18650 và Module Module BOOST DC-DC 0.9-5V đây sẽ là nguồn nuôi của toàn mạch.

2. Sơ đồ mạch và code:

 

- Sơ đồ relay:

 

- Kết nối RFID theo sơ đồ chân: 

* Danh sách các arduino phổ biến và kết nối chân với module RFID
 * -----------------------------------------------------------------------------------------------------------------------
 *             MFRC522        Arduino        Arduino       Arduino          Arduino                 Arduino
 *             Reader/PCD    Uno              Mega          Nano v3       Leonardo/Micro      Pro Micro
 * Signal      Pin                Pin              Pin                    Pin            Pin                        Pin
 * ----------------------------------------------------------------------------------------------------------------------
 * RST/Reset   RST            9                   5               D9             RESET/ICSP-5         RST
 * SPI SS      SDA(SS)      10                  53             D10             10                             10
 * SPI MOSI    MOSI         11 / ICSP-4    51            D11            ICSP-4                      16
 * SPI MISO    MISO         12 / ICSP-1    50            D12           ICSP-1                     14
 * SPI SCK     SCK          13 / ICSP-3      52            D13           ICSP-3                     15

 

Code cho arduino:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9
#define SS_PIN          10

MFRC522 mfrc522(SS_PIN, RST_PIN);

String read_rfid;
String ok_rfid_1="cb2ebf"; // khai báo thẻ 1
String ok_rfid_2="cad7dc15";        // khai báo thẻ 2
int lock = 2; // khai báo chân tín hiệu điều khiển relay
/*
 * Initialize.
 */
void setup() {
    Serial.begin(9600);
    while (!Serial);
    SPI.begin();
    mfrc522.PCD_Init();
    
    //Choose which lock below:   
    pinMode(lock, OUTPUT);
    

}
void dump_byte_array(byte *buffer, byte bufferSize) {
    read_rfid="";
    for (byte i = 0; i < bufferSize; i++) {
        read_rfid=read_rfid + String(buffer[i], HEX);
    }
}

void open_lock() {
  // Bật relay
  digitalWrite(lock,HIGH);
}

  void close_lock() {
  // Ngắt relay
  digitalWrite(lock,LOW);
}

void loop() {
    if ( ! mfrc522.PICC_IsNewCardPresent())
        return;   
    if ( ! mfrc522.PICC_ReadCardSerial())
        return;

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);

    
     if (read_rfid==ok_rfid_1) {      
     open_lock(); 
      delay(1000);
     }
    
    if (read_rfid==ok_rfid_2) {      //đóng ngắt với thẻ 2
      if(!digitalRead(lock)){      
      open_lock(); 
      delay(5000);   
      }
    else 
    {
      close_lock();
      delay(5000);
      }
    }     
 }

 

----------------------------

Các bạn nhớ tải thư viện MFRC522.h trước khi nạp code nha.

Thay hai mục  'ok_rfid_1' và 'ok_rfid_2' bằng mã thẻ tương ứng của các bạn hiện trong serial monitor.

 

=> Mình hướng dẫn sơ qua bạn nào muốn tìm hiểu thêm thì ib trực tiếp vào web mình sẽ giải đáp thêm

Viết bình luận của bạn:
popup

Số lượng:

Tổng tiền: