Lompat ke konten Lompat ke sidebar Lompat ke footer

PINTU OTOMATIS DENGAN KARTU RFID

Keamanan rumah adalah hal yang penting. Dengan arduino maka kita bisa membuat suatu pintu rumah otomatis yang hanya bisa dibuka dengan menggunakan kartu RFID.

Sistem keamanan pintu sudah mulai diterapkan seperti pada gedung, rumah, sekolah, perkantoran dan lain-lain. Hal ini karena sudah sering terjadi aksi pencurian dan pembobolan rumah karena tidak terproteksi dengan baik. Pembobolan tersebut umumnya melalui pintu rumah. Pintu rumah yang masih menggunakan kunci konvensional maka akan cukup rentan untuk dibobol pencuri.

Dalam kesempatan ini penulis akan membahas tentang kunci otomatis menggunakan kartu RFID (Radio Frequency Identification) seperti pada KTP. Kartu RFID sudah tertanam chip di dalamnya. Setiap chip kartu RFID akan memiliki nomor identitas tertentu yang berbeda satu sama lainnya. Dengan adanya nomor yang berbeda-beda setiap kartu RFID maka kartu RFID bisa dimanfaatkan sebagai pengaman pintu otomatis. Jadi pintu nanti akan bisa terbuka oleh kartu RFID yang nomor ID nya sudah dimasukkan dalam program Arduino. Jika nomor ID pada kartu RFID sama dengan nomor ID yang tersimpan pada program Arduino maka bisa membuka pintu, dan jika nomor ID RFID belum terdaftar atau belum tersimpan pada program arduino maka pintu tidak akan bisa dibuka.

Dalam pembuatan pintu otomatis ini baru dalam bentuk miniature hal ini hanya ingin membuktikan dan menjelaskan bahwa penggunaan kartu RFID memang bisa dapat digunakan untuk membuat pintu otomatis. Bentuk miniatur dari pintu otomatis bisa di lihat pada gambar di bawah ini:

 

pintu otomatis kartu RFID

Untuk membuat pintu otomatis kita membutuhkan alat dan bahan , antara lain:

1.    Miniatur pintu

2.    Arduino uno R3

3.    MFRC522

4.    Kartu RFID

5.    Motor Servo

6.    Selenoid  door lock

7.    Modul Relay

8.    Buzzer

9.    Power Suplly

10.  Kabel jumper

Miniatur Pintu

Miniatur pintu yang digunakan penulis dari bahan kayu, hal ini guna memudahkan penulis dalam membuatnya. Pada bagian bawah miniatur pintu kita buatkan tempat untuk meletakkan power suplly dan rangkaian kontrolnya. Pada bagian kusen pintu kita letakkan Selenoid  door lock.

Arduino uno R3

Untuk mengontrol pintu otomatis, penulis menggunakan mikrokontroller Arduino Uno R3. Jika pembaca ingin menggunakan mikrokontroller jenis lainnya seperti AVR, MCS, dll maka bisa saja yang penting telah menguasai sketch programnya.

MFRC522

Untuk membaca nomor ID kartu RFID maka kita harus memiliki alat RFID Reader. Alat yang kita gunakan adalah type MFRC522. Bentuk nya bisa dilihat pada gambar di bawah ini :

 

mfrc522

Ada 8 pin yang disiapkan pada MFRC522 dan untuk menghubungkannya nanti bisa di lihat pada gambar skema rangkaian. Dan yang sangat perlu diperhatikan adalah penggunaan tegangan catu dayanya. Tegangan catu daya untuk MFRC522 menggunakan 3,3 Volt. Jadi jangan menghubungkannya ke 5 Volt karena bisa merusak chip pada MFRC522

Agar MFRC522 dapat terhubung dengan arduino maka pada program Arduino IDE perlu ada penambahan library khusus MRFC55.

Cara untuk menambah librarynya yaitu :

Downloadlah File Library Ardunino untuk RFID model MFRC522. Setelah selesai download maka letakkan file tersebut pada folder Documents > Arduino > Library.

Lalu install library tersebut pada aplikasi Arduino IDE dengan cara :

1.    Buka Aplikasi Arduino IDE

2.    Pilih Menu Sketch

3.    Sorot ke Bawah dan pilih Include Library

4.    Maka Menu akan bergeser ke kanan, pilih Add.Zip Library.

5.    Pilih File Library yg sudah di download tadi, lalu  klik "Open"

Kartu RFID

Bentuk kartu RFID mirip seperti bentuk kartu umumnya seperti kartu nama, e-KTP, ATM, kartu pelajar, dll. Hanya saja ada kartu yang sudah disematkan mikro chip RFID da nada kartu yang tidak ada mikro chipnya. Kartu yang memiliki microchip seperti kartu ATM, KTP, kartu e-money, dll.

Kartu RFID yang digunakan pada proyek ini adalah kartu RFID kosong. Kartu RFID tidak membutuhkan catu daya khusus. Jadi  kartu RFID ini bisa aktif memancarkan gelombang frekuensi radio hanya pada saat ditempelkan pada RFID reader (MFRC522). Pada saat ditempelkan maka nomor ID kartu RFID akan terbaca. Pengganti kartu RFID pada proyek ini bisa juga menggunakan e-KTP atau kartu lainnya. Perlu diketahui alat ini dibuat tidak akan mampu membaca database e-KTP seperti nama, NIK, dll. Jadi alat ini hanya sekedar membaca nomor ID kartu e-KTP saja. Jadi jangan berharap banyak karena kita pun tidak punya hak dan wewenang untuk membaca dan mengubah isi data e-KTP.

Selain berbentuk kartu RFID maka bisa juga kartu RFID berbentuk gantungan kunci seperti gambar di bawah ini.

 

pintu otomatis kartu RFID

Setiap kartu RFID akan memiliki nomor ID yang berbeda-beda. Sehingga nomor ID ini bisa dijadikan pengaman. Hanya kartu tertentu saja yang nomor IDnya sudah didaftarkan yang dapat digunakan, jadi mirip seperti pada kunci konvensional. Jika nanti alat ini mau digunakan beberapa kartu RFID maka semua nomor ID kartu harus dimasukkan ke dalam program.

Mikrochip pada Kartu RFID rentan kerusakan sehingga harus kartu simpan dengan baik guna menghindari kerusakan mikrochipnya. Jangan takut jika suatu saat kartu RFID hilang atau rusak karena bisa diganti dengan kartu RFID yang baru dan cukup  memasukkan nomor ID kartu RFID yg baru ke dalam program.

Motor Servo

Untuk mengerakkan miniatur pintu maka penulis menggunakan motor servo. Motor servo merupakan motor listrik dengan sistem closed loop. Sistem tersebut digunakan untuk mengendalikan akselerasi dan kecepatan pada sebuah motor listrik dengan keakuratan yang tinggi.

Pada umumnya, motor servo terdiri dari beberapa bagian yaitu:

·      Motorr

·      Roda gigi

·      Sistem kontrol

·      Potensiometer atau encoder.

Motor berfungsi sebagai penggerak roda gigi agar dapat memutar potensiometer dan poros output-nya secara bersamaan. Potensiometer atau encoder berfungsi sebagai sensor yang akan memberikan sinyal umpan balik ke sistem kontrol untuk menentukan posisi targetnya. Jika sistem kontrol mendeteksi posisi target pada motor servo sudah benar, maka putarannya secara otomatis akan berhenti. Namun, jika posisi target atau sudutnya belum tepat maka motor servo akan diubah posisinya sampai benar.

Untuk mengendalikan motor servo sesuai pergerakan sudut rotasinya maka membutuhkan sinyal gelombang PWM (Pulse Width Modulation). Pada arduino uno R3 dip sudah memiliki output khusus untuk PWM yaitu pin nomor : 3, 5,6,9,10,11.

Untuk mengaktifkan motor servo pada program Arduino IDE maka perlu menambahkan library motor servo. Untuk menginstal Library baru ke dalam IDE Arduino dapat menggunakan Library Manager .

Caranya : Buka Program Arduino IDE, klik ke menu “Sketch”, pilih Include Libary > Manage Libraries. Pada layar Library manager ketiklah servo motor. Lalu install.

 

library motor servo

Motor servo yang digunakan pada pintu otomatis ini typenya MG996R. seperti gambar di bawah ini:

motor servo  MG996R


Bisa juga menggunakan type yang lainnya.  Untuk lebih jelas bagaimana menggerakan motor servo, kekuatan motor servo dan cara latihan membuat sketch program motor servo bisa lihat pada channel youtube “Hendry Kurniawan” dengan judul "Tutorial motor servo arduino".

Selenoid  door lock

Untuk dapat membuka dan mengunci pintu secara otomatis maka kita membutuhkan suatu kunci yang dinamakan Selenoid  door lock. Selenoid  door lock menggunakan prinsip magnet listrik. Jadi pada saat tegangan DC 12 Volt diberikan pada solenoid maka kumparan tersebut menajadi magnet. Magnet listrik inilah yang akan menarik tuas kunci. Pada saat tidak ada tegangan maka tuas kunci akan terdorong ke depan karena ada pegasnya. Bentuknya bisa dilihat pada gambar di bawah ini :


selenoid door lock

Modul Relay

Pada proyek pintu otomatis ini kita menggunakan relay. Relay merupakan saklar listrik yang menggunakan coil. Pada saat coil dialiri arus listrik maka coil akan menjadi magnet yang akan menarik lidah saklar. Modul relay yang digunakan menggunakan tegangan 5 volt. Modul relay ini digunakan untuk menghidupkan dan mematikan Selenoid  door lock. Sebenarnya jika Selenoid  door lock menggunakan tegangan 5 volt maka tidak perlu modul relay jadi bisa langsung dihubungkan dengan ouput arduino, tetapi karena Selenoid  door lock menggunakan12 Volt maka dibutukan tambahan modul relay.

Bentuk modul relaynya seperti pada gambar di bawah ini.


modul relay arduino

Untuk jelasnya tentang apa itu Relay dan prinsip keja relay  maka bisa lihat pada video youtube channel “Hendry Kurniawan” dengan judul "Prinsip kerja Relay". Silahkan dicari, ditonton dan jangan lupu subscribe.

Buzzer

Buzzer merupakan komponen elektronika yang dapat merubah sinyal listrik menjadi getaran suara. Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke rangkaian elektronika lainnya. Buzzer dapat langsung menghasilkan suara saat pinnya dihubungkan dengan catu daya 5 Volt. Buzzer dapat dijadikan untuk bunyi alarm.

Bentuk buzzer bisa dilihat pada gambar di bawah ini :


buzzer arduino

Setelah alat dan bahan sudah lengkap maka rakitlah rangkaian seperti pada gambar di bawah ini :

 

pintu otomatis kartu RFID

SKETCH PROGRAM ARDUINO

Langkah berikutnya membuat sketch program. Silahkan ketik programnya seperti berikut ini :

//Pintu otomatis oleh Hendry Kurniawan

//WIRA NASEN

//RFID

#include <SPI.h>

#include <MFRC522.h>

#include <Wire.h>

#include <Servo.h>

/* ---------------------------------------------------------

 *        MFRC522                            Arduino      

 *      Reader/PCD                            Uno     

 *        SignalPin                                Pin          

 * ----------------------------------------------------------

 * RST/Reset       RST               9 (kabel biru)

 * SPI SS             SDA(SS)      10 (kabel ungu)

 * SPI MOSI         MOSI            11 (kabel Hijau)

 * SPI MISO         MISO            12 (kabel kuning)

 * SPI SCK           SCK              13 (kabel orange)

 * 3,3 Volt             3,3 Volt          (kabel merah)

 * GND                 GND              (kabel coklat)

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

 LED (Kabel biru putih) pin 8

 BUZZER (Kabel ungu + merah) pin 6

 RELAY (Kabel biru)pin 2

 SERVO (kabel putih) pin 3

 Saklar 1  pin 4

 Saklar 2  pin 5

 selenoid (kabel putih ) pin 7

 */

#define SS_PIN 10

#define RST_PIN 9

const int BUZZER = 6;

const int LED = 8;

const int RELAY = 2;

const int SERVO = 3;

int a;

int b;

Servo motorServo;

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

void setup()

{

  Serial.begin(9600);   // Initiate a serial communication

  SPI.begin();      // Initiate  SPI bus

  mfrc522.PCD_Init();   // Initiate MFRC522

  pinMode(BUZZER, OUTPUT);

  pinMode(LED, OUTPUT);

  pinMode(RELAY, OUTPUT);

  pinMode(SERVO, OUTPUT);

  digitalWrite(LED, HIGH);

  digitalWrite(RELAY, HIGH);

  motorServo.attach(SERVO);

  motorServo.write(65); //TUTUP PINTU

}

void loop()

{

  //KODING PENGECEKKAN KARTU RFID

  if ( ! mfrc522.PICC_IsNewCardPresent())

  {

    return;

  } 

  //PEMBACAAN KARTU RFID

  if ( ! mfrc522.PICC_ReadCardSerial())

  {

    return;

  }

  //MEMPERLIHATKAN NOMOR SERIAL KARTU RFID

  Serial.print("UID tag :");

  String content= "";

  byte letter;

  for (byte i = 0; i < mfrc522.uid.size; i++)

  {

     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

     Serial.print(mfrc522.uid.uidByte[i], HEX);

     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

     content.concat(String(mfrc522.uid.uidByte[i], HEX));

  }

  Serial.println();

  Serial.print("PESAN : ");

  content.toUpperCase();

 

  //SESUAIKAN ID TAG KARTU UID RFID 13,56 Khz --> 99 9E 4B 98

  if (content.substring(1) == "99 9E 4B 98")

  {

    Serial.println("AKSES DITERIMA");

    Serial.println();

    digitalWrite(BUZZER, HIGH);

    delay(200);

    digitalWrite(BUZZER, LOW);

    digitalWrite(RELAY, LOW);

 

  for(a=65;a<=140;a++){

  motorServo.write(a);

  delay(50);

  }

  delay(1000);

  for(b=140;b>=65;b--){

  motorServo.write(b);

  delay(50);

  }

  delay(500);

  digitalWrite(RELAY, HIGH);

  }

  else

  {

    Serial.println("AKSES DITOLAK");

    Serial.println();

    digitalWrite(BUZZER, HIGH);

    delay(200);

    digitalWrite(BUZZER, LOW);

    delay(200);

    digitalWrite(BUZZER, HIGH);

    delay(200);

    digitalWrite(BUZZER, LOW);

    delay(200);

  }

  delay(500);

}

Untuk melihat hasil dari pintu otomatis ini bisa liat secara lengkap pada video youtube “Hendry Kurniawan” berikut ini :


sumber video : https://www.youtube.com/watch?v=AqDyum0Etu0&t=40s

Terimakasih yang sudah membaca artikel ini, silahkan yang mau mengikuti blog ini secara rutin. Silahkan jika ingin berdiskusi bisa menulis di kolom komentar.

Posting Komentar untuk "PINTU OTOMATIS DENGAN KARTU RFID "