"Bacalah dengan (menyebut) nama Tuhanmu yang menciptakan. Dia telah menciptakan manusia dari segumpal darah. Bacalah, dan TuhanMulah yang Maha Mulia. Yang mengajar (manusia) dengan pena. Dia mengajarkan manusia apa yang tidak diketahuinya." - Surah Al-Alaq (1-5)

08/04/2016

Tutorial 8 : Pad Kekunci (Keypad) & Arduino

ASSALAMUALAIKUM WBT & SALAM SEJAHTERA


Apa khabar semua? Saya mendoakan agar semua pembaca setia blog litarprojek2u sihat dan sejahtera belaka.

Sempena hari Jumaat yang penuh keberkatan ini, saya ingin berkongsi dengan pembaca semua cara - cara membuat sambungan dan di antara Arduino dan keypad (4x4) dan juga cara menulis atur caranya.

Apa itu Pad Kekunci (Keypad) ?

Pad kekunci adalah sejenis alat / komponen yang membekalkan (provide) isyarat masukan (input) kepada Arduino. Keypad biasanya dipakai bila mana pengguna ingin membuat operasi menggunakan jujukan nombor seperti password, nombor telefon, nombor pekerja dan lain - lain lagi.

Terdapat pelbagai keypad yang dijual di pasaran. Ada yang murah, ada yang mahal. Pada pendapat saya, keypad jenis membrane adalah sangat sesuai kerana ianya lebih ekonomi dan saiznya yang nipis memudahkan pengguna untuk pasang dan dibawa ke mana - mana.
Membrane Keypad (4 x 4)









Button Keypad (4 x 4)
Button Keypad (4 x 3)
Jika diperhatikan, kita dapat lihat perbezaan ketara antara keypad (4 x 4) dan keypad (4 x 3). Untuk 4 x 4, keypad tersebut mempunyai 4 baris dan 4 kolum (16 karakter) manakala bagi 4 x 3,  keypadnya pula mempunyai 4 baris dan 3 kolum (12 karakter). Oleh yang demikian, adalah sangat penting jika anda memilih keypad yang betul sebelum membeli. Takut membazir pula. Membazir tu kan amalan syaitoon!

Operasi Aturcara

LED akan menyala apabila kata kunci (password) yang betul iaitu 1234 dimasukkan ke dalam sistem. Cara menekan masuk password adalah dengan cara menekan karakter 1, 2, 3 dan 4, kemudian diikuti butang ' * ' yang berfungsi seolah - olah butang ENTER. Jika pengguna tersilap tekan (sebab jari gemuk sangat), pengguna boleh menggunakan butang ' # ' yang berfungsi sebagai butang RESET.

Secara jujurnya, projek ini amat menarik kerana anda boleh mengubah LED kepada Solenoid Lock ( guna litar geganti untuk terima isyarat dari Arduino ) dan letakkan dibahagian dalam pintu rumah anda. Ia akan bertindak seperti home security system. Murah & mudah.


Komponen Yang Diperlukan
  1. Arduino ( apa - apa jenis pun takpe, tapi saya guna Nano )
  2. Membrane Keypad
  3. USB Cable A-B type
  4. Perintang 220 Ohm
  5. LED
  6. Jumper Cable
Libraries Yang Diperlukan
  1. Keypad 
  2. Password 
Sambungan Litar


LED disambung pada pin 13 Arduino Nano
Resistor 220 dipasang pada LED
Aturcara


#include <Password.h>
#include <Keypad.h>


Password password = Password ("1234"); // tukar password disini


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(13, OUTPUT);
  keypad.addEventListener(keypadEvent);
  }

void loop(){
  keypad.getKey();
  }
  void keypadEvent(KeypadEvent eKey){
  
  switch (keypad.getState()){
  case PRESSED:
  
  switch (eKey){
    
    case '*': 
    
    checkPassword();
    delay(10); 
    break;
    
    case '#': 
    
    password.reset();
    delay(10);
    
    break;
    
    default: 
    
    password.append(eKey);
    delay(10);
    }
  }
}

void checkPassword(){
  
if (password.evaluate())
    {
    digitalWrite(13, HIGH);   
    }


else
    {
    digitalWrite(13, LOW); 
    }
}