Yayasan Peduli Fajar Imani

Akses Kontrol dengan Keypad Password 4x4 di Arduino

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Okebro dan juga Okesis, welcome back with me di kesempatan yang semoga berbahagia ini :)
Hari demi hari berlalu, dan ternyata sekarang sudah di minggu terakhir Bulan Maret Tahun 2016.

Semoga saja hari-hari yang sudah terlewati dan juga hari yang saat ini kita jalani sekarang, selalu menjadi penuh berkah dan semoga bermanfaat untuk diri kita maupun orang lain yang ada disekitar kita, Amiin.
Hari ini, kita akan mencoba mensimulasikan Akses Kontrol Arduino dengan Password. Dan untuk meng-inputkan password alias kata sandi, kita akan menggunakan Keypad membrane. (Saya menggunakan 4x4).

Hasil dari keypad yang di tekan, nantinya akan dikirimkan ke Arduino untuk di segera proses.
Apabila hasil yang kita inputkan pada keypad benar, maka akan menggerakan motor servo dan menyalakan Led indikator hijau selama yang kita mau, dapat disesuaikan di sketch. Sebaliknya, apabila hasil yang kita inputkan pada keypad tidak sesuai dengan password yang telah kita buat pada sketch, maka servo akan tetap diam dan Led indikator merah menyala (Tetap Tertutup).

Pada pengaplikasian yang sesungguhnya, anda dapat mengganti outputnya menjadi relay modul untuk men-trigger Electric door lock yang nantinya untuk membuka dan mengunci pintu anda.
Okelah kalau begitu, mari langsung di simak dan praktekkan saja tutorial dibawah ini.

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino UNO
  • 1x Keypad 4x4 
  • 1x Motor Servo
  • 2x LED Merah dan Hijau
  • 2x Resistor 220 Ohm
  • Kabel jumper secukupnya
  • Breadboard (Project Board)

 Langkah - Langkahnya :

1.) Pertama, susunlah rangkaian seperti gambar dibawah ini

Keterangan Konfigurasi Kabel :
  • Hubungkan Pin 9 pada Arduino ke Pin 1 pada Keypad 4x4
  • Hubungkan Pin 8 pada Arduino ke Pin 2 pada Keypad 4x4
  • Hubungkan Pin 7 pada Arduino ke Pin 3 pada Keypad 4x4
  • Hubungkan Pin 6 pada Arduino ke Pin 4 pada Keypad 4x4
  • Hubungkan Pin 5 pada Arduino ke Pin 5 pada Keypad 4x4
  • Hubungkan Pin 4 pada Arduino ke Pin 6 pada Keypad 4x4
  • Hubungkan Pin 3 pada Arduino ke Pin 7 pada Keypad 4x4
  • Hubungkan Pin 2 pada Arduino ke Pin 8 pada Keypad 4x4
  • Hubungkan Pin 13 pada Arduino ke Anoda LED Merah
  • Hubungkan Pin 12 pada Arduino ke Anoda LED Hijau
  • Hubungkan Pin 11 pada Arduino ke Kabel Kuning Servo
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah itu, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini.

Klik LIHAT DONG untuk melihat sketch
#include <Password.h>
#include <Keypad.h>
#include <Servo.h>
Servo myservo;
int LEDmerah = 13;
int LEDhijau = 12;
Password password = Password( "1436" ); //Ubah password

const byte baris = 4; //Baris
const byte kolom = 4; //Kolom

char keys[baris][kolom] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

byte barisPin[baris] = {9,8,7,6};
byte kolomPin[kolom]= {5,4,3,2};

// Buat objek keypad
Keypad keypad = Keypad( makeKeymap(keys), barisPin, kolomPin, baris, kolom );

void setup(){
  Serial.begin(9600);
  delay(200);
  pinMode(LEDhijau, OUTPUT);  //Indikator Terbuka
  pinMode(LEDmerah, OUTPUT);  //Indikator Terkunci
  myservo.attach(11); //Servo pada pin 11
  keypad.addEventListener(keypadEvent);
}

void loop(){
  keypad.getKey();
  myservo.write(0);
  }

  void keypadEvent(KeypadEvent eKey){
  switch (keypad.getState()){
  case PRESSED:
 
  Serial.print("Enter: ");
  Serial.println(eKey);
  delay(10);
 
  Serial.write(254);
 
  switch (eKey){
    case 'A': Login(); delay(1); break;
   
    case 'B': password.reset(); delay(1); break;
   
     default: password.append(eKey); delay(1);
    }
  }
}

void Login(){
if (password.evaluate()){
   
    Serial.println("Akses Diterima!");
    Serial.write(254);
    myservo.write(180);
    digitalWrite(LEDhijau, HIGH);
    delay(5000);
    myservo.write(10);
    digitalWrite(LEDhijau, LOW);
    delay(500);
}

else{
    Serial.println("Akses Ditolak!");
    Serial.write(254);
    delay(10);
    myservo.write(0);
    digitalWrite(LEDmerah, HIGH);
    delay(500);
    digitalWrite(LEDmerah, LOW);
  }
}

NOTE : 
Apabila terjadi error saat sketch di compile, pastikan pada Arduino IDE anda sudah ditambahkan Library Password dan Keypad. Bila belum, silahkan KLIK INI dan KLIK INI untuk download.


Terimakasih telah berkunjung, selamat mencoba, semoga bermanfaat.

Blog, Updated pada: 11:11:00

14 comments:

  1. Gan kalo kita mau tambahin buzzer biar sewaktu password gagal buzzer bunyi gimana gan? Di konfigurasi ke pin berapa gan?

    ReplyDelete
    Replies
    1. Letakkan saja sketch untuk mengaktifkan buzzernya dibawah bagian yang akses di tolak ini.

      Serial.println("Akses Ditolak!");

      Delete
  2. gan , untuk pin input ke arduino dari keypad bisa bebas atau harus sama yang di tutorial ?

    ReplyDelete
  3. mas kalau akatuatornya diganti motor stepper bisa kan ya? kodingannya gmna mas?

    ReplyDelete
    Replies
    1. Salam kenal. Bisa gan, sketch tinggal menggabungkan saja.

      Delete
  4. salam kenal gan... bagaimana scrip program kalau 3 kali pengentrian password yang salah, baru aktif led merah/penanda passwordnya salah gan???

    help me gan -_-
    thanks

    ReplyDelete
    Replies
    1. Salam kenal. Pakai StateChange... Coba dipelajari basic ButtonStateChange di web resmi arduino, lalu kembangkan sesuai keinginan ente.

      Delete
  5. gan kok tombol saya yang " * 0 # D " ngga bisa yaa padahal wiringnya sama dan keypadnya baru beli

    ReplyDelete
    Replies
    1. Kemungkinan salah di wiring, atau sketch pada bagian yang mendefinisikan baris dan kolom keypad.

      Delete
  6. ijin Sedot Mas, ref belajar Okee. :)

    ReplyDelete
  7. bang kok nggk jalan ya programnya ??

    ReplyDelete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian


Back to top