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
Buka software STM32CubeMXdengan cara klik dua kali icon yang ada pada desktop.
2.
3.
Lalu akan muncul sebuah tab baru untuk mengatur Series,Line dan Package
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.
Ubah konfigurasi dari PIN GPIO sesuai dengan hardware yang digunakan
9.
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