Anda di halaman 1dari 9

LAPORAN PRAKTIKUM MIKROKONTROLLER DAN IOT

(PEMROGRAMAN ARDUINO UNO)

NAMA : PUTRI AMALIA RAMADHANI


NIM : 422 21 059
KELAS : 3C TRJT

PRODI D4 TEKNIK REKAYASA JARINGAN TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2023
MODUL 2
PEMROGRAMAN ARDUINO
1. TUJUAN
- Mengetahui struktur pemrograman Arduino
- Melakukan pemrograman Mikrokontroler Arduino
- Membuat program aplikasi arduino
2. PEMROGRAMAN ARDUINO
Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah penjelasan singkat
karakter bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam, dapat
diakses melalui web Arduino.cc.
2.1 Struktur
Setiap program Arduino (sketch) mempunyai dua buah fungsi sebagai berikut:
 void setup( ) { }
Semua kode di dalam kurung kurawal akan dijalankan hanya satu kali ketika program
Arduino dijalankan untuk pertama kalinya.
 void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan
satu kali fungsi ini akan dijalankan terus menerus selama board arduino terhubung
dengan power supply.
2.2 Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan program.
// (komentar satu baris) Kadang diperlukan untuk memberi catatan pada diri sendiri apa
arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah
garis miring dan apapun yang diketik dibelakangnya akan
diabaikan oleh program.

/* */ (komentar banyak Jika terdapat banyak catatan, maka hal itu dapat dituliskan pada
baris) beberapa baris sebagai komentar. Semua hal yang terletak di antara
dua simbol tersebut akan diabaikan oleh program.
{ } (kurung kurawal) Digunakan untuk mendefinisikan kapan blok program mulai dan
berakhir (digunakan juga pada fungsi dan pengulangan).
; (titk koma) Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada
titik koma yang hilang maka program tidak akan bisa dijalankan).
2.3 Variabel
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Variabel
disimpan di RAM pada sebuah atau beberapa lokasi memori yang diberi nama. Tipe data
variabel harus didefinisikan untuk menentukan berapa banyak byte memori yang disediakan
untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel.

int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit), dengan
rentang 32,768 sampai 32,767.
long (long) Digunakan ketika integer tidak mencukupi lagi. Menggunakan 4 byte
(32 bit) memori (RAM) dengan rentang -2,147,483,648 sampai
2,147,483,647.
bool (boolean) Variabel sederhana yang digunakan untuk menyimpan nilai TRUE
(benar) atau FALSE (salah). Tipe variabel ini menggunakan 1 bit RAM.
float (float) Digunakan untuk angka desimal (floating point). Menggunakan 4 byte
(32 bit) RAM dengan rentang -3.4028235E+38 sampai 3.4028235E+38.
char (character) Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ =
65).
Hanya memakai 1 byte (8 bit) RAM.

2.4 Operator Matematika


Operator yang digunakan untuk memanipulasi angka (operasi matematika).
= Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x
sekarang sama dengan 20).
% Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain
(misalnya: 12 % 10, ini akan menghasilkan angka 2).
+ Penjumlahan
– Pengurangan
* Perkalian
/ Pembagian
2.5 Operator Relasional
Digunakan untuk membandingkan nilai logika.
== Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah
TRUE
(benar))
!= Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah
FALSE (salah))
< Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah
FALSE
(salah) atau 12 < 14 adalah TRUE (benar))
> Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah
FALSE
(salah) atau 12 > 14 adalah FALSE (salah))

2.6 Operator Logika


&& AND, Akan menghasilkan TRUE jika kedua parameter adalah TRUE
|| OR, Akan menghasilkan TRUE jika salah satu parameter adalah TRUE
! NOT, Akan menghasilkan TRUE jika parameter adalah False

2.7 Struktur program


1. if..else, dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi)
{ } else { }
Program akan menjalankan kode yang ada di dalam kurung kurawal. Jika kondisinya
TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika
kondisinya FALSE maka kode pada else yang akan dijalankan.

2. for, dengan format seperti berikut ini:


for (int i = 0; i < #pengulangan; i++) { }
Program akan melakukan pengulangan kode dalam kurung kurawal beberapa kali, ganti
#pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke
atas dengan i++ atau ke bawah dengan i--.
2.7.1 Digital
1. pinMode(pin, mode)
Menetapkan mode suatu pin sebagai digital input atau output. Pin adalah nomor pin yang
akan digunakan dari 0-19 (pin analog A0-A5 adalah 14-19).
2. digitalWrite(pin, value)
Membaca nilai dari pin digital. Nilai yang didapat dapat berupa 1 atau 0. Ketika sebuah
pin ditetapkan sebagai OUTPUT, maka pin tersebut dapat dijadikan HIGH (5 volt) atau
LOW (ground).
3. digitalRead(pin)
Menulis nilai ke pin digital. Nilai yg ditulis dapat berupa 1 atau 0. Ketika sebuah pin
ditetapkan sebagai INPUT, maka pin tersebut dapat digunakan untuk membaca nilai
HIGH (5 volt) atau LOW (ground).

2.7.2 Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam
domain analog sebagai berikut:
1. analogWrite(pin, value)
Menulis nilai analog ke pin. nilai yang ditulis antara 0 dan 255. Beberapa pin pada
Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat
merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat
berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka
antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
2. analogRead(pin)
Membaca nilai dari pin analog. Nilai yang didapat adalah antara 0 (0 volt) dan 1023 (5
volt). Ketika pin analog ditetapkan sebagai INPUT, pin tersebut dapat membaca keluaran
tegangan (volt).
3. Arduino IDE
Pemrograman arduino memerlukan aplikasi IDE (Integrated Development Environment)
bawaan Arduino. Aplikasi ini berguna untuk membuat, membuka, dan mengedit source code
Arduino (Sketches). Sketch merupakan source code yang berisi logika dan algoritma yang
akan diupload ke dalam IC mikrokontroller (Arduino). Pemrograman arduino dapat
dilakukan sebagai berikut:
3.1 Jalankan Aplikasi Arduino IDE, pada pojok kanan bawah akan ada tulisan
"Arduino UNO on COMxx". Selanjutnya, silakan buka sampel led flip-flop dengan
cara Klik menu File > Examples > 1.Basic > Blink
3.2 Setting board Arduino dengan cara Klik menu Tools > Board > Arduino UNO
3.3 Pilih port yang digunakan Arduino dengan cara mengklik menu Tools > Ports > pilih
COMxx (Arduino/Genuino UNO) .
3.4 Klik tombol upload (tombol dengan panah ke kanan)
3.5 Setelah berhasil diupload, akan muncul tulisan "Done uploading" di bagian bawah. Jika
berhasil, maka LED dengan tulisan "L" pada board Arduino akan flip-flop.
4. LED Blink
Ketika belajar pemrogaman, program pertama yang harus harus dilakukan adalah
memunculkan pesan "Hello World!". Dalam belalajar mikrokontroller yang pertama kali
harus dilakukan adalah membuat lampu LED blink atau flip-flop. LED merupakan
kependekan dari Light Emiting Diode, yaitu diode yang mampu mengubah listrik menjadi
cahaya. Sebagaimana sifat diode, lampu LED memiliki kaki positif dan negatif. Sehingga
pemasangannya tidak boleh terbaik, jika dipasang terbalik maka tidak akan ada arus yang
mengalir dan LED pun tidak akan menyala.
Arduino bekerja pada tegangan 5-12 volt dengan arus yang relatif besar yang sanggup
memutuskan LED. Sehingga jika kita ingin menyambungkan LED, maka kita butuh tahanan
(resistor) untuk membatasi arus yang masuk ke LED. LED memiliki tegangan kerja yang
disebut dengan forward voltage (vf) yang mana tegangan ini adalah tegangan yang
dibutuhkan LED untuk bisa menyala dengan baik. Ukuran resistor yang bisa dipakai adalah
100Ω hingga 1KΩ (Ω dibaca ohm, satuan dari resistansi/hambatan), makin besar nilai
resistor maka nyala LED akan semakin redup. Pada Arduino, tegangan yang keluar dari pin-
pinnya adalah 0-5 volt. Sementara catu daya untuk Arduino antara 5-12 volt. Oleh sebab itu,
pemilihan resistor tergantung tegangan mana yang akan digunakan.
5. LANGKAH-LANGKAH PERCOBAAN
5.1 Buatlah rangkaian LED blink seperti pada gambar 1.3.

DUINO1

APK-TECH | techno-apk.blogspot.com
AREF
13
PB5/SCK 12
PB4/MISO
RESET
~PB3/MOSI/OC2A
11 D1
10 LED-RED
~ PB2/SS/OC1B
9
~ PB1/OC1A 8
PB0/ICP1/CLKO

ATMEGA328P-PU
1121

DIGITAL (~PWM)
7 R1
ANALOG IN

PD7/AIN1 6
A0 ~PD6/AIN0 220R
5
PC0/ADC0 ~ PD5/T1 4
A1
PC1/ADC1 PD4/T0/XCK
A2 3
PC2/ADC2 ~ PD3/INT1 2
A3 PD2/INT0
PC3/ADC3 1
A4 TX PD1/TXD
PC4/ADC4/SDA
A5 PC5/ADC5/SCL 0
RX PD0/RXD

ARDUINO UNO R3

Gambar 1.1 Rangkaian LED Blink

5.2 Pasang kaki positif LED pin 13 dan kaki negatifnya terhubung dengan salah satu
kaki resistor.
5.3 Setelah itu, hubungkan satu kaki resistor yang lain dengan ground
5.4 Hubungkan USB Arduino ke komputer/laptop.
5.5 Jalankan Aplikasi Arduino IDE, pada pojok kanan bawah akan ada tulisan "Arduino
UNO on COMxx". Selanjutnya, silakan buka new Sketch dengan cara Klik menu File >
new
5.6 Klik tombol upload (tombol dengan panah ke kanan)
5.7 Setelah berhasil diupload, akan muncul tulisan "Done uploading" di bagian bawah. Jika
berhasil, maka LED akan flip-flop.
5.8 Ulangi langkah–langkah pemrograman arduino pada 5.1 sampai 5.12 menggunakan dua
LED dengan rangkaian pada gambar 1.3
Gambar 1.2 New Sketch arduino IDE

5.9 Setting board Arduino dengan cara Klik menu Tools > Board > Arduino UNO
5.10 Pilih port yang digunakan Arduino dengan cara mengklik menu Tools > Ports >
pilih COMxx (Arduino/Genuino UNO) .
5.11 Buatlah sketch Led Blink sebagai Berikut:

const int pinLED =


13; void setup() {
pinMode(pinLED,OUTPUT);

void loop() {
digitalWrite(pinLED,
HIGH); delay(500);
digitalWrite(pinLED,
LOW); delay(500);

}
DUINO1

APK-TECH | techno-apk.blogspot.com
AREF
13
PB5/SCK
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
10 D2 D1
9 LED-YELLOW LED-RED
~ PB1/OC1A
8
PB0/ICP1/CLKO

ATMEGA328P-PU
1121

DIGITAL (~PWM)
7
ANALOG IN

PD7/AIN1
A0
PC0/ADC0 ~PD6/AIN0
6 R2 R1
A1 5 220R 220R
PC1/ADC1 ~ PD5/T1
A2 4
PC2/ADC2 PD4/T0/XCK
A3 3
PC3/ADC3 ~ PD3/INT1
A4 2
PC4/ADC4/SDA PD2/INT0
A5 1
PC5/ADC5/SCL TX PD1/TXD
0
RX PD0/RXD

ARDUINO UNO R3

Gambar 1.3 Rangkaian LED Blink dengan 2 LED

5.15 Ulangi langkah 5.14 menggunakan tiga LED yang bergantian menyala dengan
rangkaian pada gambar 1.4
DUINO1
APK-TECH | techno-apk.blogspot.com

AREF
13
PB5/SCK
12
PB4/MISO
RESET 11
10
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
9 D3 D2 D1
8 LED-GREEN LED-YELLOW LED-RED
~ PB1/OC1A
ATMEGA328P-PU
1121

DIGITAL (~PWM)

PB0/ICP1/CLKO 7
6
ANALOG IN

PD7/AIN1
A0 ~PD6/AIN0
5 R3 R2 R1
PC0/ADC0 4 220R 220R 220R
A1 ~ PD5/T1 3
PC1/ADC1
A2 PD4/T0/XCK 2
PC2/ADC2
A3 ~ PD3/INT1 1
PC3/ADC3
A4 PD2/INT0 0
PC4/ADC4/SDA
A5 TX PD1/TXD
PC5/ADC5/SCL
RX PD0/RXD

ARDUINO UNO R3

Gambar 1.4 Rangkaian dengan Tiga Led bergantian menyala

5.16 Ulangi langkah 5.15 dengan LED yang bergantian blink, LED1 blink 2 kali,
kemudian LED2 blink 4 kali dan LED3 blink 8 kali.

Anda mungkin juga menyukai