Anda di halaman 1dari 23

PROGRAM WORKSHOP HIMPUNAN

MAHASISWA ELEKTRO IT Del

MODUL 1 PENGENALAN ARDUINO

FAKULTAS TEKNIK INFORMATIKA DAN ELEKTRO


INSTITUT TEKNOLOGI DEL
TA 2018/2019

0
MENGENAL APA ITU ARDUINO
A. Hardware Arduino
Arduino adalah sebuah rangkaian elektronik yang memiliki suatu
komponen utama chip mikrokontroler. Mikrokontroler yang disebutkan disini
adalah sebagai sebuah chip atau IC yang dapat diprogram melalui komputer.
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang
di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan
jenis AVR dari perusahaan Atmel. Tujuan dari adanya mikrokontroler untuk
membaca input dengan memprosesnya hingga menimbulkan Output.
Mikrokontroler dapat ditemukan pada berbagai alat seperti
handphone, MP3 player, DVD, televisi, AC dan masih banyak lagi. Selain itu,
mikrokontroler juga berguna sebagai pengendali robot baik mainan maupun
dalam industri.
Saat ini ada bermacam-macam bentuk papan Arduino yang disesuaikan
dengan peruntukannya seperti diperlihatkan berikut ini:
 Arduino Usb

Menggunakan USB sebagai antar muka pemrograman atau komunikasi


komputer. Contoh: Arduino Uno, Arduino Duemilanove, Arduino
Diecimila, Arduino NG Rev. C, Arduino NG (Nuova Generazione),
Arduino Extreme dan Arduino Extreme v2, Arduino USB dan Arduino
USB v2.0

1
 Arduino Serial

 Arduino Mega

 Arduino Lilypad

2
 Arduino BT

 Arduino Nano dan Mini


-

Catatan :
Dengan begitu beragamnya papan Arduino yang ada di pasaran wajar jika
seorang pemula akan kebingungan untuk menentukan tipe papan apa yang sebaiknya
digunakan. Sebagai sama- sama
- pemula yang ingin berbagi pengalaman, saya akan
menganjurkan untuk memulai de ngan tipe Uno atau Nano karena tipe papan ini paling banyak
digunakan oleh para aktivis Arduino dikarenakan banyaknya dokumentasi dari keduanya.

3
Bagian-bagian Pada Papan Arduino Uno

14 pin input/output digital (0-13)


Berfungsi sebagai input atau output, dapat diatur oleh program.
Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog
output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat
diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan 0 – 5V.
USB
Berfungsi untuk:
- Memuat program dari komputer ke dalam papan
- Komunikasi serial antara papan dan komputer
- Memberi daya listrik kepada papan
Q1 – Kristal (quartz crystal oscillator)
Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya
karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller agar
melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta
kali per detik (16MHz).
Tombol Reset SI
Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa
tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller
In-Circuit Serial Programming (ICSP)
Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung,
tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga
ICSP tidak terlalu dipakai walaupun disediakan.
IC 1 – Microcontroller Atmega
Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.
X1-Sumber daya eksternal
Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan
tegangan DC antara 9-12V
6 pin input analog(0-5)
Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog,
seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 – 1023,
dimana hal itu mewakili nilai tegangan 0 – 5V

4
B. Software Arduino IDE
IDE adalah kependekan dari Integrated Developtment Enviroenment, atau secara
bahasa mudahnya merupakan lingkungan terintegrasi yang digunakan untuk
melakukan pengembangan. Disebut sebagai lingkungan karena melalui software
inilah Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang
dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa
pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino
(Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam
melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC
mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader yang
berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler.
Arduino IDE terdiri dari:
- Editor program, sebuah window yang memungkinkan pengguna menulis
dan mengedit program dalam bahasa Processing.
- Compiler, sebuah modul yang mengubah kode program (bahasa
Processing) menjadi kode biner. Bagaimanapun sebuah microcontroller
tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh
microcontroller adalah kode biner. Itulah sebabnya compiler diperlukan
dalam hal ini.
- Uploader, sebuah modul yang memuat kode biner dari Komputer ke
dalam memory di dalam papan Arduino.
Berikut ini adalah contoh tampilan IDE Arduino dengan sebuah sketch yang
sedang diedit.

5
MENGENAL PEMROGRAMAN ARDUINO
A. Dasar Teori
Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang
harus ada.
1. void setup( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali
ketika program Arduino dijalankan untuk pertama kalinya.
2. void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai.
Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi
secara terus menerus sampai catu daya (power) dilepaskan.
Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
1. //(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 kita ketikkan dibelakangnya akan diabaikan oleh program.
2. /* */(komentar banyak baris)
Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada
beberapa baris sebagai komentar. Semua hal yang terletak di antara dua
simbol tersebut akan diabaikan oleh program.
3. { }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir
(digunakan juga pada fungsi dan pengulangan).
4. (titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik
koma yang hilang maka program tidak akan bisa dijalankan).

6
Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk
memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan
untuk memindahkannya.
1. int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak
mempunyai angkadesimal dan menyimpan nilai dari -32,768 dan 32,767.
2. long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit)
dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan
2,147,483,647.
3. boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar)
atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari
RAM.
4. float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit)
dari RAM dan mempunyai rentang dari -3.4028235E+38 dan
3.4028235E+38.
5. char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65).
Hanya memakai 1 byte (8 bit) dari RAM.
Operator matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika
yang sederhana).
1. = Membuat sesuatu menjadi sama dengan nilai yang lain
(misalnya: x = 10 *2, x sekarang sama dengan 20).
2. % Menghasilkan sisa dari hasil pembagian suatu angka dengan angka
yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).
3. + Penjumlahan
4. – Pengurangan
5. * Perkalian
6. / Pembagian

7
Operator Pembanding
Digunakan untuk membandingkan nilai logika.
1. ==
Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12
adalah TRUEv(benar))

2. !=
Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12
!= 12 adalah FALSE (salah))

3. <
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12
adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))

4. >
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12
adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya,
berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari
di internet).
1. if..else, dengan format seperti berikut ini:

if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas 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++) { }
Digunakan bila anda ingin melakukan pengulangan kode di dalam
kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah
pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan
i++ atau ke bawah dengan i–.

8
Digital
1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor
pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode
yang bisa digunakan adalah INPUT atau OUTPUT.

2. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat
dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan
menjadi ground).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat
menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah
HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di
dalam analog. Berikut ini cara untuk menghadapi hal yang bukan digital.
1. analogWrite(pin, value)
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)
Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca
keluaran voltasenya. Keluarannya berupa angka antara 0 (untuk 0 volts)
dan 1024 (untuk 5 volts).

9
B. Implementasi
Project LED

1. Blink (flip-flop)

void setup() {
// inisialisasi pin 13 digital sebagai output.
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // led HIDUP
delay(1000); // waktu tunda 1000 ms
digitalWrite(13, LOW); // led MATI
delay(1000); // waktu tunda 1000 ms
}

2. Fade (meredup)
int led = 9; // inisialisasi pin 9 = “led”
int brightness = 0; // nilai awal kecerahan
int fadeAmount = 5; // nilai tambah

void setup() {
pinMode(led, OUTPUT); // inisialisasi “led” sebagai output
}
void loop() {
// set nilai pada “led”
analogWrite(led, brightness);
// penambahan nilai kecerahan setiap kali looping
brightness = brightness + fadeAmount;
// Ubah penambahan menjadi pengurangan jika nilai sudah full
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
delay(30); // waktu tunda
}

10
C. Instalasi driver Software Arduino
Menginstall Sofware Arduino
File instalasi software Arduino dapat diperoleh pada alamat situs web di bawah ini yang
tersedia untuk sistem operasi Windows, Mac dan Linux:
http://arduino.cc/en/Main/Software
File instalasi ini berbentuk kompresi. Untuk menjalankan software-software Arduino maka
file tersebut harus diekstrak ke dalam sebuah direktori. Beberapa software Arduino ditulis
menggunakan bahasa pemrograman Java termasuk IDE-nya, sehingga ia tidak perlu diinstal
seperti software pada umumnya tapi dapat langsung dijalankan selama komputer Anda telah
terinstall Java runtime. IDE ini bisa langsung digunakan untuk membuat program namun
untuk saat ini belum bisa dipakai untuk berkomunikasi dengan papan Arduino karena driver
harus diinstal terlebih dahulu.
Menginstall Driver USB Pada Windows XP
Pada topik ini akan dijelaskan langkah-langkah instalasi driver USB pada Windows XP.
1. Sambungkan papan Arduino dengan sebuah komputer melalui kabel USB.
2. Dengan segera komputer akan mendeteksi kehadiran sebuah perangkat baru yang
belum ia kenal dan Windows akan menampilkan sebuah window wizard seperti berikut
ini.

Jawab dengan “No, not this time” dan tekan Next.


3. Wizard akan mencari software driver untuk perangkat tersebut. Silakan menjawab
dengan “Install from a list or specific location (Advance)”. Lanjutkan dengan Next.

11
4. Tentukan lokasi dimana software Arduino ditempatkan pada komputer, pada contoh
gambar di bawah ini adalah C:\arduino-0022. Silakan sesuaikan lokasinya sesuai
dengan hasil ekstrak software Arduino pada komputer Anda. Di dalam lokasi tersebut
terdapat sebuah direktori bernama drivers, arahkan wizard untuk mencari driver di
dalam direktori tersebut.

Klik Next untuk melanjutkan. Jika muncul sebuah window peringatan seperti di bawah
ini, jawab dengan “Continue Anyway”.

12
5. Jika driver Arduino selesai diinstal pada komputer maka pada akhir proses akan tampil
sebuah pesan berhasil seperti berikut ini.

Tekan Finish untuk menutup wizard. Driver telah berhasil diinstal.


Menginstall Driver USB Pada Windows 7
Pada topik ini akan dijelaskan langkah-langkah instalasi driver USB pada Windows 7.
1. Sambungkan papan Arduino dengan sebuah komputer melalui kabel USB. Umumnya
Windows tidak bereaksi apa-apa saat papan Arduino telah terhubung walaupun
sebetulnya Windows telah mendeteksi kehadiran sebuah perangkat baru. Untuk
memulai instalasi driver, silakan menjalankan program Control Panel kemudian
memilih “View devices and printers”.

13
2. Papan Arduino akan tampak pada daftar perangkat namun karena ia belum
dikonfigurasi dengan benar maka ia akan muncul di daftar unspecified dan di dekatnya
tampak sebuah lambang peringatan (segitiga kuning dengan tanda seru) yang artinya
perangkat ini belum bekerja dengan benar.

Klik kanan pada icon Arduino kemudian pilih menu Properties.


3. Pada tab Hardware klik tombol Properties.

14
4. Muncul sebuah window baru. Pada tab General klik tombol “Change settings”.

5. Pada tab yang sama, klik tombol “Update Driver”.

15
6. Klik “Browse my computer for driver software” untuk menentukan sendiri lokasi
driver Arduino.

7. Tentukan lokasi dimana software Arduino ditempatkan pada komputer, pada contoh
gambar di bawah ini adalah C:\Arduino\arduino-0022. Silakan sesuaikan lokasinya
sesuai dengan hasil ekstrak software Arduino pada komputer Anda. Di dalam lokasi
tersebut terdapat sebuah direktori bernama drivers, arahkan untuk mencari driver di
dalam direktori tersebut.

16
Klik Next untuk melanjutkan. Jika muncul sebuah window peringatan seperti di bawah
ini, jawab dengan “Install this driver software anyway”.

8. Jika driver Arduino selesai diinstal pada komputer maka pada akhir proses akan tampil
sebuah pesan berhasil seperti berikut ini.

17
9. Jika Anda kembali ke Control Panel maka tampak gambar segita kuning telah hilang
dan Windows telah dapat mengenal papan Arduino.

Menguji Koneksi Komputer dan Papan Arduino


Sekalipun sebuah papan Arduino dapat bekerja dengan mendapat asupan daya dari sebuah
komputer, namun hal itu tidak berarti ia dapat berkomunikasi dengan komputer tersebut. Untuk
memastikan Arduino telah terpasang dengan benar dan dapat berkomuniasi dengan interaktif
maka ia perlu diuji.

18
1. Jalankan IDE Arduino dengan menjalankan sebuah file bernama arduino.exe pada
lokasi software Arduino.

Walaupun tampak seperti program Windows pada umumnya, namun sebetulnya


program ini adalah sebuah program Java. Jika Anda menemukan sebuah pesan
kesalahan kemungkinan besar pada komputer belum terinstal Java Runtime
Environment (JRE) atau Java Development Kit (JDK). Untuk mendapatkan salah satu
software tersebut, silakan men-download-nya dari situs web http://www.oracle.com.
2. Jalankan menu Tools>Board kemudian pilih tipe papan yang sesuai.

3. Jalankan menu File>Examples>1.Basic>Blink. Ini adalah program sederhana yang


fungsinya adalah membuat lampu LED menyala berkedip-kedip seperti yang telah
dijelaskan sebelumnya.

19
/*
Blink
Turns on an LED on for one second, then off for one second,
repeatedly.

This example code is in the public domain.


*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
} void loop() { digitalWrite(13, HIGH); //
set the LED on delay(1000); //
wait for a second digitalWrite(13, LOW);
// set the LED off delay(1000);
// wait for a second
}
Tidak perlu kuatir jika Anda kurang memahami cara kerja sketch di atas karena kita
akan belajar bahasa pemrograman Processing pada pembahasan tersebut nanti. Untuk
saat ini cukup perhatikan baris-baris yang ditandai. Bagian itu adalah perintah untuk
menunda aliran program selama satu detik (1000 mili detik). Jadi bila lampu LED
diperintahkan menyala pada baris sebelumnya, maka dengan perintah delay() lampu itu
akan bertahan menyala selama satu detik sebelum ia diperintahkan untuk padam pada
baris berikutnya.
Silakan mengubah kedua angka 1000 itu menjadi 200 agar interval nyala-padam
menjadi lebih pendek.
4. Pada toolbar klik tombol Upload untuk memuat sketch tersebut ke dalam papan
Arduino.

Jika Anda cukup beruntung maka sketch akan dimuat, ditandai dengan pesan berhasil
seperti di bawah ini.

Namun jika kurang beruntung (seperti pada kebanyakan kasus umumnya) maka akan
muncul pesan kesalahan seperti berikut.

20
Walaupun pesan itu tidak cukup jelas menjelaskan apa masalahnya, tapi umumnya
karena IDE belum dikonfigur dengan benar sehingga komputer dan papan Arduino
tidak dapat berkomunikasi.
Solusinya cukup mudah, yaitu cukup mengganti pilihan serial port melalui menu
Tools>Serial Port. Jika Anda tidak yakin pada port nomor berapa papan Arduino itu
terhubung, coba pilih sebuah nomor port lalu jalankan upload seperti langkah
sebelumnya. Jika pesan kesalahan masih muncul, ganti nomor port-nya dan lakukan
berulang-ulang sampai upload berhasil.

Saat sketch yang sudah dimodifikasi tersebut berhasil dimuat ke dalam papan Arduino
maka tampak lampu LED menyala dan padam dengan frekuensi yang lebih cepat.
Silakan lakukan eksperimen sendiri misalnya menambah delay dan lihat apa yang
terjadi.
Bagian ini menutup pembahasan tentang pengenalan Arduino. Walaupun cukup pendek namun
saya berharap artikel ini memberi pengertian yang jelas kepada para pembaca, membuka
wawasan dan visi mengenai potensi besar dari platform ini serta membangkitkan rasa antusias
untuk memulai perjalanan panjang dan berpetualang bersama Arduino.

21
REFERENSI:
[1] Arduino, http://www.arduino.cc
[2] Banzi, Massimo. “Gettting Started with Arduino”. O’Reilly. 2008
[3] Physical computing , http://en.wikipedia.org/wiki/Physical_computing
[4] Modul SisTan D3 Teknik Komputer IT Del 2017/2018
[5]https://www.academia.edu/32242981/PENGENALAN_ARDUINO
[6]https://drive.google.com/file/d/0B6fdcQncxbwLVZTakRHSklkRzg/view

22

Anda mungkin juga menyukai