0% menganggap dokumen ini bermanfaat (0 suara)
63 tayangan8 halaman

Modul 2 Pemrograman Arduino

Dokumen tersebut membahas tentang pemrograman Arduino dengan bahasa C. Secara garis besar dibahas struktur program Arduino yang terdiri atas fungsi setup dan loop, tipe data dan operator yang digunakan, serta cara menggunakan pin digital dan analog Arduino untuk membuat aplikasi sederhana seperti LED blink.

Diunggah oleh

adrian
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
63 tayangan8 halaman

Modul 2 Pemrograman Arduino

Dokumen tersebut membahas tentang pemrograman Arduino dengan bahasa C. Secara garis besar dibahas struktur program Arduino yang terdiri atas fungsi setup dan loop, tipe data dan operator yang digunakan, serta cara menggunakan pin digital dan analog Arduino untuk membuat aplikasi sederhana seperti LED blink.

Diunggah oleh

adrian
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

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 220R
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
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 ~ PD6/AIN0
6 R2 R1
PC0/ADC0 5 220R 220R
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 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
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
~ PB1/OC1A
9 D3 D2 D1
8 LED-GREEN LED-YELLOW LED-RED
PB0/ICP1/CLKO
ATMEGA328P-PU
1121

DIGITAL (~PWM)

7
ANALOG IN

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