Assalamualaikum sobat, pada tutorial kali ini kita akan
belajar untuk mengakses keypad 4×4 dan menampilkan hasil penekanan tombolnya di
serial monitor arduino IDE.
belajar untuk mengakses keypad 4×4 dan menampilkan hasil penekanan tombolnya di
serial monitor arduino IDE.
Bahan-bahan
- Arduino UNO
- Keypad 4×4
- kabel jumper
Skematik
Keterangan Skematik
- pin 9 arduino dihubungkan ke kaki 1 keypad
- pin 8 arduino dihubungkan ke kaki 2 keypad
- pin 7 arduino dihubungkan ke kaki 3 keypad
- pin 6 arduino dihubungkan ke kaki 4 keypad
- pin 5 arduino dihubungkan ke kaki 5 keypad
- pin 4 arduino dihubungkan ke kaki 6 keypad
- pin 3 arduino dihubungkan ke kaki 7 keypad
- pin 2 arduino dihubungkan ke kaki 8 keypad
Langkah-langkah
- hubungkan pin arduino dengan pin keypad sesuai dengan
skematik - hubungkan arduino ke laptop/PC menggunakan kabel data
- Jalankan aplikasi Arduino IDE
- pastikan port dan jenis arduino yang digunakan sesuai (lihat
di menu tools arduino IDE) supaya tidak terjadi error - Masukan kode program dibawah, kemudian upload ke papan arduino
Kode Program
//Memanggil
library keypad.h
#include <Keypad.h>
//Mendefinisikan
jumlah baris dan kolom keypad yang digunakan
const byte jumlahBaris = 4;
const byte jumlahKolom = 4;
//Memetakan
tombol keypad
char petaTombol[jumlahBaris] [jumlahKolom] =
{
{‘1’,‘2’,‘3’,‘A’},
{‘4’,‘5’,‘6’,‘B’},
{‘7’,‘8’,‘9’,‘C’},
{‘*’,‘0’,‘#’,‘D’},
};
//Mendefinisikan
koneksi pin antara arduino dan keypad 4×4
byte pinBaris[jumlahBaris] = {9, 8, 7, 6};
byte pinKolom[jumlahKolom] = {5, 4, 3, 2};
//Mendefinisikan
(Membuat) keypad
Keypad tombol = Keypad(makeKeymap(petaTombol),
pinBaris, pinKolom, jumlahBaris, jumlahKolom);
void setup() {
Serial.begin(9600);
}
void loop() {
//Variabel untuk menyimpan data jika
terjadi penekanan pada tombol keypad
char tombolDitekan = tombol.getKey();
//Kondisi jika tombol ditekan
if(tombolDitekan != NO_KEY)
{
Serial.print(tombolDitekan);
}
}
|
Keterangan Kode
Program
Program
Kode berikut
digunakan untuk menyertakan pustaka (library) keypad :
digunakan untuk menyertakan pustaka (library) keypad :
#include <Keypad.h>
|
Kode berikut digunakan untuk membentuk keterangan
tombol-tombol pada keypad :
tombol-tombol pada keypad :
char petaTombol[jumlahBaris] [jumlahKolom] =
{
{‘1’,‘2’,‘3’,‘A’},
{‘4’,‘5’,‘6’,‘B’},
{‘7’,‘8’,‘9’,‘C’},
{‘*’,‘0’,‘#’,‘D’},
};
|
Kode berikut digunakan untuk mendeklarasikan pin arduino (pin
9, 8, 7, dan 6) yang terhubung ke pin baris keypad :
9, 8, 7, dan 6) yang terhubung ke pin baris keypad :
byte pinBaris[jumlahBaris] = {9, 8, 7, 6};
|
Kode berikut digunakan untuk mendeklarasikan pin arduino (pin
5, 4, 3, dan 2) yang terhubung ke pin kolom keypad :
5, 4, 3, dan 2) yang terhubung ke pin kolom keypad :
byte pinKolom[jumlahKolom] = {5, 4, 3, 2};
|
Kode berikut digunakan untuk membentuk (membuat) sebuah
objek bernama tombol, hal tersebut
bertujuan agar arduino memahami bahwa yang kita gunakan adalah sebuah keypad
4×4, dimana program penyusunya telah kita buat sebelumnya pada baris kode diatas
:
objek bernama tombol, hal tersebut
bertujuan agar arduino memahami bahwa yang kita gunakan adalah sebuah keypad
4×4, dimana program penyusunya telah kita buat sebelumnya pada baris kode diatas
:
Keypad tombol = Keypad(makeKeymap(petaTombol),
pinBaris, pinKolom, jumlahBaris, jumlahKolom); |
Kode berikut dipakai untuk melakukan inisialisasi terhadap
port serial, dengan tujuan agar kode tombol keypad yang ditekan akan dikirimkan
ke port serial :
port serial, dengan tujuan agar kode tombol keypad yang ditekan akan dikirimkan
ke port serial :
Serial.begin(9600);
|
Kode berikut berfungsi sebagai pembacaan terhadap tombol
yang ditekan, dalam hal ini fungsi getKey()akan menghasilkan NO_KEY
jika tidak ada tombol yang ditekan :
yang ditekan, dalam hal ini fungsi getKey()akan menghasilkan NO_KEY
jika tidak ada tombol yang ditekan :
char tombolDitekan = tombol.getKey();
|
Kode berikut menyatakan jika nilai pada variabel tombolDitekan tidak berupa NO_KEY, artinya terdapat
tombol yang ditekan, itulah kenapa, nilai kode hanya akan dikirim ke port
serial jika nilai tombolDitekan tidak
berupa NO_KEY :
tombol yang ditekan, itulah kenapa, nilai kode hanya akan dikirim ke port
serial jika nilai tombolDitekan tidak
berupa NO_KEY :
if(tombolDitekan != NO_KEY)
{
Serial.print(tombolDitekan);
}
|
Video Tutorial
Sekian untuk tutorial kali ini, sampai jumpa di lain kesempatan,
Wassalamualaikum wr wb.
Wassalamualaikum wr wb.
Komentar
Mas, kalo fungsi keypadnya satu kode keypad di buat jadi 2 fungsi gimana mas? Misal tekan A masuk ke inputan nilai tekan A lagi menjalankan sistem sesuai inputan nilai tersebut