Membuat Kunci Otomatis Menggunakkan RFID RC-552
Ingin membuat sistem kunci otomatis yang canggih dan modern? Salah satu cara paling populer adalah dengan menggunakan teknologi RFID. Di artikel ini, kita akan membahas bagaimana membuat kunci otomatis menggunakan modul RFID RC-522 dan Arduino. Ini adalah proyek sederhana namun menarik yang dapat membantu mengamankan rumah, kantor, atau bahkan loker pribadi Anda.
Apa Itu RFID?
RFID (Radio Frequency Identification) adalah teknologi yang memungkinkan komunikasi tanpa kabel antara dua perangkat: tag RFID dan reader RFID. Dalam proyek ini, kita akan menggunakan RC-522, sebuah reader RFID yang cukup populer di kalangan penggemar Arduino karena harga yang terjangkau dan mudah digunakan.
Komponen Yang Diperlukan
- Arduino Uno
- RFID RC-552 module
- Kartu RFID
- Relay Module(untuk mengontrol kunci listrik)
- Selenoid Lock
- LED (indikator)
- Resistor 220Ω
- Kabel Jumper
- Breadboad (untuk percobaaan)
- Power Supply
Skema Rangkaian
1. Hubungkan RFID RC-522 ke Arduino sebagai berikut:
- SDA → Pin 10
- SCK → Pin 13
- MOSI → Pin 11
- MISO → Pin 12
- IRQ → Tidak dihubungkan
- GND → GND Arduino
- RST → Pin 9
- 3.3V → 3.3V Arduino
2. Relay Module dihubungkan ke pin digital Arduino (misalnya, pin 7). Relay ini akan mengontrol daya ke kunci solenoid. Relay dihubungkan ke kunci listrik sebagai berikut:
- NC (Normally Closed) → Tidak digunakan
- NO (Normally Open) → Salah satu kabel dari kunci solenoid
- COM (Common) → Kabel lainnya dari kunci solenoid
- GND → GND Arduino
- VCC → 5V Arduino
3. LED sebagai indikator:
- Anoda LED (+) → Pin 8 (melalui resistor 220Ω)
- Katoda LED (-) → GND Arduino
KODE PROGRAM
#include <SPI.h>#include <MFRC522.h>#define SS_PIN 10#define RST_PIN 9#define RELAY_PIN 7#define LED_PIN 8MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the RFIDvoid setup() {Serial.begin(9600);SPI.begin(); // Initiate SPI busrfid.PCD_Init(); // Initiate MFRC522pinMode(RELAY_PIN, OUTPUT);pinMode(LED_PIN, OUTPUT);digitalWrite(RELAY_PIN, LOW); // Lock is initially locked}void loop() {// Look for new cardsif (!rfid.PICC_IsNewCardPresent()) {return;}// Select one of the cardsif (!rfid.PICC_ReadCardSerial()) {return;}// This is where you can place your card UID checkSerial.print("Card UID: ");for (byte i = 0; i < rfid.uid.size; i++) {Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");Serial.print(rfid.uid.uidByte[i], HEX);}Serial.println();// Example: Unlock when a specific card is detectedif (rfid.uid.uidByte[0] == 0xDE && rfid.uid.uidByte[1] == 0xAD &&rfid.uid.uidByte[2] == 0xBE && rfid.uid.uidByte[3] == 0xEF) {Serial.println("Access Granted");digitalWrite(RELAY_PIN, HIGH); // Unlock the doordigitalWrite(LED_PIN, HIGH); // Turn on LEDdelay(5000); // Keep unlocked for 5 secondsdigitalWrite(RELAY_PIN, LOW); // Lock the door againdigitalWrite(LED_PIN, LOW); // Turn off LED} else {Serial.println("Access Denied");}// Halt PICCrfid.PICC_HaltA();}
Komentar
Posting Komentar