Pembuatan Kunci Elektrik Menggunakan Password dengan Arduino

Pembuatan kunci elektrik menggunakan password menggunakan arduino juga merupakan salah satu cara agar rumah kita tidak mudah dimasuki oleh orang orang yang memiliki niat jahat. Sebagai salah satu alat kunci pengaman rumah alat ini sangta bermanfaat sebagai pengganti kunci rumah manual. Sebab dengan menggunakan password, maka pintu rumah kita akan terbuka secara otomatis.

Sistem Kerja Alat Kunci Elektrik Menggunakan Password dengan Arduino
Kunci Elektrik dengan Password ini merupakan alat yang berfungsi untuk membuka atau mengunci pintu sehingga menambah tingkat keamanan . Keypad yang ada digunakan untuk memasukan data berupa pin password, dapat digunakan juga untuk mengubah password yang ada. Lcd digunakan untuk menampilkan inputan password maupun ketika akan mengganti password. Selonoid berfungsi sebagai kunci pada pintu.
Alat yang digunakan :
• 1 Buah Arduino Nano
• 1 Buah Keypad
• 1 Buah Selenoid
• 1 Buah Relay
• 1 Buah LCD 16×2

Arduino Uno

Relay 4 Channel

LCD 16×2

keypad

selenoid

DIAGRAM BLOK

Berikut ini adalah Diagram Blok Kunci Elektrik Menggunakan Password dengan Arduino

diagram blok kunci elektrik menggunakan password dengan arduino

 

SCHEMATICS

Berikut ini adalah Schematics Kunci Elektrik Menggunakan Password dengan Arduino

schematics kunci elektrik menggunakan password dengan arduino

Koneksi dengan Arduino untuk Kunci Elektrik Menggunakan Password dengan Arduino
Koneksi LCD dengan Arduino Nano

LCD Pin Arduino
RS A0
EN A1
D4 A2
D5 A3
D6 A4
D7 A5

 

Koneksi Keypad 4×4 dengan Arduino Nano

Pin Keypad Pin Arduino
1 D2
2 D3
3 D4
4 D5
A D6
B D7
C D8
D D9

Koneksi Relay dengan Arduino Nano

Output Sensor Pin Arduino
Relay D12

 

Berikut ini adalah SOURCE CODE dan Pemrograman Pembuatan Kunci Elektrik Menggunakan Password dengan Arduino

#include <Wire.h>
#include <Keypad_I2C.h>
#include <Keypad.h>
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
#include <EEPROM.h>

unsigned char key,menu,urut;
unsigned char pw1,pw2,pw3,pw4,pw5,pw6,i;
unsigned char pw_kpd1,pw_kpd2,pw_kpd3,pw_kpd4,pw_kpd5,pw_kpd6;
unsigned char cek,cnt;
unsigned char fkpd;
char pw[7],pw_kpd[7];
char s,t;

//—————————-INISIALISASI KONEKSI LCD 2X16

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//—————————-INISIALISASI KONEKSI KEYPAD 4X4
const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
{‘1′,’2′,’3′,’A’},
{‘4′,’5′,’6′,’B’},
{‘7′,’8′,’9′,’C’},
{‘*’,’0′,’#’,’D’}
};

byte rowPins[ROWS] = {0,1,2,3};
byte colPins[COLS] = {4,5,6,7};

int i2caddress = 0x20;

Keypad_I2C kpd = Keypad_I2C( makeKeymap(keys), rowPins, colPins, ROWS, COLS, i2caddress );

void setup()
{
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
digitalWrite(10,0);
digitalWrite(11,0);

lcd.begin(20,4);
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight();
lcd.setCursor(3,0);
lcd.print(“kunci elektrik”);
delay(1000);
lcd.setCursor(2,1);
lcd.print(“dengan paassword”);
delay(1000);
//———————cek alamat 0
cek=EEPROM.read(0);
if(cek==0xFF){
cek=1;
EEPROM.write(0,’1′);
pw1=’1′; EEPROM.write(1,’1′);
pw2=’1′; EEPROM.write(2,’1′);
pw3=’1′; EEPROM.write(3,’1′);
pw4=’1′; EEPROM.write(4,’1′);
pw5=’1′; EEPROM.write(5,’1′);
pw6=’1′; EEPROM.write(6,’1′);
}
else{
pw1=EEPROM.read(1);
pw2=EEPROM.read(2);
pw3=EEPROM.read(3);
pw4=EEPROM.read(4);
pw5=EEPROM.read(5);
pw6=EEPROM.read(6);
}
fkpd=0;
delay(200);
}

void loop()
{
//—————————– display time
digitalWrite(10,1);
lcd.clear();
lcd.print(“Silakan kunci…”);
lcd.setCursor(0,1);
lcd.print(“Tekan #”);
fkpd=2;
goKeypad();
lcd.clear();
lcd.print(“Pintu Terkunci”);
delay(2000);
pass:
lcd.clear();
lcd.print(“Masukan Password”);
lcd.setCursor(0,1);
fkpd=1;
menu=0;
goKeypad();
if(menu==4) goto pass;
}
//—————————- keypad
void goKeypad(){
do{
key=keypad.getKey();
if(key != NO_KEY){

if(key==’*’ && fkpd==1){
lcd.clear();
lcd.print(“Ganti Password”);
lcd.setCursor(0,1);
lcd.print(“PW lama=”);
menu=1;
delay(300);
}

else if(key==’#’ && fkpd==2){
fkpd=0;
digitalWrite(8,0);
delay(250);
}

else if ((key==’C’)&&(fkpd == 1)){ //C
if(menu==3){
lcd.clear();
lcd.print(“PW baru:”);
menu=2;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
cnt=0;
}
else if(menu==2){
menu=4;
fkpd=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
cnt=0;
}
else if((menu==1)||(menu==0)){
menu=4;
fkpd=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
cnt=0;
}
delay(250);
}

else if (key==’D’&& menu==3){
lcd.clear();
lcd.print(“Simpan PW Baru..”);
EEPROM.write(1,pw_kpd[0]);
EEPROM.write(2,pw_kpd[1]);
EEPROM.write(3,pw_kpd[2]);
EEPROM.write(4,pw_kpd[3]);
EEPROM.write(5,pw_kpd[4]);
EEPROM.write(6,pw_kpd[5]);
EEPROM.write(0,1);
pw1 = pw_kpd[0];
pw2 = pw_kpd[1];
pw3 = pw_kpd[2];
pw4 = pw_kpd[3];
pw5 = pw_kpd[4];
pw6 = pw_kpd[5];

fkpd = 0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
delay(3000);
menu = 4;
}

else if(menu<2 && fkpd==1 && key!=’A’ && key!=’B’
&& key!=’C’ && key!=’D’ && key!=’*’ && key!=’#’){
cek_password();
}
else if(menu==2 && fkpd==1&& key!=’A’ && key!=’B’
&& key!=’C’ && key!=’D’ && key!=’*’ && key!=’#’){
entri_password();
}

}
}
while(fkpd);
}

void cek_password(){
pw_kpd[cnt]=key;
cnt++;
lcd.print(‘*’);
// lcd.print(char(key));
if((cnt==6)&&(menu==0)){
delay(500);
if((pw1==pw_kpd[0])&&(pw2==pw_kpd[1])&&(pw3==pw_kpd[2])&&(pw4==pw_kpd[3])&&(pw5==pw_kpd[4])&&(pw6==pw_kpd[5])){
lcd.clear();
lcd.print(“Password Benar”);
lcd.setCursor(0,1);
lcd.print(“Silakan Masuk”);
digitalWrite(10,1);
digitalWrite(11,1);
delay(200);
digitalWrite(11,0);
delay(200);
digitalWrite(11,1);
delay(200);
digitalWrite(11,0);
cnt=0;
fkpd=0;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
delay(3000);
}
else {
lcd.clear();
lcd.print(“Password Salah”);
s++;
if(s < 3){
digitalWrite(11,1);
delay(2000);
digitalWrite(11,0);
lcd.clear();
lcd.print(“Masukan Password”);
lcd.setCursor(0,1);
cnt=0;
for(t=0;t<6;t++)
pw_kpd[t]=’ ‘;
}
else if (s==3){
lcd.clear();
lcd.print(“Anda 3x Salah”);
lcd.setCursor(0,1);
lcd.print(“Tunggu 1 Menit”);
for(i=0;i<15;i++){
digitalWrite(11,1);
delay(2000);
digitalWrite(11,0);
delay(2000);
}
lcd.clear();
lcd.print(“Masukan Password”);
lcd.setCursor(0,1);
cnt=0;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
}
}
}
else if((cnt==6)&&(menu==1)){
if((pw1==pw_kpd[0])&&(pw2==pw_kpd[1])&&(pw3==pw_kpd[2])&&(pw4==pw_kpd[3])&&(pw5==pw_kpd[4])&&(pw6==pw_kpd[5])){
lcd.clear();
lcd.print(“Password Benar”);
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.print(“PW baru:”);
cnt=0;
menu=2;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
}
else {
s++;
if(s < 3){
lcd.clear();
lcd.print(“Password Salah”);
cnt=0;
delay(2000);
lcd.clear();
lcd.print(“Ganti Password”);
lcd.setCursor(0,1);
lcd.print(“PW lama=”);
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
}
else if (s==3){
lcd.clear();
lcd.print(“Anda 3x Salah”);
lcd.setCursor(0,1);
lcd.print(“Tunggu 1 Menit”);
for(i=0;i<15;i++){
digitalWrite(11,1);
delay(2000);
digitalWrite(11,0);
delay(2000);
}
lcd.clear();
lcd.print(“Ganti Password”);
lcd.setCursor(0,1);
lcd.print(“PW lama=”);
cnt=0;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=’ ‘;
}
}
}
}

void entri_password(){
lcd.print(char(key));
pw_kpd[cnt]=key;
cnt++;
if(cnt==6){
lcd.setCursor(0,1);
lcd.print(“D=save,C=cancel”);
menu=3;
cnt=0;

}
}

 

BENTUK KUNCI PINTU ELEKTRIK MENGGUNAKAN PASSWORD DENGAN ARDUINO

Berikut ini adalah bentuk kunci pintu elektrik menggunakan password dengan arduino:

 

 

 

 

Berikut ini adalah Proses Kerja Alat Kunci Elektrik Menggunakan Password dengan Arduino
1. Hidupkan alat agar mengaktifkan semua perangkat
2. Ketika sudah aktif semua pada layar LCD akan muncul tampilan “KUNCI ELEKTRIK DENGAN PASSWORD”

3. Kemudian akan muncul perintah untuk mengunci dengan menekan (#) .

4. Ketika akan membuka kunci akan muncul tampilan untuk memasukan Password, sebagai contoh password “111111”

Tampilan di LCD : “MASUKKAN PASSWORD” “xxxxxxxxxxx”

5. Jika password benar maka akan muncul tampilan seperti dibawah ini:

“PASSWORD BENAR”

“SILAHKAN MASUK”

6. Apabila password benar maka solenoid akan terbuka
7. Namun jika password yang dimasukan salah maka harus mengulang memasukan password kembali.
8. Dalam mengulang password ada batas pengulangan jika batas pengulangan sudah terlampaaui maka LCD akan muncul tampilan seperti dibawah ini:

“ANDA 3 KALI SALAH”‘

“SILAHKAN TUNGGU 5 MENIT”

9. Untuk mengubah password dapat menekan tombol (*) kemudian masukan password baru, akan muncul tampilan pilihan apakah akan menyimpan atau membatalkan.

“PW BARU : XXXXXX”

“D=SAVE, C=CANCEL”

10. Ketika password baru sudah selesai dibuat makan tampilan akan muncul seperti sebelumnya

“MASUKKAN PASSWORD”

Demikian gambaran secara lengkap cara pembuatan kunci rumah elektrik menggunakan password dengan arduino. Alat ini dapat diterapkan diberbagai sektor kehidupan manusia, dengan tujuan mempermudah dan mengotomasi alat alat manual disekitar khususnya otomasi untuk kemanan rumah kita.

Kami menerima dan membuat project project pembuatan alat otomasi lain dengan menggunakan microcontroller arduino dan Internet of Things. Apabila ada yang kurang jelas mengenai pembuatan alat ini atau apabila ada yang ingin dibuatkan alat kunci rumah elektrik menggunakan password dengan arduino kami siap membuatkannya. Silahkan klik link gambar whatsapp dibawah ini untuk informasi lebih lanjut:

 

 

Baca Juga :
Pembuatan alat otomasi dibidang perkebunan dengan arduino dan Internet of Things
Pembuatan alat otomasi dibidang pertanian dengan arduino dan Internet of Things
Pembuatan alat otomasi dibidang peternakan dengan arduino dan Internet of Things
Pembuatan alat otomasi dibidang perikanan dengan arduino dan Internet of Things
Pembuatan alat otomasi dibidang kesehatan dengan arduino dan Internet of Things
Pembuatan alat otomasi dibidang perindustrian dengan arduino dan Internet of Things
Pembuatan Alat Penyiram Tanaman otomatis dengan Arduino dan koneksi internet dengan aplikasi android
Pembuatan Timbangan Bayi Digital atau Alat Otomasi Monitoring Gizi Pada Bayi
Pembuatan Alat otomasi dengan arduino untuk mahasiswa akhir

 

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.