Posted by : Wahyu Cahya Putra Kamis, 17 Juni 2021

Sistem keamanan pintu pintar sudah mulai diterapkan seperti pada gedung, hotel, perkantoran dan lain-lain. Hal ini dilakukan untuk mencegah adanya aksi pencurian dan pembobolan karena tidak terproteksi dengan baik.

Dalam kesempatan kali ini saya akan berbagi tutorial Membuat Sistem Kunci Pintu Pintar menggunakan kartu RFID (Radio Frequency Identification) seperti pada E-KTP, SIM, E-Toll. Setiap chip kartu RFID akan memiliki nomor identitas tertentu yang berbeda satu sama lainnya sehingga memiliki keamanan yang tinggi. Dalam percobaan ini kita menggunakan RFID RC522. Kartu RFID memiliki frekuensi kerja 13.56MHz. jadi jika kartu rfid nya diluar frekuensi ini, maka tidak akan terdeteksi.



Komponen yang di gunakan :

  • Arduino uno 
  • RFID RC522
  • Kabel jumper Secukupnya
  • Modul I2C
  • LCD 16x2
  • Buzzer
  • Breadboard
  • Relay 5v
  • Solenoid door lock
  • Power Supply 12v

Langsung saja kita rangkai komponennya seperti gambar berikut :





Langkah - langkah Wiring :

Koneksi modul I2C dengan Arduino UNO

  • Gnd (-) -> GND
  • Vcc (+) -> 5V
  • SDA -> A4
  • SCL -> A5

Koneksi modul RFID dengan Arduino UNO

  • SDA -> Pin 10
  • SCK -> Pin 13
  • MOSI -> Pin 11
  • MISO -> Pin 12
  • SDA -> Pin 10
  • GND -> GND
  • RST -> Pin 9
  • 3.3v -> 3.3v

Koneksi modul Relay dengan Arduino UNO

  • Gnd (-) -> GND
  • Vcc (+) -> 5V
  • Input    -> Pin 8

Koneksi Selenoid DoorLock dengan Modul Relay

  • Pin (-) -> GND Power Supply 12V
  • Pin (+) -> Pin N.O Relay
  • Pin COM Relay -> (+) Power Supply 12V

Koneksi Buzzer dengan Arduino UNO

  • Pin (-) -> GND
  • Pin (+) -> Pin 5

Setelah semua komponen dirangkai selanjutnya kita masuk ke pemrograman menggunakan software Arduino IDE

Untuk mendownload code dan library klik disini

Tutorial menambahkan library Arduino IDE klik disini

 

Code :

//kunci pintar menggunakan RFID by Wahyu Cahya Putra

#include <LiquidCrystal_I2C.h>

#include <SPI.h>

#include <MFRC522.h> 

 

const int buzzer=5;

const int relay = 8;

const int PIN_RST = 9; 

const int PIN_SS  = 10;

 

String uidTag = "";    

LiquidCrystal_I2C lcd(0x27,16,2);

MFRC522 mfrc(PIN_SS, PIN_RST);

 

void setup() {

  lcd.init ();

  lcd.backlight ();

  Serial.begin(9600);

  SPI.begin(); 

  mfrc.PCD_Init();

 

  pinMode (relay, OUTPUT);

  pinMode(buzzer,OUTPUT);

  digitalWrite (relay, HIGH);

 

  // cek software RFID

  byte versi = mfrc.PCD_ReadRegister(mfrc.VersionReg);

  if (versi == 0x00 || versi == 0xFF) {

    lcd.begin(16,2);

    lcd.setCursor (0,0);

    lcd.print("Tidak Ada Modul");

    while (true);  

  }

}

 

void loop() {

  lcd.setCursor (0,1);

  lcd.print("Tempelkan Kartu!");

  digitalWrite (relay, HIGH);

 

  if (!mfrc.PICC_IsNewCardPresent())

    return;

 

  if (!mfrc.PICC_ReadCardSerial())

    return;

 

  uidTag = "";

  for (byte j = 0; j < mfrc.uid.size; j++) {

    char teks[3];

    sprintf(teks, "%02X", mfrc.uid.uidByte[j]);

    uidTag += teks;

  }

 

// Jika Tag terdaftar

  if  (uidTag.substring(0) == "92A28732"){ //ganti data "92A28732" dengan tag anda

  digitalWrite (relay, LOW);

  digitalWrite(buzzer, HIGH);

  delay(100);

  digitalWrite(buzzer, LOW);

  lcd.setCursor (0,0);

  lcd.print("  ");

  delay (1000);

  lcd.setCursor (0,0);

  lcd.print(" Selamat Datang ");

  delay (1000);

  lcd.setCursor (0,1);

  lcd.print ("NAMA ANDA");

  delay (5000);

  lcd.clear ();

  lcd.setCursor (0,0);

  lcd.print(" PINTU TERBUKA ");

  delay (2000);

  lcd.clear ();

  }


//ketika tag salah

  else {

  Serial.print("uidTag : ");

  Serial.println(uidTag);

  digitalWrite(buzzer, HIGH);

  delay(500);

  digitalWrite(buzzer, LOW);

  lcd.clear();

  lcd.setCursor (0,1);

  lcd.print("Akses ditolak !!!");

  delay (2000);

  }

 

  mfrc.PICC_HaltA();

}


  • Setelah program diupload, untuk menemukan ID kartu anda buka serial monitor lalu tempelkan kartu anda, maka di serial monitor akan muncul nomor ID kartu anda
  • Setelah itu copy dan paste untuk mengganti “92A28732” di code tadi
  • Kemudian ganti “NAMA” dengan “NAMA ANDA” Contoh “ Wahyu Cahya P “
  • Karena kita menggunakan LCD 16x2 maka karakter yang bisa ditulis maksimal adalah 16 karakter.


Sekian tutorial dari saya kali ini, Apabila ada hal-hal yang kurang jelas bisa ditanyakan pada kolom komentar dibawah, terima kasih

Selamat Mencoba…

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

Jam

Popular Post

Diberdayakan oleh Blogger.

Search This Blog

Blog Archive

Subscribe Us

- Copyright © WCP.ID - - Powered by Blogger - -