• Tidak ada hasil yang ditemukan

PRAKTIKUM MIKROKONTROLLER PENGAPLIKASIAN KEYPAD MATRIX 4 X 4

N/A
N/A
24@Ircham Badrus Rahmadani

Academic year: 2023

Membagikan "PRAKTIKUM MIKROKONTROLLER PENGAPLIKASIAN KEYPAD MATRIX 4 X 4"

Copied!
14
0
0

Teks penuh

(1)

PRAKTIKUM MIKROKONTROLLER

PENGAPLIKASIAN KEYPAD MATRIX 4 X 4

Dibuat Oleh :

Ircham Badrus Rahmadani 2321600024

2 D4 Elektro Industri A

Dosen Pengampu :

Farid Dwi Murdianto, S.ST ., M.T

PROGRAM STUDI D4 TEKNIK ELEKTRO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

TAHUN AJARAN 2022-

2023

(2)

I. TUJUAN

1. Mahasiswa mampu menggunakan software STM32 CubeMX dan Keil uVision 2. Mahasiswa mampu mengintegrasikan program STM32 dengan Hardware 3. Mahasiswa mampu memprogram dengan STM32 di keil uVision

4. Mahasiswa mampu membuat aplikasi sederhana yang ditampilkan pada LCD Mikrokontroler menggunakan Matrix Keypad 4 x 4

II. ALAT DAN BAHAN 1. Laptop pribadi

2. Software STM32CubeMX 3. ARM Keil

4. Modul STM32F407 5. LCD Character

6. Kabel konektor dan kabel serial

III. LANGKAH PERCOBAAN 1. Buka software STM32 CubeMX

2. Lalu klik File dan pilih New Project

(3)

3. Pilih MCU/MPU Selector, kemudian pilih Series.

4. Muncul beberapa jenis dari package dan core yang telah dipilih lalu pilih STM32F407VG.

5. Klik Start Project.

(4)

6. Klik Pinout & Configuration, kemudian klik System Core dan pilih RCC. Lalu pada High Speed Clock (HSE) pilih Crsytal/Ceramic Resonator

7. Lalu pada bagian kaki chip mikrokontroler tersebut, kemudian klik dan atur kaki pin sebagai berikut :

Kaki PD0 – PD7 = Sebagai kaki output

Kaki PE8 – PE11 = Sebagai kaki input (dengan label “Kolom”)

Kaki PE12 – PE15 = Sebagai kaki output (dengan label “Baris”)

(5)

8. Setelah kaki pin diatur maka akan tampil seperti gambar dibawah ini.

9. Kemudian isi sesuai dengan parameter berikut ini.

10. Pada menubar klik “system core” dan pilih “GPIO” dengan aturan GPIO output level High

(6)

11. Kemudian klik “Generator Code”

12. Selanjutnya klik open project

13. Setelah dialihkan pada software arm keil uVision, maka akan tampil program file main.c

14. Buat program yang diinginkan pada MX GPIO Init

15. Sambungkan USB dari laptop ke moudl mikrokontroler. Kemudian klik “Build” dan

“Load” mpodul mikrokontroler siap bekerja. Lalu tekan tombol “Reset” pada modul untuk menampilkan hasil program di layer LCD

(7)

IV. PROGRAM int a;

int pass=123;

while (1) {

if(a<=5){

#define maxdigit 3

static unsigned char index=0;

static char bufferkey[maxdigit+1];

static short int datakey;

key_val = keypad_get_key_value();

sprintf(buffer, "Key presed= %c",key_val);

lcd_gotoxy(0,0);

lcd_puts(buffer);

if(key_val >= '0' && key_val<='9')// number for decimal value {if (index < maxdigit)

{bufferkey[index] = key_val;

index++;

HAL_Delay(200);

} }

else if (key_val == 'D') // for delete {if(index > 0)

{index--;

bufferkey[index] = ' ';

HAL_Delay(200);

} }

else if (key_val =='#') // for enter key {

datakey = atoi(bufferkey); // convert from string/ascii to integer //datakey = atof(bufferkey); // convert from string/ascii to float

GPIOE -> ODR = datakey;

bufferkey[0] = ' ';

bufferkey[1] = ' ';

bufferkey[2] = ' ';

index=0;

HAL_Delay(500);

if (datakey == pass) {

lcd_clear();

lcd_gotoxy(1,0);

lcd_puts("PASSWORD BENAR");

HAL_Delay(1000);

}

else if(datakey != pass) {

a++;

lcd_clear();

(8)

lcd_gotoxy(1,0);

lcd_puts("PASSWORD SALAH");

HAL_Delay(1000);

} }

lcd_gotoxy(0,1);lcd_puts("key=");

lcd_puts(bufferkey);

lcd_gotoxy(9,1); sprintf(buffer, "val=%3d",a);

lcd_puts(buffer);

}

else if(a>5) {

lcd_gotoxy(0,0);

lcd_puts("anda di blokir ");

lcd_gotoxy(0,1);

lcd_puts(" ");

}

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}

/* USER CODE END 3 */

}

V. HASIL PERCOBAAN

1. Ketika Masukkan Password Benar

(9)

2. Ketika Masukkan Password Salah Pertama kali

(10)

3. Ketika Masukkan Password Salah Kedua kali

(11)

4. Ketika Masukkan Password Salah Ketiga

(12)

5. Ketika Mencapai batas dan di blokir

(13)

VI. ANALISA PERCOBAAN

Pada praktikum percobaan ketiga ini menggunakan software STM32 CubeMX dan Keil uVision5 untuk melakukan programming pada suatu mikrokontroller.

Mikrokontroller yang digunakan adalah mikrokontroller jenis STM32F407VGT6 yang mempunyai 100 pin dimana chip ini termasuk pada jenis mikrokontoler STM32 yang beroperasi pada frekuensi hingga 168 MHz. Dari 100 pin yang ada, terdapat pin PD0 – PD7 yang digunakan sebagai pin output, pin PE8- PE11 digunakan sebagai pin input.

Selanjutnya pada clock konfigurasi digunakan input frekuensi yaitu sebesar 8 MHz.

Digunakan juga High Speed Clock yaitu Crystal/Ceramix Resonator dan memilih angka dan perhitungan yang nantinya akan menghasilkan frekuensi sebesar 168 MHz.

Dalam praktikum ini melakukan simulasi program aplikasi sederhana yang dapat ditampilkan pada modul LCD Mikrokontroler. Layar LCD digunakan untuk menampilkan instruksi yang telah kita program pada software keil uVision dengan menekan tombol pada Keyped LCD sebagai output dari program yang telah kita buat.

Program yang dibuat akan bekerja ketika program di build dan di load, kemudian hasil program akan muncul pada layar LCD setelah menekan tombol “Reset”.

Percobaan ini di aplikasikan sebagai sandi pintu, dimana dalam program menggunakan intruksi “if” dan “else if” yang digunakan untuk mengatur keyped sesuai dengan yang kita inginkan, jika sandi yang di inputkan sesuai dengan perintah kita dalam program dan tekan # (dimana tombol # pada keyped berfungsi sebagai ENTER) maka layer LCD akan menampilkan kalimat “PASSWORD BENAR” dan jika sandi yang di inputkan salah maka layer LCD akan menampilkan kalimat “PASSWORD SALAH”.

Selanjutnya jika terdapat kesalahan dalam penginputan sandi, dapat dihapus dengan menekan tombol huruf “D”. Jika sandi yang diinputkan salah sebanyak 5 kali, maka layer LCD akan menampilkan kalimat “ANDA DIBLOKIR”.

VII. KESIMPULAN

Berdasarkan hasil praktikum yang telah dilakukan dan Analisa yang telah dibuat maka dapat disimpulkan sebagai berikut:

1. Program yang dibuat merupakan program aplikasi sederhana dimana difungsikan sebagai sandi pintu yang di menggunakan intruksi if dan else if untuk mengatur keypad sesuai yang di inginkan.

2. Mikrokontroller yang digunakan adalah mikrokontroller jenis STM32F407VGT6 yang mempunyai 100 pin dimana chip ini termasuk pada jenis mikrokontoler STM32 yang beroperasi pada frekuensi hingga 168 MHz. Dari 100 pin yang ada, terdapat pin PD0 – PD7 yang digunakan sebagai pin output, pin PE8- PE11 digunakan sebagai pin input.

3. Untuk mengaktifkan fungsi LCD pada display diperlukan library seperti “#include lcd_character.h” yang didalamnya terdapat beberapa fungsi yang digunakan seperti : a) lcd_init() difungsikan untuk menampilkan teks pada layer LCD

(14)

b) lcd_puts(“…”) difungsikan untuk menampilkan karakter huruf dalam bentuk string pada layer LCD

c) lcd_gotoxy(a,b) difungsikan untuk mengatur posisi karakter pada layer LCD d) lcd_clear() difungsikan untuk menghapus karakter pada layer LCD

4. Untuk mengaktifkan fungsi Keyped 4x4 diperlukan library seperti “include keypad_4x4” yang didalamnya terdapat fungsi yang digunakan yaitu keypad_get_key_value(). Fungsi tersebut untuk menyimpan data-data character sesuai dengan tombol digit pada keypad.

5. Program ini menampikan kalimat PASSWORD BENAR jika sandi yang di inputkan sesuai dengan perintah. Namun jika sandi yang di inputkan tidak sesuai dengan perintah maka akan muncul kalimat PASSWORD SALAH.

Referensi

Dokumen terkait