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.
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:
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 :
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.
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.
Jika suatu saat kartu RFID hilang atau rusak kita bisa menggantinya dengan kartu RFID yang baru. Agar kartu RFID baru bisa digunakan maka langkah awalnya adalah membaca nomor IDnya setelah itu masukkan nomor ID kartu yang baru tadi ke dalam program. Jika tidak ada kesalahan dalam mengisikan ID maka kartu baru tersebut sudah dapat digunakan.
Motor Servo
Untuk mengerakkan miniatur pintu maka penulis menggunakan motor servo. Motor servo merupakan motor listrik yang dapat digerakkan atau diputar pada sudut tertentu sesuai dengan keinginan. Kalau ingin mengetahui banyak tentang pengendalian pada motor servo bisa baca Mengontrol motor servo menggunakan Arduino
Bagian-bagian di dalam motor servo adalah :
· Motor DC
· Roda gigi yang berguna untuk mengubah putaran motor agar torsinya menjadi baik.
· Sistem kontrol
· Potensiometer atau encoder.
Motor berfungsi sebagai daya penggerak yang terhubung ke roda gigi. Putaran motor ini akan terhubung dengan potensiometer dan poros output-nya. Sehingga saat motor berputar maka akan memutar potensiometer dan memutar poros output secara bersamaan.
Potensiometer nilainya akan berubah-ubah sesuai dengan pergerakan motor servo, perubahan posisi potensiometer ini akan menjadi encoder yang difungsikan untuk sensor. Potensiometer bisa memberikan sinyal umpan balik ke sistem pengendali untuk menentukan posisi targetnya yang benar. Pada saat sistem pengendali motor servo mendeteksi posisi target sudah sesuai, maka putarannya secara otomatis akan berhenti. Pada saat posisi sudut yang diinginkan belum pas maka motor servo akan tetap terus bergerak dan berputar mencari posisi yang tepat sesuai programnya.
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. Caranya : Buka Program Arduino IDE, klik ke menu “Sketch”, pilih Include Libary > Manage Libraries. Pada layar Library manager ketiklah servo motor. Lalu install.
Motor servo yang digunakan pada pintu otomatis ini typenya MG996R. seperti gambar di bawah ini:
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. Bentuk selenoid door clock ada pada gambar dibawah :
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.
Untuk jelasnya tentang apa itu Relay dan prinsip keja relay maka bisa lihat pada video youtube channel “Hendry Kurniawan” dengan judul Prinsip Kerja Relay.
Buzzer
Buzzer langsung bisa menghasilkan bunyi saat dihubungkan dengan catu daya 5 volt, hal ini karena pada buzzer arus listrik akan diubah menjadi getaran suara. Buzzer
yang digunakan berjenis Piezoelectric. Harga Buzzer ini tidak mahal, beratnya ringan dan praktis saat memasangnya ke dalam rangkaian elektronika lainnya. Buzzer dapat juga dijadikan untuk bunyi alarm.
Bentuk buzzer bisa dilihat pada gambar di bawah ini :
Setelah alat dan bahan sudah lengkap maka rakitlah rangkaian seperti pada gambar di bawah ini :
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;
}
//MEMBACA KARTU RFID
if ( !
mfrc522.PICC_ReadCardSerial())
{
return;
}
//MENAMPILKAN 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 :
Di jual gak mas yg udah jadi ?
BalasHapusSaya ingin beli , ada proyek
BalasHapusAda wiring diagramnya bang?
BalasHapus