Anda di halaman 1dari 7

ANALISA

Pada percobaan ini yaitu tentang GPIO (General-Purpose Input Output ) dimana kita
akan mempelajari bagaimana menentukan pin-pin pada mikrokontroller menjadi output atau
input, langkah pertama yang harus dilakukan adalah dengan mengkonfigurasi software yang
disesuaikan dengan hardware yang kita pakai. Karena chip yang kita pakai adalah
stm32f407vgtx maka yang perlu kita lakukan adalah membuka software stm32CubeMX, setelah
terbuka klik New Project

maka akan terbuka sebuah jendela seperti ini :


setelah itu pada bagian series pilih stm32f4 kemudian pada bagian line pilih stm32f407/417
dan pada bagian package pilih LQFP100 angka 100 menunjukan jumlah pin dari
mikrokontroler, double klik stm32f407vgtx maka akan muncul seperti gambar berikut :

Dan dikonfigurasi sesuai dengan yang diinginkan.

Setelah terkonfigurasi maka stm32CubeMX tadi akan mengkonversikannya ke uvision


dalam bentuk program bahasa C namun program ini masih berbentuk mentahan atau bisa
dibilang masih dalam bentuk template program, untuk programnya sendiri pertama kita akan
menguji on/off relay

On/off relay adalah dimana ketika push botton tertentu ditekan maka lampu led akan
menyala sesuai relay mana yang kita inginkan, untuk programnya sendiri adalah sebagai berikut :

while (1)
{
if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_8)==1)
{
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_0,1);
}
else
{
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_0,0);
}
}

Arti dari program tersebut Readpin berarti adalah apa yang akan terjadi dibagian input apakah itu
on atau off, dan ini tidak bisa kita tentukan karena itu tergantung dari inputnya namun bisa kita
tentukan outputnya (on atau off) yaitu dengan perintah if,
if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_8)==1); artinya jika input pin 8 di port E berlogic 1,
perintah selanjutnya adalah kondisi yang akan terjadi pada bagian output apabila input pin 8 di
port E bernilai satu adalah HAL_GPIO_WritePin(GPIOE,GPIO_PIN_0,1); yang artinya maka
sisi output pin 0 di port E akan bernilai 1 sehingga apabila push botton 8 ditekan maka pin 0
akan aktif dan relay 0 (relay nomer 1) akan menyala, namun apabila input pin 8 di port E tidak
berlogic 1 ( berlogic 0) maka apakah yang terjadi, maka dari itu kita butuh perintah else yang
artinya jika tidak atau (HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_8)==0)
sehingga kita tambahkan perintah HAL_GPIO_WritePin(GPIOE,GPIO_PIN_0,0); yang artinya
sisi output pin 0 di port E berlogic 0 sehingga apabila push botton 8 tidak kita tekan (berlogic 0)
maka relay 0 ( relay nomer 1) akan off/tidak menyala
yang kedua adalah menggunakan perintah delay() dimana ketika push botton ditekan
maka led akan menyala namun setelah push botton dilepas lampu led masih mendelay untuk
offnya untk programnya sendiri adalah sebagai berikut :

if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_8)==1)
{
HAL_Delay(350);
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,1);
}

Artinya jika pin 8 di port E bernilai satu maka output pin 3 di port E akan bernilai satu namun
dengan delay 350 ms yaitu ketika push botton dilepas maka led di relay pin 3 tidak langsung off
atau masih delay 350 ms.
Untuk menjalankan program pada mikro maka harus dilakukan proses downloading
terlebih dahulu agar program dapat tersimpan pada mikro
KESIMPULAN
- Untuk memprogram mikrokontroller harus dikonfigurasi sesuai dengan chip yang
digunakan
- GPIO mengatur bagaimana pin dari suatu chip menjadi input ataukah output dengan
kondisi logic yang kita inginkan pada sisi output
- Pemrograman yang digunakan adalah bahasa C namun di setiap statement ditambahkan
HAL_
General-purpose input/output (GPIO)

Tujuan

1. Mahasiswa dapat mengetahui fungsi dari GPIO pada ARM STM32F407VGTx.


2. Mahasiswa dapat melakukan konfigurasi GPIO pada ARM STM32F407VGTx.
3. Mahasiswa dapat membuat program c melalui software keil-uvission untuk aktivasi
GPIO pada ARM STM32F407VGTx.
4. Maahasiswa memahami cara membuat inisialisasi I/O dari ARM menggunakan
software STM32 Cube.
5. Mahasiswa dapat mengolah Bahasa pemograman dari ARM dengan menggunakan
software keil-uvision5.

Dasar teori

General-purpose input/output (GPIO) adalah pin generik pada sirkuit terpadu atau
papan komputer yang perilakunya termasuk apakah itu input atau output pin yang dikontrol oleh
pengguna pada saat dijalankan

Pin GPIO tidak memiliki tujuan yang ditetapkan, dan tidak terpakai secara default. Yaitu
kadang-kadang sistem integrator yang membangun full system perlu beberapa baris dan kontrol
digital tambahan yang tersedia dari sebuah chip dan harus mengatur sirkuit tambahan untuk
menyediakannya. Sebagai contoh, Realtek chip ALC260 ( audio codec ) memiliki 8 GPIO pin,
yang tidak digunakan secara default. Beberapa sistem integrator ( Acer Inc. laptop)
menggunakan GPIO pertama (GPIO0) dari ALC260 untuk menghidupkan amplifier untuk
speaker internal laptop dan eksternal headphone jack

Port GPIO adalah sekelompok pin GPIO (biasanya 8 GPIO pin) diatur dalam kelompok
dan dikendalikan sebagai sebuah kelompok.

Alat Dan Bahan yang Dibutuhkan


1. Modul ARM STM32F407VGTx .
2. Software STM32CubeMX.
3. Software keil-uVision5
4. Kabel ST-LINK
5. Adaptor dc 5 V

PRAKTIKUM MIKROKONTROLER DASAR


PERCOBAAN 1

GPIO ( General-purpose input/output )

NAMA : Hairur Rofik

NRP : 1310151013

DOSEN : FARID DWI MURDIANTO

MATKUL : Prak. MIKROKONTROLER DASAR

PROGRAM STUDI : TEKNIK ELEKTRO INDUSTRI

DEPARTEMEN : TEKNIK ELEKTRO


POLITEKNIK ELEKTRONIKA NEGERI SURABAYA (PENS)

TAHUN 2017

Anda mungkin juga menyukai