--> Project V - 2. Kunci Elektrik dengan Kata Sandi menggunakan Android berbasis Arduino Uno | Tutorial arduino lengkap

Friday, August 4, 2017

Project V - 2. Kunci Elektrik dengan Kata Sandi menggunakan Android berbasis Arduino Uno

| Friday, August 4, 2017
Kunci Elektrik dengan Kata Sandi menggunakan Android




Sistem Kerja Alat

Kunci elektronik dengan pengaman berupa password yang diinput melalui keypad. Alat ini terdiri dari Arduino UNO sebagai sistem pemroses & pengendali utama dari sistem. Module Bluetooth dipakai sebagai pengirim dan penerima data dari smart phone (Bluetooth SPP Pro.Apk). Aplikasi Blutooth SPP Pro.Apk pada Smartphone/Android digunakana sebagai input data kode password untuk menentukan apakah password benar sehingga kunci terbuka atau password salah sehingga kunci tertutup. Dipakai juga untuk mengganti password lama dengan password baru. LCD digunakan untuk display atau tampilan ketika entri password maupun menu ganti password. Relay sebagai aktuator yang akan mengontrol langsung selenoid. Terakhir selenoid digunakan untuk membuka atau menutup kunci pintu.

Kebutuhan Hardware

  • Module Bluetooth HC-05
  • Modul LCD 2x16
  • Modul Relay 5Vdc
  • Solenoid
  • Buzzer
  • Modul Arduino UNO
  • Power supply +9Volt


                                   Buzzer (Source)                           Solenoid Lock Door (Source)



Modul Relay 1 Channel (Source)               Modul Bluetooth HC-05 (Source)


Diagram Blok

Schematics



Koneksi Arduino UNO dengan LCD


Koneksi Module Bluetooth


Koneksi Arduino



Source Code/Sketch

#include <SoftwareSerial.h>
#include <Keypad.h>
#include <LiquidCrystal.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;
const int rxpin = 8;
const int txpin = 9;
SoftwareSerial Bluetooth(rxpin, txpin);
//----------------------------INISIALISASI KONEKSI LCD 2X16
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup(){
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
digitalWrite(10,0);
digitalWrite(11,0);
Bluetooth.begin(9600);
lcd.begin(16, 2);
lcd.print(" Kunci Elektrik");
lcd.setCursor(0,1);
lcd.print("Dengan Password");
delay(2000);
//---------------------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(11,1);
lcd.clear();
lcd.print("Silakan kunci...");
lcd.setCursor(0,1);
lcd.print("Lock Send -> L");
Bluetooth.println("Silakan kunci, Lock Send -> L");
fkpd=2;
goBluetooth();
lcd.clear();
lcd.print("Pintu Terkunci");
delay(3000);
pass:
lcd.clear();
lcd.print("Masukan Password");
Bluetooth.println("Masukan Password");
lcd.setCursor(0,1);
fkpd=1;
menu=0;
goBluetooth();
if(menu==4) goto pass;
}
//---------------------------- keypad
void goBluetooth(){
do{
if(Bluetooth.available())key=Bluetooth.read();
if(key != NO_KEY && key!='\n' && key!='\r'){
delay(100);
if(key=='E' && fkpd==1){
lcd.clear();
lcd.print("Ganti Password");
lcd.setCursor(0,1);
lcd.print("PW lama=");
Bluetooth.println("Ganti Password, Masukkan Password lama");
menu=1;
delay(300);
}
else if(key=='L' && fkpd==2){
delay(250);
fkpd=0;
Bluetooth.println("Pintu terkunci");
digitalWrite(11,0);
}
else if ((key=='C')&&(fkpd == 1)){ //C
Bluetooth.println("Cancel");
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(1000);
}
else if (key=='S'&& 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]=' ';
Bluetooth.println("Simpan Password Baru...");
delay(3000);
menu = 4;
}
else if(menu<2 && fkpd==1 && key > 47 && key < 59){
cek_password();
}
else if(menu==2 && fkpd==1 && key > 47 && key < 59){
entri_password();
}
}
key=NO_KEY;
}
while(fkpd);
}
void cek_password(){
pw_kpd[cnt]=key;
cnt++;
lcd.print('*');
Bluetooth.print('*');
// lcd.print(char(key));
if((cnt==6)&&(menu==0)){
Bluetooth.end();
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");
Bluetooth.println("Password Benar, Silakan Masuk");
digitalWrite(10,1);
digitalWrite(11,1);
delay(200);
digitalWrite(10,0);
delay(200);
digitalWrite(10,1);
delay(200);
digitalWrite(10,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");
Bluetooth.println("Password Salah");
s++;
if(s < 3){
digitalWrite(10,1);
delay(2000);
digitalWrite(10,0);
lcd.clear();
lcd.print("Masukan Password");
Bluetooth.println("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 5 Menit");
Bluetooth.println("Anda 3x Salah, Tunggu 5 Menit");
for(i=0;i<75;i++){
digitalWrite(10,1);
delay(2000);
digitalWrite(10,0);
delay(2000);
}
lcd.clear();
lcd.print("Masukan Password");
Bluetooth.println("Masukan Password");
lcd.setCursor(0,1);
cnt=0;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=' ';
}
}
Bluetooth.begin(9600);
}
else if((cnt==6)&&(menu==1)){
Bluetooth.end();
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");
Bluetooth.println("Password Benar");
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.print("PW baru:");
Bluetooth.println("Masukkan Password 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");
Bluetooth.println("Password Salah");
cnt=0;
delay(2000);
lcd.clear();
lcd.print("Ganti Password");
lcd.setCursor(0,1);
lcd.print("PW lama=");
Bluetooth.println("Ganti Password, Masukkan Password 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 5 Menit");
Bluetooth.println("Anda 3x Salah, Tunggu 5 Menit");
for(i=0;i<75;i++){
digitalWrite(10,1);
delay(2000);
digitalWrite(10,0);
delay(2000);
}
lcd.clear();
lcd.print("Ganti Password");
lcd.setCursor(0,1);
lcd.print("PW lama=");
Bluetooth.println("Ganti Password, Masukkan Password lama");
cnt=0;
s=0;
for(t=0;t<6;t++)pw_kpd[t]=' ';
}
}
Bluetooth.begin(9600);
}
}
void entri_password(){
lcd.print(char(key));
Bluetooth.print(char(key));
pw_kpd[cnt]=key;
cnt++;
if(cnt==6){
lcd.setCursor(0,1);
lcd.print("S=save,C=cancel");
Bluetooth.println("S=save C=cancel");
menu=3;
cnt=0;
}
}

Jalannya Alat :
1. Koneksikan antara Arduino UNO dengan peripheral lain (Module Bluetooth dll) seperti pada
    rangkaian (skematik).
2. Pasang power supply (adaptor 12 V) ke konektor yang terhubung dengan solenoid kemudian
    hidupkan (colokkan ke sumber PLN 220V).
3. Pasang power supply 9 Vdc ke konektor DC Arduino dan kemudian hidupkan (colokkan ke
    sumber PLN 220V).
4. POWER SUPPLY JANGAN SAMPAI TERTUKAR ANTARA 12V DAN 9V !!!
5. LAMA SELENOID ON (BUKA KUNCI) MAKSIMAL SELAMA 30 DETIK!!! JANGAN
    TERLALU LAMA MENGHIDUPKAN SELENOID KARENA BISA MENYEBABKAN
     SELENOID PANAS DAN MUDAH MATI!!!
6. Tampilan pertama pada LCD


 7. Setelah 2 detik berikutnya akan tampil perintah kirim data/karakter ‘L’ untuk mengunci (selenoid
     aktif

8. Buka Aplikasi Bluetooth spp pro, jika belum ada Anda bisa instal dulu Apk-nya ada di Link
    Download atau Anda juga bisa insatal lewat Play store dengan keyword Bluetooth SPP Pro.
9. Pilih Device Bluetooth HC-05.
 10. Pilih Connect.


 11. Pilih mode keyboard.


12. Seting Keyboard.

13. Klik pada button ClickMe, ganti pada kolom BTN Name dengan angka 1 & BTN Down dengan
      angka 1 kemudian klik OK.

14. Seting semua Tombol dari 1 s/d 9 pada kolom BTN Down diisi sesuai dengan BTN Name.



15. Selanjutnya pada kolom pojok bawah kiri diisi dengan ‘L / S’ dan pada pojok bawah kanan diisi
      ‘E / C’ sedangkan pada kolom tengah diisi dengan angka 0.



16. Setelah semua tombol selesai di seting kemudian pilih Buttons set complate pada menu pojok.
      Aplikasi sudah siap digunakan.

17. Berikutnya tekan tombol ‘L’ untuk menguncinya


         Sehingga LCD tampil sbb:


18. Selanjutnya masuk pada kondisi pintu terkunci. Untuk membukanya diperlukan password yaitu 
      berupa kombinasi 6 digit angka yang di-entri melalui Aplikasi tersebut


19. Untuk nilai password awal, kode passwordnya adalah “111111” (angka 1 enam kali). Tekan
      angka “1” sejumlah 6x, display


20. Jika password benar maka akan tampil

21. Buzzer juga akan berbunyi : “beep – beep” , kemudian relay aktif dan selenoid akan terbuka.

22. Jika password salah

         Buzzer akan berbunyi : “beep .........” kemudian anda diminta memasukkan password lagi :


23. Kesempatan memasukkan password adalah 3x. Jika sudah 3x salah terus maka harus menunggu 
      5 menit untuk dapat entri password lagi :


24. Untuk mengganti password , pastikan alat dalam kondisi terkunci, kondisi ketika kita akan entri
      password untuk membuka kunci, atau tampilan dalam kondisi seperti ini.


25. Kalau akan membuka kunci kan kita tinggal entri passwordnya, lain halnya untuk mengganti
      password , pertama tekan tombol “E”.


26. Selanjutnya, masukkan password lama. Jika alat belum pernah diganti passwordnya, maka
      password awal adalah : “ 111111 “ (angka 1 enam kali).


27. Jika password benar maka akan tampil :


28. Sekitar 2 detik kemudian akan tampil permintaan mengisi password yang baru


29. Masukkan password baru yang dikehendaki. Berupa kombinasi angka 6 digit. Misalnya (contoh
      saja ya..) : “234567”


30. Kemudian muncul pilihan untuk simpan password atau cancel. Tekan dan tahan tombol “L / S”
      sekitar ½ detik jika akan menyimpan (mengganti password) atau tekan dan tahan tombol “E / C”
      sekitar ½ detik jika cancel.


31. Tekan dan tahan lama tombol “L / S” untuk menyimpan password baru.


32. Selanjutnya akan kembali ke kondisi normal (kunci tertutup).

33. Untuk membuka kunci sekarang memakai password yang baru.
34. OK.




Video Project V - 2. Kunci Elektrik dengan Kata Sandi menggunakan Android berbasis Arduino Uno





KAMI MELAYANI JASA PEMBUATAN HARDWARE ATAU SOFTWARE BERBASIS ARDUINO

KONTAK KAMI 085743320570 (adi sanjaya)

Related Posts

1 comment:

  1. Misi, saya sudah compile programnya tapi error goBluetooth was not declaraded in this scope

    ReplyDelete