Arduino Password Door Lock Selenoid, Servo, LCD16X2, Keypad 4X3 (PEMBUKA PINTU MENGGUNAKAN PASSWORD DENGAN ARDUINO)



Abstract
     Arduino Uno adalah board mikrokontroler berbasis ATmega328. Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Pada pembahasan kali ini akan dibahas mengenai aplikasi Arduino yaitu system pengguna kunci menggunakan Password yang menggunakan satu masukkan yaitu 1Keypad Matriks adalah tombol-tombol yang disusun secara maktriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input keypad Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol. 2LCD digunakan sebagai dot matrik dengan jumlah karakter 2 x 16. LCD ini berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan karakter keluaran yang sedang dijalankan. 3Door Lock kunci otomatis yang digunakan sebagai luaran apabila perintah yang dijalankan sesuai.
     The Arduino Uno is a microcontroller board based on the ATmega328. It has 14 digital input pins of the output of the input pins of which 6 can be used as PWM outputs and 6 analog input pin , 16 MHz crystal oscillator , a USB connection , a power jack , an ICSP header , and a reset button . To support the microcontroller to be used , quite simply connect the Arduino Uno board to the computer using the USB cable or the AC electrical – to – DC adapter or battery to run it.
     In the discussion this time will discuss about the Arduino application that is using the system key users enter passwords using a matrix that is 1Keypad buttons are arranged in matrices (rows x columns) so as to reduce the use of input pin 4 × 4 matrix keypad simply use 8 pin to 16 buttons. 2LCD used as a dot matrix with 2 x 16 character number. LCD serves as a viewer which will be used to display the output character being dijalankan. 3Door automatic key lock which is used as an output when the command is executed accordingly.
  1. PENDAHULUAN
1.1 Latar Belakang
Manusia merupakan mahkluk hidup yang berusaha mencintai dan melindungi sesuatu yang berharga baginya, salah satunya adalah uang, emas maupun harta benda lainnya. Namun dijaman sekarang keamanan dalam menyimpan barang-barang tersebut manjadi hal utama. Biasanya orang-orang menyimpan harta bendanya dirumah meraka, namun menyimpan uang, emas dan barang berharga lainnya dirumah tidaklah aman. Oleh karna itu banyak dari mereka yang menyimpannya di bank maupun instansi tertentu karna alasan tingkat keamanan yang lebih baik. Biasanya barang-barang tersebut disimpan di ruang penyimpanan, dimana hanya orang-orang khusus ataupun yang diberi wewenang untuk mengakses brangkas itu dengan metode yang hanya diketahui oleh orang tersebut, metode yang dimaksudkan antara lain adalah dengan menggunakan password, berdasarkan permasalahan tersebut dirancang sebuah alat membuka pintu menggunakkan password.
1.2 Rumusan Masalah
Berdasarkan permasalahan yang terdapt pada latar belakang, disusun rumusan masalah sebagai berikut:
  1. Bagaimana proses input password di alat ini penyimpanan dan akses data?
  2. Bagaimana cara mengindentifikasi masukan dan luaran yang dihasilkan jika data tidak sesuai dengan masukan?
1.3 Tujuan
Adapun tujuan yang ingin dicapai penulis yaitu:
  1. Untuk menambah system keamanan yang ada di suatu instansi.
  2. Menerapkan teknologi mikrokontroller yang telah dipelajari kedalam kehidupan nyata.
  1. TINJAUAN PUSTAKA
Penjelasan dan uraian teori penunjang yang digunakan dalam membuat alat ini diperlukan untuk mempermudah pemahaman tentang cara kerja rangkaian maupun dasar-dasar perencanaan pembuatan alat. Teori – teori yang akan dijelaskan dalam bab ini meliputi Arduino Uno, Keypad, LCD, Door Lock.
2.1 Arduino Uno R3
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya. Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode()digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:
  • Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
  • External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
  • PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini menghubungkan komunikasi SPI menggunakan SPI library.
  • LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:
  • TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library
Ada sepasang pin lainnya pada board:
  • AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().
    Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.
2.2 Keypad
Keypad  Bagian  ini  berfungsi  sebagai alat input. Keypad 4×4 dimanfaatkan untuk memasukan kode password ke mikrokontroler.

2.3 LCD
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.

2.4 Solenoid Door Lock
Bagian ini berfungsi sebagai aktuator. Prinsip dari solenoid sendiri akan bekerja sebagai pengunci dan akan aktif ketika diberikan tegangan sebesar 12V. Didalam solenoid terdapat kawat yang melingkar pada inti besi. Ketika arus listrik mengalir melalui kawat ini, maka terjadi medan magnet untuk menghasilkan energi yang akan menarik inti besi ke dalam.

  1. METODOLOGI PENELITIAN
Metodologi penelitian yang digunakan pada Tugas Proyek Arduino Uno adalah sebagai berikut:
  1. Studi Pustaka : Merumuskan teori secara analisis dengan mempelajari buku – buku yang diperoleh dari catatan kuliah, buku – buku perpustakaan dan mempelajari media internet yang berhubungan rangkaian.
  2. Studi Laboratorium : Melakukan penelitian dan pengujian pada beberapa komponen elektronika berdasarkan data spesifikasi. Selanjutnya melakukan pengambilan data pada alat tersebut dan membandingkan dengan hasil teoritis.
  3. Metode Diskusi : Mengajukan beberapa pertanyaan kepada dosen pengajar serta rekan – rekan mahasiswa Teknik Elektro.
III. PERANGKAT ALAT
Bab ini membahas tentang perancangan dan pembuatan alat system pembuka pintu menggunakan password. Pada perancangan system ini meliputi perancangan perangkat lunak (software), dan perangkat keras (hardware).
  1. Penentuan Spesifikasi Alat.
Dalam perencanaan sistem ini akan dibahas tentang kebutuhan-kebutuhan yang harus dipenuhi, agar alat ini dapat bekerja sesuai dengan apa yang direncanakan, yaitu:
  1. Arduino Uno dapat dinyalakan dengan tegangan suplay sebesar 9V, baik menggunakan batterai ataupun adaptor.
  2. Dalam uji coba ini menggunakan solenoid elektro mekanik 9V dengan tegangan suplay sebesar 12V dari Adaptor.
  3. Rubber Keypad 4×4 digunakan untuk memasukan input ke mikrokontroler berupa kode password.
  4. Digit kode password yang digunakan berjumlah lima digit.
  5. Alat ini memiliki fitur untuk merubah kode password dari keypad langsung tanpa harus memprogram ulang mikrokontroler Arduino Uno.
  1. Perancangan Diagram Blok
Diagram blok sistem merupakan salah satu bagian terpenting dalam perancangan dan pembuatan alat ini, karena dari diagram blok dapat diketahui prinsip kerja keseluruhan rangkaian. Tujuan lain diagram blok ini adalah memudahkan proses perancangan dan pembuatan pada masing-masing bagian, sehingga akan terbentuk suatu sistem yang sesuai dengan perancangan sebelumnya.

  1. Prinsip Kerja Alat
Pada alat system pembuka pintu menggunakan sandi ini menggunakan keypad sebagai masukan kode rahasia, dan LCD 16×2 sebagai penampil karakter dari password yang dimasukkan sebagai tanda bintang (“*”) pada saat memasukkan password, dan menggunakan solenoid door lock sebagai pengunci pintu.
Saat alat pertama kali dijalankan LED indikator akan berkedip 1 kali, dan solenoid masih mati sehingga pintu tidak dapat dibuka, setelah LED berkedip 1 kali, pada LCD akan menampilkan karakter masukkan sandi, yang artinya alat tersebut meminta masukkan sandi. Jika sandi yang di masukkan benar, maka LCD memanpilkan “sandin benar” dan selenoid akan membuka.
namun jika sandi salah maka kondisi diatas tidak akan terjadi, untuk mengulangi sandi yang salah dapat memasukkan sandi lagi di menu awal dengan menekan tombol pagar (“ #”).
Pada alat ini juga mampu menyimpan sandi baru, dengan menyimpan sandi pada EEPROM maka walaupun daya pada alat dimatikan, pada alat ini masih menyimpan sandi terakhir yang disimpan pada EEPROM, sandi baaru dapat dimasukkan ketika sandi yang dimasukkan sudah benar, dengan menekan tombol bintang (“*”).
Pada saat sandi benar dan tombol bintang ditekan, pada LCD akan menampilkan karakter “masukkan 4 digit sandi baru” pada saat memasukkan sandi baru pada tombol yang ditekan akan ditampilkan pada LCD, pada saat sandi sudah mencapai 4 karakter maka sandi disimpan di dalam EEPROM, Dengan menekan tombol pagar maka sandi dapat dimasukkan kembali.
  1. Perancangan Perangkat Keras
Perancangan perangkat keras ini digunakan untuk mencatu tegangan pada Selenoid door lock, LCD dan Arduino uno, dengan menggunakkan adapter 12volt/2A sedangakan tegangan yang dibutuhkan Arduino dan LCD yaitu 5volt, Selenoid door lock juga menggunakan tegangan 9volt, sehingga dibutuhkan regulator untuk mendapatkan tergangan yang dibutuhkan oleh Selenoid door lock, LCD dan Arduino Uno.
Dalam perangkat keras ini menggunakan IC regulator 7805 dan IC 7809 maka dapat dihasilkan tegangan yang dibutuhkan untuk mengaktifkan komponen, sedangkan untuk mengaktifkan solenoid dibutuhkan driver tersendiri, karena jika langsung menggunakan output dari arduino belum mampu mengaktifkan solenoid door lock. Pada project ini saya menggunakan relay yang dikendalikan dengan arduino.
langsung saja jika teman teman ingin membuatnya langsung tanpa mecetak sebuah PCB, maka ada beberapa alat yang harus disedikan:
  1. Arduino UNO R3
  2. Module Keypad 4×3
  3. LCD 16×2
  4. Module Relay 1 Channel
  5. Servo
  6. Buzzer
  7. Power Supply
  8. Dan Komponen lainnya.
Skema Rangkaian sesuai gambar dibawah ini.



#include "LiquidCrystal.h"
#include "Password.h"
#include "Keypad.h"
#include "Servo.h"
 
Servo myservo;
int LEDhijau = 11;
int Relay    = 12;
int Buzzer   = 13;
int Wipe     = 10;
Password password = Password( "12345" ); //Sandi
LiquidCrystal lcd(19, 18, 17, 16, 15, 14);

const byte baris = 4; //Baris
const byte kolom = 3; //Kolom

char keys[baris][kolom] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};

byte barisPin[baris] = {9,8,7,6};
byte kolomPin[kolom]= {5,4,3};

// Buat objek keypad
Keypad keypad = Keypad( makeKeymap(keys), barisPin, kolomPin, baris, kolom );

void setup(){
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("Access Controlv1");
  lcd.setCursor(3,1);
  lcd.print("Dicky B_Mz");
  delay(1000);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(" Selamat Datang ");
  lcd.setCursor(0,1);
 lcd.print("------>><
Full Program Disini
PENTING!!!!
Dan bagi yang masih pemula mungkin harus membaca bagian ini. karena program tersebut masih mebutuhkan library tambahan maka anda harus mendownloadnya terlebih dahulu. Library tambahan yang dibutuhkan adalah “Password.h”  dan “Keypad.h”. Selamat mencoba dan berkreasi!!! “Salam Arduino”

No comments

Dicky B_Mz. Powered by Blogger.