Anda di halaman 1dari 9

Laporan Resmi Praktikum Dasar Mikro Kontroler

Keypad 4x4

Disusun :
Azharuddin Al Hamidy
1303181055

2 D3 ELEKTRO INDUSTRI B

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2019
I. Judul
Keypad 4x4

II.Tujuan
 Mampu menyusun user requirement untuk sebuah fungsi dari General Purpose Input
Output atau GPIO yang digunakan untuk menampilkan tulisan pada LCD 16x2 dan
juga menampilkan angka dari keypad 4x4 yang juga menghidupkan relay LED.
 Mampu memahami dan melakukan identifikasi pin-pin pada STM32F4 input dan
output menggunakan alamat PORT sesuai konfigurasi pada board praktikum.

 Mampu menyusun, menjalankan dan melakukan debugging program


sesuai dengan instruksi.

III. Dasar Teori

Keypad merupakan komponen elektronik yang digunakan sebagai masukan, disususun


dari beberapa tombol/switch dengan teknik matrix. Berdasarkan penjelasan tersebut, bahwa
sebenarnya keypad merupakan tombol-tombol yang dirangkai menjadi sebuah paket dengan
teknik menghubungkan satu tombol dengan tombol yang lain dengan teknik matrix. Teknik
matrix adalah bisa dikatakan array, memiiki kolom dan baris lebih dari satu. Berikut secara
ilusrasi penghubungan tombol-tombol pada keypad.

Gb. 1a. Skematik koneksi tombol pada keypad (3x4)


Pengertian keypad 4 baris dan 4 kolom ini nantinya berguna untuk melakukan scanning
pada setiap tombol-tombol keypad yang ditekan. 2.2 DFRduino UNO R3 DFRduino Uno V3.0
dari DFRobot adalah sebuah papan µcontroller yang dapat dikembangkan penggunaanya dan
didalamnya sudah terintegrasi dengan Arduino IDE. Ini adalah papan mikrokontroler yang
sepenuhnya kompatibel dengan tipe Arduino UNO R3. Di dalam pengembangannya Arduino
IDE menggunakan lingkup pengembangan open source. Lingkup ini menerapkan bahasa
Pengolahan / Wiring. Arduino dapat digunakan untuk mengembangkan objek interaktif yang
dapat berdiri sendiri atau juga dapat dihubungkan ke perangkat lunak pada komputer (misalnya
Flash, Pengolahan, MaxMSP).
Open source pada Arduino IDE mempunyai pengertian bahwa program Arduino dapat
didownload secara gratis di situs-situs tertentu (saat ini untuk Mac OS X, Windows, dan Linux).
DFRduino Uno R3 ini memiliki fitur µcontroller ATmega16U2 yang diprogram sebagai
konverter USB-to-serial. DFRduino menggunakan paket DIP (Dual Inline Pin) AVR Chip. Chip
program yang dapat dihapus dan diperbarui atau diprogram ulang. Terlebih lagi mikrokontroler
DFRduino menggunakan warna header yang berbeda-beda untuk fitur port I / O dari berbagai
jenis : Header merah untuk Power / Supply. Header biru untuk port Analog I / O. Header hijau
untuk port Digital I / O.

Gb. 1b. Skematik koneksi tombol pada keypad (4x4)

Gb. 2a. Keypad berbahan carbon Gb. 2b Keypad berbahan carbon


elelastic/plastik 4x4 elastic/plastik 3x4
Penyusun tombol pada keypad dapat dibuat dari bermacam-macam bahan/komponen,
seperti switch metal, switch karbon, dan resistif/kapasitif (touch panel). Penggunaan bahan
tersebut disesuaikan dengan kebutuhan akan sensifitas, aksi penekanan, dan kebutuhan akan
suatu tombol khusus. Bahan switch metal pada keypad digunakan untuk kebutuhan keypad atau
tombol-tombol dengan arus yang besar. Keypad dengan bahan carbon dipakai untuk kebutuhan
tombol-tombol dengan arus kecil. Biasanya itu digunakan untuk alat-alat digital yang hanya
memiliki tegangan 0 dan 5v. Penerapan bahan banyak kita jumpai seperti pada keypad remot tv,
remot ac, joy stick, serta masih banyak lainnya.

PERANGKAT KERAS KEY PAD

Gb.3a. Keypad berbahan carbon karet Gb.3a. Keypad berbahan carbon karet
elastic/plastic

Sedangkan bahan penyusun keypad yang bersifat resistif/kapasitif digunakan sebagai


panel sentuh pada alat-alat elektronik, seperti hp, smart phone, tablet, computer dan masih
banyak lainnya. Dengan bahan resistif/kapasitif dalam pembuatan keypad, pada area yang lebih
kecil didapatkan resolusi atau tombol yang lebih banyak.
IV. Design System “User Requirement”
A. User Requirement
Dalam rancangan sistem kali ini, membutuhkan 7 kontak relay LED, Buzzer, Lcd
16x2, dan Keypad 4x4. Sistem kali ini menggunakan keypad sebagai input dan
komponen lain sebagai output seperti 7 kontak relay LED, Buzzer, Lcd 16x2. Kemudian
mendesain program dengan skema ketika menekan keypad 0-6 secara bergantian maka
akan menghidupkan relay LED 1-7 secara berurutan. Dan juga ketika menginputkan
keypad nomor 7 maka akan menyalakan buzzer.
Setiap angka yang dinputkan oleh keypad akan tampak di LCD tersebut. Misal
ketika akan menekan angka 0 maka LCD juga akan menampilkan angka 0 diikuti dengan
menyalanya relay LED 1. Kemudian ketika akan menekan angka 1 maka LCD juga akan
menampilkan angka 1 diikuti dengan menyalanya relay LED 2. Kemudian ketika akan
menekan angka 2 maka LCD juga akan menampilkan angka 2 diikuti dengan
menyalanya relay LED 3. Begitu seterusnya. Tetapi berbeda ketika akan menginputkan
angka 7 maka akan menghidupkan buzzer.

B. Pin Configuration
C. Input/Output Table
No I/O Device Label Port Note
1. Input Keypad 4x4 GPIO_Oupu PE8-PE15 Keypad 4x4 didesain untuk
t dan input angka pada lcd dan
GPIO_Oupu mengaktifkan relay LED
t

2. Output Relay led1-led8 PE0-PE7 Relay LED berfungsi


LED sebagai penanda bahwa progam
yang dijalankan
benar. Relay LED 1-7
akan hidup ketika
keypad ditekan dari
angka 0-6 secara
berurutan.
3. Ouput Buzzer buzzer PB3 Buzzer akan berbunyi ketika
angka 7 di Keypad ditekan

4. Output LCD GPIO_Oup PD0- LCD berfungsi sebagai penampil


16x2 ut PD7 tulisan dan angka yang
diprogram ketika keypad 0-7
ditekan secara bergantian
D. Code Source
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

//lcd_gotoxy(0,0);
//lcd_puts("Tes Keypad");

data=keypad_get_key_value();
sprintf(buffer,"KEYPAD KE= %c",data);
lcd_gotoxy(0,1);
lcd_puts(buffer);

if (data=='0')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_0 ,GPIO_PIN_SET);}

else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_0 ,GPIO_PIN_RESET);}

if (data=='1')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_1 ,GPIO_PIN_SET);}
else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_1,GPIO_PIN_RESET);}

if (data=='2')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_2 ,GPIO_PIN_SET);}

else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_2 ,GPIO_PIN_RESET);}

if (data=='3')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3 ,GPIO_PIN_SET);}
else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3 ,GPIO_PIN_RESET);}

if (data=='4')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4 ,GPIO_PIN_SET);}

else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4 ,GPIO_PIN_RESET);}

if (data=='5')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5 ,GPIO_PIN_SET);}
else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5 ,GPIO_PIN_RESET);}

if (data=='6')
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_6 ,GPIO_PIN_SET);}
else
{HAL_GPIO_WritePin(GPIOE, GPIO_PIN_6 ,GPIO_PIN_RESET);}

if (data=='7')
{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3 ,GPIO_PIN_SET);}

else
{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3 ,GPIO_PIN_RESET);}

}
/* USER CODE END 3 */
}
V. Result and Discussion
Dari percobaan yang telah dilakukan, yakni mendesain program untuk relay LED,
buzzer, LCD 16x2 dan juga keypad 4x4. Dengan tombol pada keypad 4x4 yang terdapat
pada pot PE8-PE15, dan output ada buzzer yang terletak pada port PB3, LCD 16x2
sebagai penampil angka dan tulisan terletak pada port PD0-PD7, dan juga 7 relay LED
pada port PE0-PE7.
Kemudian didesain pada software STMcube dengan mengatur RCC diaktifkan
dan mengatur juga pin-pin konfigurasi yang telah dipaparkan diatas seperti keypad pada
port PE8-PE11 yang disetting GPIO_INPUT, port PE12-PE15 yang disetting output. Dan
untuk LED pada PE0-PE6 yang disetting GPIO_OUTPUT dan diberi label LED1-LED7
begitujuga yang lainnya.
Kemudian setelah digenerate code, selanjutnya mulai membuat code sesuai
intruksi. Dengan mengcopy terlebih dahulu library LCD chararcter dan keypad 4x4
dengan manual ke file penyimpanan sesuai letak file STMcube tadi. Selanjutnya
masukkan library dari LCD #include "lcd_character.h" dan #include “keypad_4x4” .
kemudian aktifkan library dengan lcd_init(); keypad_init();. Lalu mengcoding sesuai
dengan code yang ada di atas.
Didapati ketika keypad angka 0 ditekan makan led 1 menyala dengan ditampilkan
angka 0 pada LCD, ketika keypad angka 1 ditekan makan led 2 menyala dengan
ditampilkan angka 1 pada LCD, ketika keypad angka 2 ditekan makan led 3 menyala
dengan ditampilkan angka 2 pada LCD. Begitupun seterusnya hingga keypad 6 ditekan.
Ketika keypad nomor 7 ditekan maka akan menampilkan angka 7 diikuti buzzer
menyala.

Anda mungkin juga menyukai