HOW TO SET UP A KEYPAD ON AN ARDUINO UNO



Cara mengakses Keypad menggunakan Arduino Uno


 Pada part 1 barang yang dibutuhkan seperti dibawah ini :
  •  Arduino board 
  • 4x4 Keypad
  • lcd i2c 2x16
Cara kerja dari keypad 

Di bawah setiap tombol adalah sakelar membran. Setiap sakelar dalam satu baris terhubung ke sakelar lain dalam barisan dengan jejak konduktif di bawah bantalan. Setiap sakelar dalam kolom terhubung dengan cara yang sama - satu sisi sakelar terhubung ke semua sakelar lain dalam kolom itu dengan jejak konduktif. Setiap baris dan kolom dibawa ke satu pin, dengan total 8 pin pada keypad 4X4:

setelah dijelaskan fungsi dan cara kerja keypad kemudian hubungkan arduino dengan keypad seperti pada gambar dibawah

INSTALL THE LIBRARY

Sebelum membuat program, sudah disediakan libraries yang dapat digunakan sehingga akan sangat mempermudah dalam pemrogramannya.
2. keypad 

Note dalam List program 


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include <Keypad.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
LiquidCrystal_I2C lcd(0x3F, 16, 2);
//deklarasi akan jumlah baris dan kolom
//4 baris
const byte ROWS = 4; 
//4 kolom
const byte COLS = 4; 

char keys[ROWS][COLS] = { //penggambaran kondisi keypad ke dalam program
{'1','2','3','a'}, //
{'4','5','6','b'}, //
{'7','8','9','c'}, //
{'#','0','*','d'}  //
};
byte rowPins[ROWS] = {7, 6, 5, 4}; //pin untuk kontrol baris
byte colPins[COLS] = {11, 10, 9, 8}; //pin untuk kontrol kolom

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


LiquidCrystal_I2C lcd(0x3F, 16, 2); pada alamat i2c bisa berbeda-beda 
bisa digunakan untuk scaner i2c

Peletakan Library pada PC/LAPTOP :
1. Mac : (home directory)/Documents/Arduino/libraries
2. PC (Windows) : My Documents -> Arduino -> libraries
3. Linux : (home directory)/sketchbook/libraries



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* --- www.sinauprogramming.com --- */

#include <Keypad.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
LiquidCrystal_I2C lcd(0x3F, 16, 2);
//inisialisasi akan jumlah baris dan kolom
//4 baris
const byte ROWS = 4; 
//4 kolom
const byte COLS = 4; 

char keys[ROWS][COLS] = { //matrik kondisi keypad ke dalam program
{'1','2','3','a'}, //
{'4','5','6','b'}, //
{'7','8','9','c'}, //
{'#','0','*','d'}  //
};
byte rowPins[ROWS] = {7, 6, 5, 4}; //posisi pin untuk kendali baris
byte colPins[COLS] = {11, 10, 9, 8}; //posisi pin untuk kendali kolom

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

//map pin arduino yang dihubungkan dengan keypad

void setup(){ 
  
    lcd.begin(); 
//penggunaan serial komunikasi dengan kecepatan 9600 baudrate
Serial.begin(9600); 
  lcd.setCursor(0,0);
  lcd.print("  Tes keypad =");
  lcd.setCursor(0,1);
  lcd.print(" ");
  delay(2000);
  lcd.clear(); //
}

void loop(){
char tombol = keypad.getKey();
if (tombol!= NO_KEY){
Serial.println(tombol);
  lcd.setCursor(0,0);
  lcd.print("  Tes Keypad=");
  lcd.setCursor(5,1);
  lcd.print(tombol);}
}

Hasil dari pemrograman diatas yaitu apabila ditekan tombol maka hasil penekan akan muncul pada serial monitor sesuai dengan bagian karakter tombol yang ditekan.
Dari program sederhana diatas juga ditampilkan pada LCD

0 Comments