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
DIAGRAM BLOK
Berikut ini adalah Diagram Blok Kunci Elektrik Menggunakan Password dengan Arduino
SCHEMATICS
Berikut ini adalah 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