Pemrograman

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/

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

Share
Published by
Giri Wahyu Pambudi

Recent Posts

Adab Buang Hajat

Kitab Rujukan : Shahih Adab Islamiyyah karya Dr. Wahid bin Abdissalam bali 1.Berdoa ketika masuk…

12 bulan ago

Adab Ketika Bangun Tidur

Berdzikir kepada Allah Ketika Bangun Tidur عَنْ حُذَيْفَةَ رَضِيَ اللَّهُ عَنْهُ قَالَ: كَانَ النَّبِيُّ صَلَّى…

1 tahun ago

Kisah Tiga Orang yang Terjebak di Dalam Gua dan Bertawasul Dengan Beramal Saleh

عن عَبْدَ اللَّهِ بْنَ عُمَرَ رَضِيَ اللَّهُ عَنْهُمَا - قَالَ سَمِعْتُ رَسُولَ اللَّهِ صلى الله…

1 tahun ago

2 Nikmat yang sering dilupakan Manusia : Sehat dan Waktu Luang

عَنِ ابْنِ عَبَّاسٍ رضى الله عنهما قَالَ-  قَالَ النَّبِيُّ صلى الله عليه وسلم ‏ "‏ نِعْمَتَانِ…

1 tahun ago

7 Golongan yang Mendapatkan Naungan Allah di Padang Mahsyar saat Hari Kiamat

Assalamu'alaikum, Catatan ini menjadi nasehat untuk diri kami pribadi dan umumnya untuk anak - anak…

1 tahun ago

Piston pin Offset – Alasan piston tidak boleh dipasang terbalik

Assalamu'alaikum warahmatullahi wabarakatuh sahabat otomotif :-) , kali ini kita akan bahas tentang piston pin…

4 tahun ago

Tampilan Versi Hemat Data