Tutorial Membuat Kunci Pintu Otomatis dengan Arduino

Pada tutorial kali saya akan berbagi tentang bagaimana cara membuat rangkaian Kunci Pintu Otomatis atau Automatic Doorlock.

Rangkaian yang saya buat kali ini ini tidak menggunakan sistem AutoLock seperti kebanyakan rangkaian lainnya, karena saat saya membuat rangkaian ini saya menginginkan agar kunci pintu tetap kita sendiri yang mengaturnya.

Dalam pembuatan rangkaian kita harus terlebih dahulu mengumpulkan bahan – bahan antara lain :

1. Arduino Uno
2. LCD + I2C
3. Relay 5V
4. Buzzer 5V
5. Project Board
6. Solenoid DoorLock 12V
7. Adaptor 12V
8. Kabel (Wire)
9. Terminal 2 Port
10. Terminal Female untuk Adaptor 12V

Setelah bahan – bahan sudah berhasil kita kumpulkan maka sekarang kita lanjut ke cara menghubungkan bahan – bahannya dan pada penjelasan di bawah ini akan saya bagi langkah demi langkah proses menghubungkanya.

Langkah Pertama : Hubungkan Arduino dengan Keypad

Perhatikan betul – betul kabel pada keypad yang terhubung dengan Arduino karena jika salah menyambungkan maka codingnya nanti tidak akan bekerja.

Setelah selesai dengan rangkaian di atas kita lanjut ke langkah berikutnya.

Langkah Kedua: Hubungkan Arduino dengan LCD + I2C

Jika menggunakan I2C akan lebih menghemat penggunaan pin pada Arduino sehingga bisa kita pasangkan banyak modul lain di Board Arduinonya, Fungsi LCD di atas akan kita gunakan untuk menampilkan pesan. Sekarang kita lanjut…

Langkah Ketiga: Hubungkan Arduino dengan Buzzer

Buzzer yang kita pasangkan pada rangkaian kunci pintu otomatis berfungsi untuk memberikan tanda bunyi saat password yang kita masukan sudah benar dan begitu juga sebaliknya jika password salah maka buzzer akan berbunyi.

Langkah Keempat: Hubungkan Arduino dengan Relay serta Solenoid Doorlock

Pada gambar di atas adalah proses wiring yang terakhir pada pembuatan sistem kunci pintu otomatis namun perlu kalian ketahui saat menghubungkan solenoid doorlock tegangan 12V dari adaptor saya hubungkan ke jack female karena rangkaian di atas masih prototype.

Baca Juga : Cara Mengetahui Alamat LCD Serta I2C dengan Arduino

Langkah Kelima: Upload Coding Arduino

#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27 ,2,1,0,4,5,6,7,3, POSITIVE);
//Ubah alamat 0x27 dengan alamat i2C Milikmu

#define BUZZ 13
int code = 290594; //Password Pertama Ganti Pada Bagian Ini
int code1 = 123456; //Password Kedua Ganti Pada Bagian Ini
int tot,i1,i2,i3,i4,i5,i6;
char c1,c2,c3,c4,c5,c6;

int R1 = 12;

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] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);

void setup() {
pinMode(R1,OUTPUT);
 Serial.begin(9600);
 lcd.begin(16,2);
tone(BUZZ,5000);
lcd.setCursor(0,0);
lcd.print(F("Door Lock System"));
lcd.setCursor(0,1);
lcd.print("     Control");
delay (3000);
standby();
}
void standby(){
  lcd.clear();
lcd.print(F("  Tekan # Untuk"));
lcd.setCursor(0,1);
lcd.print(" Input Password");
noTone(BUZZ);
}
void loop() {
digitalWrite(R1,LOW);
char keypressed = keypad.getKey();
if(keypressed == '#')
{
  tone(BUZZ,1200);
  delay(100);
  noTone(BUZZ);
  lcd.clear();
  lcd.setCursor(2,0);
  lcd.print("Masukan Kode");
  keypressed = keypad.waitForKey();
  if (keypressed != NO_KEY)
  {
    c1 = keypressed;
    tone(BUZZ,1200);
    delay(100);
  noTone(BUZZ);
    lcd.setCursor(5,1);
    lcd.print("*");
  }
  keypressed = keypad.waitForKey();
  if (keypressed = keypad.waitForKey());
  if(keypressed != NO_KEY) 
{
  c2 =  keypressed;
  tone(BUZZ,1200);
  delay(100);
  noTone(BUZZ);
  lcd.setCursor(6,1);
  lcd.print("*");
}
keypressed = keypad.waitForKey();
if(keypressed != NO_KEY) 
{
    c3 =  keypressed;
    tone(BUZZ,1200);
    delay(100);
  noTone(BUZZ);
    lcd.setCursor(7,1);
    lcd.print("*");
}
keypressed = keypad.waitForKey();
if(keypressed != NO_KEY) 
{
  c4 =  keypressed;
  tone(BUZZ,1200);
  delay(100);
  noTone(BUZZ);
  lcd.setCursor(8,1);
    lcd.print("*");
}
keypressed = keypad.waitForKey();
if(keypressed != NO_KEY) 
{
  c5 =  keypressed;
  tone(BUZZ,1200);
  delay(100);
  noTone(BUZZ);
  lcd.setCursor(9,1);
    lcd.print("*");
}
keypressed = keypad.waitForKey();
if(keypressed != NO_KEY) 
{
  c6 =  keypressed;
  tone(BUZZ,1200);
  delay(100);
  noTone(BUZZ);
  lcd.setCursor(10,1);
    lcd.print("*");
}
i1 = (c1-48)*100000;
i2 = (c2-48)*10000;
i3 = (c3-48)*1000;
i4 = (c4-48)* 100;
i5 = (c5-48)* 10;
i6 = (c6-48);

tot=i1+i2+i3+i4+i5+i6;
  
  if (tot == code ||tot == code1)
  {
  tone(BUZZ,4000);
  delay(1000);
  tone(BUZZ,5000);
  delay(1000);
  tone(BUZZ,5000);
  delay(1000);
  tone(BUZZ,7000);
  noTone(BUZZ);
  delay(1000);
    lcd.clear();
    lcd.setCursor(1,0);
    lcd.print("Selamat Datang");
    lcd.setCursor(5,1);
    lcd.print("MR.ART");
    digitalWrite(R1,HIGH);
    delay(4000);
    balik();
  }
  else 
  {
    lcd.clear();
    tone(BUZZ,1200);
    lcd.setCursor(1,0);
    lcd.print("Password Salah");
    delay(3000);
    lcd.clear();
    noTone(BUZZ);
    lcd.print(F("  Tekan # Untuk"));
    lcd.setCursor(0,1);
    lcd.print(" Input Password");
  }
  }
}
void balik(){
digitalWrite(R1,HIGH);
lcd.clear();
lcd.print(F("  Tekan * Untuk"));
lcd.setCursor(0,1);
lcd.print(" Mengunci Pintu");
noTone(BUZZ);
char keypressed = keypad.getKey();
keypressed = keypad.waitForKey();
if(keypressed == '*') 
{
 tone(BUZZ,4000);
 delay(1000);
 tone(BUZZ,7000);
 noTone(BUZZ);
  standby(); 
} else {
  balik();
}
}

 //Mr-leong.com

Perlu kalian ketahui sebelum mengupload coding di atas kalian perlu menginstal library Keypad dan LCD + I2C agar rangkaianya bisa berjalan, di bawah ini saya sediakan link download librarynya

Library Keypad & LCD + I2c

untuk teman – teman yang ingin mendownload gambar wiring di atas beserta coding arduinonya saya juga menyediakan link di bawah ini agar memudahkan kalian.

Circuit Diagram + Arduino Code

Agar lebih memahami proses rangkaian kunci pintu otomatis ini bekerja saya sudah menyediakan video tutorial proses pembuatanya serta cara kerjanya di bawah ini

Nah sampai disini selesai sudah penjelasan saya terkait proses pembuatan kunci pintu otomatis berbasis Arduino Uno dan Keypad, semoga bisa membantu teman – teman yang ingin membuat projectnya.

Jika ada kesulitan kalian bisa tanyakan pada kolom komentar dan semampu saya akan memberikan kalian jawaban.

Selamat mencoba, semoga berhasil dan salam Mr Leong

Bagikan Postingan ini :

Putu Artha

Seorang Laki- Laki yang senang berbagi ilmu seputar Informasi Teknologi dan Elektronika Serta pengalaman yang pernah saya lakukan

This Post Has 2 Comments

  1. Dini

    Bisa gak ini dibuat dengan autolock soalnya cepat panas kalau tidak di autolock ?

    1. Putu Artha

      bisa aja tinggal dirubah di bagian codingnya.

Leave a Reply