Anda di halaman 1dari 13

PRAKTIKUM I

PENGENALAN GPIO PADA STM32F407VGTx

I. TUJUAN
1. Mengetahui pengaturan ARM sebagai input dan output
2. Memahami cara menggunakan software STM32Cube dan Keil
3. Mengetahui aplikasi ARM dengan menggunakan relay
AI. DASAR TEORI

ARM adalah kepanjangan dari Advanced RISC Machine, yakni arsitektur prosesor
yang menggunakan prosesor RISC 32-bit dan dikembangkan oleh ARM Limited. Arsitektur
prosesor ARM banyak digunakan oleh perangkat genggam mengingat fitur-fiturnya yang
dibuat optimal untuk perangkat genggam, seperti fitur hemat energinya yang membuatnya
menjadi dominan di pasar perangkat elektronik genggam termasuk android.
GPIO : Port untuk General Purpose Input Output, berupa socket IDC female (sama
dengan Arduino) yang memang agak susah mencari pasangannya, berbeda dengan socket IDC
yang

male. Disebut dengan GPIO karena-macam. Dapatmempunya digunakan sebagai digital


input,
output, analog input/output, interupsi dll.
Port USB : dipakai untuk koneksi dengan computer, sebagai jalur upload
(mengisi) program dari computer ke memori di maple board. Juga dimanfaatkan
untuk komunikasi serial, baik kirim maupun terima data. Jadi ketika kita
membuat aplikasi yang memakai komunikasi serial dapat langsung meggunakan
port ini.
Power Supply : koneksi dengan power supply (7 18 V DC). Power supply juda
dapat diperoleh dari port USB tadi, jadi tidak usah repot repot membuat power
supply lagi, tapi syaratnya computer yang dihubungkan dengan Maple board
harus hidup terus.
Reset : Tombol untuk me-reset system, hamper sama dengan tombol reset di
computer.
BI. PERALATAN YANG DIGUNAKAN
1. Komputer yang sudah ter-install aplikasi STM32Cube dan Keil u Vision 5

IV. LANGKAH KERJA 1.

Buka software STM32CubeMXdengan cara klik dua kali icon yang ada pada desktop.

2.

Klik new project untuk membuat lembar kerja baru

3.
Lalu akan muncul sebuah tab baru untuk mengatur Series,Line dan Package

Series yang dipakai yaitu STM32F4

Lines yang dipakai yaitu STM32F407/417

Package yang dipakai yaitu LQFP 100

Setelah itu klik dua kali pada STM32F407VGTx

4.

Setelah itu akan masuk pada lembar pengaturan berikutnya. Pada lembar ini kita
mengatur Pin Out, Clock Configuration dan Configuration.

Pada Pin Out kita atur RCCnya untuk mengatur High Speed Clock (HSE) dengan pilihan
Crystal/Ceramic Resonator.

5.
Pada lembar Clock Configuration atur nilai input frequency sebesar 8 MHz dan atur
nilai prescaler agar nilai Clock dari mikrokontroller maksimal.

6.

Atur Port mana yang akan digunakan dengan cara klik pada PORT yang akan kita ubah
fungsinya

7.

Setelah itu klik Configuration untuk mengatur GPIO.


8.

Ubah konfigurasi dari PIN GPIO sesuai dengan hardware yang digunakan

9.

Klik generate code pada project.

10.
Kemudian akan muncul tab baru dimana berisi tentang nama file dan tempat file kita
menyimpan project kita. Kita dapat memberi nama file dan menyimpannya sesuai
dengan yang kita inginkan. Kemudian pada pilihan Toolchain kita ganti dengan aplikasi
yang kita gunakan yaitu MDK ARM V5.

11.

Setelah proses pemberian nama selesai, maka akan muncul tab baru. Klik open project.

12.

Setelah klik open project akan muncul beberapa pilihan. Kemudian pilih
Application/User dan kemudian pilih main.C maka akan muncul lembar kerja
yang siap untuk dipakai.
ANALISA

Pada praktikum kali ini dilakukan percobaan tentang penggunaan Arm sebagai input dan output. Pada program
ini Port yang digunakan sebagai output yaitu PIN E0 sampai PIN E7. Sedangkan yang digunakan sebagai input
yaitu PIN E8 - PIN E15. Di bawah ini merupakan program yang digunakan pada praktikum kali ini.

Pada program ini hampir sama dengan program yang digunakan untuk memrogram mikrokontroller Atmega.
Langkah pertama yang harus dilakukan adalah memanggil library dari stm32f4 dengan cara menuliskan
#include stm32f4xx.Setelah itu masuk pada hal while(1) yang berisi perintah if. Perintah if yang pertama yaitu
berisi if(HAL_GPIO_ReadPin(GPIOE,GPIO.disinidigunakanPINuntuk membaca8)==1) nilai dari PIN yang
akan dituju. GPIOE menunjukkan bahwa Pin yang dibaca termasuk kedalam Pin E. Sedangkan GPIO PIN 8
menunjukkan bahwa PIN yang dibaca merupakan PIN ke 8 pada PIN E. Pada program ini PIN E8 sampai
dengan PIN E15 digunakan sebagai input dan dihubungkan dengan push button. Sedangkan pada perintah di
dalam if terdapat perintah HAL_GPIO_WritePin(GPIOE,GPIOdigunakanuntukPINmemberi0,1)nilaioutput.
WritePin digunakan untuk memberi nilai output pada Pin yang dituju. GPIOE menunjukkan bahwa Pin yang
akan diberi nilai berada dalam PIN E. GPIO PIN 0 merupakan PIN yang akan diberi nilai. Dan 1 merupakan
kondisi logika yang akan diberikan pada PIN yang dituju.
Pada perintah kedua di dalam if yaitu
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_P IN_5|
GPIO_PIN_6,0) terdapat sedikit perbedaan perinta WritePin dibandingkan perintah WritePin sebelumnya, PIN
yang diberi nilai hanya satu. Sedangkan pada perintah WritePin ini Pin yang diberi nilai lebih dari satu, maka
dari itu untuk memisahkan antar pin yang akan diberi nilai diberi tanda | .

Perintah if selanjutnya hampir sama dengan perintah if pertama. Hanya saja jika pada perintah pertama PIN 8 (PB 1)
digunakan untuk menyalakan PIN 0 (Relay1), sedangkan pada perintah kedua PIN 9 (PB 2) digunakan untuk
menyalakan PIN 0 dan PIN 1 (Relay 1 dan Relay 2). PB3 digunakan untuk menyalakan Relay 1 Relay 3. PB4
digunakan untuk menyalakan Relay1 Relay4. PB5 digunakan untuk menyalakan Relay1 Relay5. PB6
digunakan untuk menyalakan Relay1 Relay6. PB7 digunakan untuk menyalakan Relay1 Relay7.
Untuk perintah saat Push Button 8 ditekan sedikit berbeda dari perintah sebelumnya. Saat PB 8 ditekan maka Relay
akan menyala secara bergantian dimulai dari Relay7 saja yang menyala, kemudian Relay6 saja yang menyala dan
seterusnya sampai Relay1 lalu kemudian semua relay mati. Pada pemrograman mikrokontroller STM32 ini untuk
menggunakan fungsi delay dapat dilakukan dengan perintah HAL_Delay();. Delay yang diinginkan dengan
satuan mili second(ms). Dalam program ini delay yang digunakan dalam program sebesar 300 ms
sehingga300);.
KESIMPULAN

Fungsi ReadPin() pada ARM berfungsi untuk membaca nilai dari Pin Input.

Fungsi WritePin() pada ARM berfungsi untuk memberikan nilai logika High atau Low pada Pin Output.

Pada praktikum GPIO ini, PIN 8-PIN 15 berfungsi sebagai output dan dihubungkan dengan Relay.

Fungsi HAL_Delay() digunakan untuk memberikan delay atau jeda waktu pada program untuk berhenti
sementara.
LAPORAN RESMI
PRAKTIKUM MIKROKONTROLLER DASAR
PERCOBAAN I
GPIO (GENERAL PURPOSE INPUT OUTPUT)

Di susun Oleh :
Nama : Gamar Basuki
Kelas : 2 D4 ELIN A
NRP : 1310151002
Dosen Pengampu : Farid Dwi Murdianto, S.ST

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


TAHUN 2017

Anda mungkin juga menyukai