Anda di halaman 1dari 13

LAPORAN PRAKTIKUM MIKROPROSSESOR & IOT

PEMOGRAMAN ARDUINO

Politeknik Negeri Ujung Pandang

Disusun Oleh : Ahmad Amri


3221003
2A Teknik Telekomunikasi
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 pinyang
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 nilaiHIGH
(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 kaliharus
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.

DUIN

APK-TECH | techno-apk.blogspot.com
ARE
F 1
PB5/S
PB4/MISO
CK 3
RES
~PB3/MOSI/OC2A
12 D1
ET

ATMEGA328P-PU
1121
~ PB2/SS/OC1B

DIGITAL (~PWM)
LED-
~ PB1/OC1A
PB0/ICP1/CLKO
8
R
A0 ~PD6/AIN0
A1
A2 ~ PD5/T1 1
PC0/ADC0 PD4/T0/XCK
A3
PC1/ADC1
A4 ~ PD3/INT1 2
PC2/ADC2 PD2/INT0
A5
ANALOG IN

PC3/ADC3 TX PD1/TXD
PC5/ADC5/
PC4/ADC4/SDA 1
SCL
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
PB4/MISO
~PB3/MOSI/OC2A
D2 D1
~ PB1/OC1A

ATMEGA328P-PU
1121

DIGITAL (~PWM)
ANALOG IN

R2 R1

~ PD3/INT1

Gambar 1.3 Rangkaian LED Blink dengan 2 LED

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

PB4/MISO
~PB3/MOSI/OC2A
10
~ PB1/OC1A
9 D3 D2 D1
PB0/ICP1/CLKO 8 LED-GREEN LED-YELLOW LED-RED
ATMEGA328P-PU
1121

DIGITAL (~PWM)
ANALOG IN

7
6
A0
5 R3 R2 R1
A1
A2 4 220R 220R 220R
3
A3 ~ PD3/INT1
PD2/INT0 2
A4
PC4/ADC4/SDA 1
A5
PC5/ADC5/SCL 0

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.
HASIL PERCOBAAN

1 Led, Posisi OFF

1 Led, Posisi ON
2 LED, LED 1 ON LED 2 OFF

2 LED, LED 1 OFF LED 2 ON

3 LED, LED 1 ON LED 2 OFF LED 3 OFF


3 LED, LED 1 OFF LED 2 ON LED 3 OFF

3 LED, LED 1 OFF LED 2 OFF LED 3 ON


3 LED, LED 1 KEDIP 2 KALI, LED 2 KEDIP 4 KALI, LED 3 KEDIP 8
KALI

VII. Analisis Data


Pada pemrograman arduino uno, pembagian program dbagi 2 yaitu, void loop() dan void
setup (). void setup digunakan untuk setup program dan program yang tak berulang, sedangkan oid
loop untuk program yang berulang. pada langkah 5.1 sampa 5.15 digunakan command
digitalwrite(), oin mode () dan delay(). command pin mode adalah command yang digunakan untuk
mnentukan nomor kaki arduino yang ingin dipakai dan statusnya sebagai input atau ouput.

VIII. Kesimpulan
pada pemrograman kal ini, kita mempelajari beberapa command dasar pada pemrograman
arduino yaitu command digitalwrte(), pnmode (), delay (), dan for.

Anda mungkin juga menyukai