Tutorial Membuat Password Pintu Menggunakan Arduino, Solenoid Door Lock, dan Tombol Keypad 4×4

.

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Sobat, pernah terpikirkan apakah Arduino bisa diaplikasikan untuk sistem keamanan ? Tentunya sangat bisa sobta. Nah kali ini NP akan share kepada para sobat pembaca setia blog NP ini tentang bagaimana cara membuat password pengaman pintu menggunakan Arduino. Password ini yang akan menentukan terbuka tidaknya solenoid door lock sebagai kunci pintunya. Password akan diinput melalui tombol keypad 4×4.

Jika password benar, maka solenoid door lock akan terbuka. Namun jika salah, maka solenoid akan tetap menutup untuk mengunci pintu. Terdapat pula lcd sebagai display yan akan menampilkan apakah password yang telah diinputkan sudah benar atau salah. Silahkan disimak baik-baik tutorialnya sob…. 😀

.

.

Berikut ini komponen yang perlu dipersiapkan :

  • 1 buah Arduino UNO atau Arduino Tipe Lain (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Keypad 4×4 (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Solenoid Door Lock (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Adaptor 12V 2A untuk Solenoid Door Lock (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Jack DC Female untuk menghubungkan Adaptor dan Solenoid Door Lock (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Relay Module 1 Chanel (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 LCD 16×2, boleh yang blue atau yellow backlight (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 Potensio 10K untuk mengatur kontras/kecerahan LCD (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 Header Male untuk menancapkan kabel jumper pada LCD (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Breadboard/Projectboard untuk memparalel kabel, boleh ukuran besar/kecil tergantung kebutuhan saja (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Kabel jumper secukupnya, usahakan menyiapkan semua jenis yakni Male-Male, Female-Female, dan Male-Female (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
    .
    .
    .

    Berikut ini komponen opsional/tidak wajib :

  • PCB polos sebagai alas pembuatan project jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Multitester (AVO) jika diperlukan untuk mengecek rangkaian (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Timah Solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Pegangan Solder/Tempat Solder (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
    .
    .
    .

    Berikut ini Software yang perlu dipersiapkan :

    • Software Arduino IDE (Jika belum punya, maka download Di Sini)
    • Library LiquidCrystal.h (Jika belum punya, maka download Di Sini)
    • Library Password.h (Jika belum punya, maka download Di Sini)
    • Library Keypad.h (Jika belum punya, maka download Di Sini)
    • Dan cara menambah library Arduino bisa dibaca Di Sini
    • Dan jika ingin belajar bagaimana cara menggunakan Arduino bagi pemula, silahkan download Ebook nya Di Sini
      .

      “Jangan Lupa Untuk Selalu Membeli Komponen Elektronika-Robotika di Nofgi Piston Shop (Tokopedia/Bukalapak)….

      Dijamin amanah, terpercaya, dan harga murah meriah…
      Juga Sebagai Support Bagi Kami Agar Terus Dapat Berbagi Tutorial Kepada Para Sobat… 😀 “

      .
      .
      .
      .

Dan berikut ini adalah skema rangkaiannya :

.


.
Keypad 4x4          <=======>       Arduino 
Pin Kanan-Kiri                      Pin 2-9
LCD 16x2     <=======>      Arduino
RS ------------------------ pin A0
E ------------------------- pin A1
D4 ------------------------ pin A2
D5 ------------------------ pin A3
D6 ------------------------ pin A4
D7 ------------------------ pin A5
RW ------------------------- GND
VSS ------------------------ GND
VDD ------------------------ 5V
A -------------------------- 5V
K -------------------------- GND
VO ------------------- Output Potensio
Potensio 10K
Pin Kanan ===> 5V
Pin Tengah ===> VO LCD 16x2
Pin Kiri ===> GND
*** Pin Kanan-Kiri Potensio Boleh Dibolak-balik
Relay Module
Pin VCC ===> 5V Arduino
Pin In ===> Pin 10 Arduino
Pin GND ===> GND Arduino

Putus salah satu kabel adaptor dan sambungkan pada Terminal Block/Baut
Relay sebelah kiri dan sambungan kabelnya disebelah tengah. Sedangkan
kabel adaptor yang lainnya langsung sambungkan ke solenoid. Atau Sambungkan
kabel ke NO dan COM pada Relay. Relay berfungsi sebagai saklar pengaktif 
solenoid.

.

.

.

Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat, dan tata cara upload program ke Arduino bisa sobat baca Di Sini :
.

// --------- Membuat Password Pintu Rumah dengan Arduino dan Keypad ---------- //
// --------- Berbasis Arduino, Keypad, dan Flame Selenoid Door Lock --------- //
// -------------------- Sumber : www.boarduino.web.id ----------------------- //
// --------------------- Diedit oleh : M. Nofgi Y.P.U. ---------------------- //
// --------------------- www.nofgipiston.wordpress.com --------------------- //
//*
//*
//*
// mohon dipelajari program yang sudah diberikan agar mendapat ilmu 
// yang bermanfaat :)

// memanggil library password dan keypad
#include <Password.h>
#include <Keypad.h>

// Menambah library unuk LCD
#include <LiquidCrystal.h>

// Letak pin RS, E, D4,D5,D6,D7 LCD
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

// inialisasi pin relay untuk selenoid door lock
int Relay1 = 10;

// inialisasi password yang ditentukan
Password password = Password( "1234" ); // ubah password di sini

// inialisasi jumlah baris dan kolom keypad
const byte baris = 4; // jumlah baris
const byte kolom = 4; // jumlah kolom

// deklarasi matrix keypad
char keys[baris][kolom] =
{
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};


// inialisasi pin untuk keypad
byte kolomPin[kolom] = {5, 4, 3, 2};
byte barisPin[baris] = {9, 8, 7, 6};


// membuat objek untuk pembacaan keypad
Keypad keypad = Keypad( makeKeymap(keys), barisPin, kolomPin, baris, kolom );





// ****************** PROGRAM DEFAUT/SETTING AWAL ******************* //

void setup()
{
// inialisasi baud rate serial monitor
Serial.begin(9600);

// deklarasi jumlah baris & kolom LCD
lcd.begin(16, 2);

// inialisasi status I/O pin
pinMode(Relay1, OUTPUT);

// deklarasi awal status relay
digitalWrite(Relay1, HIGH); // kondisi awal selenoid menutup

// deklarasi variabel keypad event
keypad.addEventListener(keypadEvent);

// menulis pada lcd
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Password Pintu");
delay(1500);
}






// *************************** PROGRAM PERULANGAN TERUS MENERUS ************************** //

void loop()
{
// membaca keypad
keypad.getKey();
}






// ********************* PROGRAM TOMBOL UNTUK ENTER DAN RESET ******************* //

void keypadEvent(KeypadEvent eKey)
{
switch (keypad.getState())
{
case PRESSED:

Serial.print("Enter: ");
Serial.println(eKey);
delay(10);

Serial.write(254);

switch (eKey) {
case 'A': Login(); delay(1); break; // tombol A untuk login

case 'B': password.reset(); delay(1); break; // tombol B untuk reset

default: password.append(eKey); delay(1);
}
}
}





// ********************** PROGRAM LOGIN ************************* //

void Login()
{
// jika password benar
if (password.evaluate())
{
// menulis pada lcd
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Password Benar");
delay(150);

// menulis pada serial monitor
Serial.println("Password BENAR");
Serial.write(254);

// relay aktif untuk membuka solenoid selama 3 detik
digitalWrite(Relay1, LOW);
// ubah durasi buka solenoid di sini
delay(3000);

// relay tidak aktif dan solenoid menutup kembali
digitalWrite(Relay1, HIGH);
}

// jika password tidak benar atau salah
else
{
// menulis pada lcd
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Password Salah");
delay(150);

// menulis pada serial monitor
Serial.println("Password SALAH ... !!!");
Serial.write(254);
delay(10);

// relay tidak aktif, solenoid tetap menutup
digitalWrite(Relay1, HIGH);
}
}

.

.

.

.

Dan berikut ini adalah video demonstrasinya di channel Youtube saya , Jangan lupa untuk klik “Like” pada video dan “Subscribe” channel saya ya sobat, sebagai dukungan agar dapat terus berkarya 😀 .

.

.

.

.

 

Penjelasan singkat dari program di atas yakni :

Program di atas akan mengaktifkan relay dan solenoid door lock akan terbuka selama 3 detik jika password benar, dan akan kembali menutup setalh 3 detik. Namun jika password salah, maka relay tidak akan aktif dan solenoid akan tetap menutup. Ubah durasi buka solenoid pada baris program di bawah ini :

// jika password benar
if (password.evaluate())
{
// menulis pada lcd
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Password Benar");
delay(150);

// menulis pada serial monitor
Serial.println("Password BENAR");
Serial.write(254);

// relay aktif untuk membuka solenoid selama 3 detik
digitalWrite(Relay1, LOW);
// ubah durasi buka solenoid di sini
delay(3000);

// relay tidak aktif dan solenoid menutup kembali
digitalWrite(Relay1, HIGH);

 

Cara input password adalah ketikkan password pada keypad, lalu tekan tombol “A” untuk login, dan tekan tombol “B” untuk reset.

Dan password yang NP setting pada program di atas adalah : 1234. Untuk mengubah password, silahkan sobat ubah pada baris program di bawah ini :

// inialisasi password yang ditentukan
Password password = Password( "1234" ); // ubah password di sini

.

.

.

Yups… Begitulah tutorial singkat yang dapat NP bagikan kepada sobat sekalian… Untuk selanjutnya bisa sobat kembangkan kembali dengan berbagai kreatifitas yang sobat miliki seperti merubah tulisan pada LCD, menambah fitur SMS atau tersambung dengan Smartphone Android sebagai notifikasi, dan lain sebagainya….. Nantikan berbagai tutorial berikutnya dari NP yaaa … 😀

Jangan bosan-bosan belajar dan berlatih dengan Arduino ya sob … Karena banyak sekali alat-alat serta kreatifitas yang dapat kita buat dengan microcontroller board serba bisa ini 🙂 .

“Apabila dalam diri seseorang masih ada rasa malu dan takut untuk berbuat suatu kebaikan, maka jaminan bagi orang tersebut adalah tidak akan bertemunya ia dengan kemajuan selangkah pun”
― (Soekarno)

 

Jangan lupa share artikel ini jika menurut kalian bermanfaat ya … 🙂

Semoga bermanfaat 😀 .

Salam Teknologi … Salam Arduino …🙂 .

Wassalamualaikum.

*

*

*

*

*

********************

#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.

Jual Arduino, Sensor, Modul, SHIELD, dan Berbagai Komponen Module Elektronika/Robotika murah meriah … Best Quality Product … Tersedia Toko Online di Tokopedia dan Bukalapak (Klik di sini)

 

Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …

Bisa untuk keperluan hobi, edukasi kuliah/sekolah, project industri/rumahan, dan sebagainya …

Silahkan kontak saya atau KLIK DI SINI

Facebook              : Nofgi Yugo Prasetyo
Fans Page on Facebook : Nofgi Piston Blog
E-Mail                : Nofgimotor@gmail.com
Instagram             : nofgi_piston
Youtube               : Nofgi Piston
Tokopedia             : Nofgi Piston Shop
Bukalapak             : Nofgi Piston Shop
No. HP/WA             : 088217082017

Tentang Nofgi

Menerima Order Project Elektronika & Robotika. WA/SMS : 088217082017 Youtube : Nofgi Piston IG : nofgi_piston
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronika, Mekatronika, Microcontroller, Robotika, Teknologi dan tag , , , , , , , , . Tandai permalink.

Komentar Anda Membuat Semangat Saya Membara ... :D

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s