Belajar Arduino : Pengujian Tombol Keypad 4x4 di Serial Monitor
Assalamualaikum sobat, pada tutorial kali ini kita akan
belajar untuk mengakses keypad 4x4 dan menampilkan hasil penekanan tombolnya di
serial monitor arduino IDE.
Bahan-bahan
Bahan-bahan
- Arduino UNO
- Keypad 4x4
- 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 4x4
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
Kode berikut
digunakan untuk menyertakan pustaka (library) keypad :
#include <Keypad.h>
|
Kode berikut digunakan untuk membentuk keterangan
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 :
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 :
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
4x4, 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 :
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 :
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 :
if(tombolDitekan != NO_KEY)
{
Serial.print(tombolDitekan);
}
|
Video Tutorial
Sekian untuk tutorial kali ini, sampai jumpa di lain kesempatan,
Wassalamualaikum wr wb.
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
BalasHapus