Rangkaian Kunci Pengaman Berpassword Berbasis Arduino

Assalamu’alaikum sahabat arduino, semoga rahmat dan hidayahnya selalu bersama sahabat semua, Syukur Alhamdulillah kali ini admin berkesempatan lagi untuk menulis artikel yang semoga bermanfaat untuk sahabat semua, kali ini kita akan coba belajar untuk membuat rangkaian pengamanan berpassword menggunakan arduino, sebenarnya postingan kali ini adalah tindak lanjut dari artikel berikut ini:

  1. Cara Menggunakan LCD 12C / IIC dengan Arduino
  2. Cara Menggunakan / Mengakses Keypad menggunakan Arduino
  3. Menampilkan Karakter dari Keypad ke LCD pada Arduino

Komponen

Oke langsung saja seperti biasa ada beberapa komponen yang harus kita siapkan, berikut daftar komponennya:

  1. Arduino Board (Tokopedia)
  2. Keypad 4×4 (Tokopedia) (bisa 3×4, silahkan disesuaikan di codingnya)
  3. Module LCD I2C (Tokopedia)
  4. Module relay (Tokopedia)

Setelah komponen siap selanjutnya buat wiring seperti gambar dibawah ini:

Wiring

Selanjutnya kita siapkan codingnya, tentunya kita siapkan library untuk codingnya dulu ya, library yg harus dipersiapkan adalah sebagai berikut:

  1. Library LCD
  2. Library Keypad

Untuk cara install library bisa dilihat disini : Cara Memasukan / Menambahkan Library di Arduino IDE

Setelah library siap selanjutnya upload sketch berikut ini ke arduino kalian

Coding

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>

#define Password_Length 8 

int signalPin = 12;

char Data[Password_Length]; 
char Master[Password_Length] = "123A456"; 
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[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 customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

LiquidCrystal_I2C lcd(0x27, 16, 2);  

void setup(){
  lcd.init(); 
  lcd.backlight();
  pinMode(signalPin, OUTPUT);
}

void loop(){

  lcd.setCursor(0,0);
  lcd.print("Enter Password:");

  customKey = customKeypad.getKey();
  if (customKey){
    Data[data_count] = customKey; 
    lcd.setCursor(data_count,1); 
    lcd.print(Data[data_count]); 
    data_count++; 
    }

  if(data_count == Password_Length-1){
    lcd.clear();

    if(!strcmp(Data, Master)){
      lcd.print("Correct");
      digitalWrite(signalPin, HIGH); 
      delay(5000);
      digitalWrite(signalPin, LOW);
      }
    else{
      lcd.print("Incorrect");
      delay(1000);
      }
    
    lcd.clear();
    clearData();  
  }
}

void clearData(){
  while(data_count !=0){
    Data[data_count--] = 0; 
  }
  return;
}

Pada coding diatas ada beberapa baris code yang perlu disesuaikan,

Pertama, pada baris berikut ini

#define Password_Length 8

Ganti angka 8 dengan panjang password yang kalian mau, bisa diganti 4, 6 atau yang lain

Kedua,

char Master[Password_Length] = “123A456”;

“123A456”, ganti karakter tersebut dengan password yg kalian mau, panjang karakternya sesuaikan dengan baris kode “#define Password_Length 8”

Ketiga,

LiquidCrystal_I2C lcd(0x27, 16, 2);

“0x27” silahkan disesuaikan dengan alamat lcd i2c kalian, untuk cara mengetahui alamat i2c bisa dilihat disini : Cara Menggunakan LCD 12C / IIC dengan Arduino

Sekian tutorial kali ini, silahkan dicoba, jika ada kesulitan bisa ditanyakan di kolom kementar ya, semoga bermanfaat, terima kasih, wassalamu’alaikum

source : http://www.circuitbasics.com/how-to-set-up-a-keypad-on-an-arduino/

About Giri Wahyu Pambudi

Giri Wahyu Pambudi - Seorang Pemuda Desa yang berkeinginan ikut membangun Indonesia dengan Sedikit Ilmu yang dimiliki SMK N 2 Wonogiri lulus 2015 UNIV Negeri Yogyakarta lulus 2019 2019 - Sekarang Bekerja di SMK Gajah Mungkur 1 Wuryantoro, Wonogiri

Check Also

Tutorial Komunikasi Wireless Arduino menggunakan Module RF 433Mhz

Assalamu’alaikum wr. wb, gimana kabarnya sahabat arduino cronyos.com? baik kan? Alhamdulillah, pada postingan kali ini …

Tinggalkan Balasan