You are on page 1of 10

Pengenalan dan Pemrograman Sistem Arduino

I. Tujuan :
1. Mengetahui kegunaan sistem Arduino
2. Memahami cara memprogram kit Arduino

II. Teori :
Arduino adalah papan sirkuit (circuit board) yang dapat diprogram dan merupakan
sistem yang open source. Sistem perangkat kerasnya terdiri dari sebuah mikrokontroler
yang dapat diprogram untuk mengukur dan mengatur obyek. Pengukuran parameter suatu
obyek dilakukan dengan memasang perangkat sensor pada pin masukan Arduino,
sedangkan pengaturan obyek dilakukan dengan menghubungkan beban yang diatur pada
pin output Arduino.
Karena mempunyai kapasitas tegangan dan arus keluaran yang rendah (5V atau
3,3V, 20 mA), sebuah pin output Arduino hanya mampu mengendalikan lampu LED.
Untuk dapat mengendalikan beban motor atau lampu bertegangan tinggi, misalnya 220 V,
dan berarus besar, misalnya 1 hingga 5 A, maka diperlukan rangkaian driver yang dapat
berupa relay, kontaktor, transistor, atau komponen-komponen elektronika daya seperti
SCR, TRIAC, IGBT, dan lainnya.
Arduino mempunyai beberapa jenis board, diantaranya adalah Arduino Uno, Nano,
Mini, dan lain sebagainya sebagaimana ditunjukkan dalam Gambar 1. Masing-masing
board mempunyai spesifikasi tersendiri. Jenis mikrokontroler yang terdapat pada tiap
board bisa berbeda satu dengan lainnya.

Gambar 1. Jenis-jenis board Arduino


Sumber : elprocus.com

Pengenalan dan Pemrograman Sistem Arduino 1


Karena merupakan system yang open source, selain board asli yang diproduksi oleh
perusahaan produsen Arduino, board sejenis juga diproduksi oleh perusahaan-perusahaan
lain. Board-board inilah yang cukup mudah diperoleh di pasaran.
Untuk memprogram board Arduino diperlukan perangkat lunak pemrograman
Arduino yang dapat didownload dengan gratis di website resmi Arduino
https://arduino.cc. Perangkat lunak ini merupakan jenis integrated development
environment (IDE) yang menyediakan berbagai fasilitas pemrograman termasuk editing,
compiling, dan uploading. Maka, mulai dari pembuatan hingga pengunggahan program
dapat dilakukan oleh perangkat lunak ini. Bahasa pemrograman yang digunakan adlah
Bahasa C++.

III. Alat Percobaan :


 Komputer atau Laptop
 Board Arduino Uno
 Kabel USB

IV. Langkah Percobaan :


1. Jalankan program Arduino IDE hingga muncul tampilan editor seperti dalam
Gambar 2.

Gambar 2 Tampilan layar Arduino IDE

Pengenalan dan Pemrograman Sistem Arduino 2


Pada layar bagian pojok kiri atas terdapat lima menu yaitu: File, Edit, Tools,
Sketch, dan Help. Menu-menu tersebut akan dibahas dan digunakan dalam
bagian-bagian berikut.

Selain itu, juga tampak bahwa software IDE sudah menyiapkan sebuah file baru
yang nama default-nya sesuai dengan tanggal file dibuat. Contohnya,
sketch_feb05a menunjukkan bahwa file dibuat pada tanggal 5 Pebruari. Nama file
ini bisa diganti dengan nama file yang diinginkan. Yang perlu diketahui, nama file
tidak boleh mengandung spasi. File yang dibuat akan disimpan dengan nama
ekstensi INO. Untuk membuat ciri khas pada elemen-elemen sistemnya, Arduino
mempunyai istilah-istilah khusus. Istilah untuk file program yang dibuat untuk
diupload ke dalam board Arduino adalah SKETCH.

Sebuah sketch biasanya mempunyai dua function. Yang pertama adalah setup( )
dan yang kedua adalah loop ( ). Function setup( ) adalah tempat di mana perintah-
perintah pengesetan diletakkan. Sementara itu, fungsi loop( ) berisi perintah-
perintah yang secara terus-menerus dijalankan oleh Arduino.

2. Bukalah menu File dengan mengarahkan pointer pada menu File dan melakukan
klik. Maka tampilan editor pada layar seperti yang ditunjukkan pada Gambar 3.

Gambar 3. Tampilan Submenu dari menu File

Pengenalan dan Pemrograman Sistem Arduino 3


Tampak bahwa submenu dari menu File terdiri dari New hingga Quit. Cara
memakai submenu-submenu ini serupa dengan penggunaannya pada software-
software lain.

Dari sekian submenu terdapat submenu Sketchbook dan Examples yang


merupakan submenu spesifik dari IDE Arduino. Saat pointer diarahkan pada
Sketchbook, maka akan diperlihatkan daftar sketch yang pernah kita buat,
sementara Examples menampilkan contoh-contoh sketch yang diberikan oleh
library-library yang pernah digabungkan.

Sebagai permulaan, lakukan klik pada File, arahkan pointer pada Examples,
kemudian arahkan pada 01.Basics, dan pilih/klik Blink. Maka pada editor muncul
sebuah sketch dengan nama Blink dengan isi program sebagai berikut:

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever


void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Dalam function setup( ), perintah pinMode( ) melakukan inisialisasi pin Arduino


yang telah didefinisikan sebagai LED_BUILTIN untuk menjadi OUTPUT/
keluaran. Pada board Arduino, LED_BUILTIN sering digunakan sebagai lampu
test.

Perintah digitalWrite( ) akan menyebabkan pin keluaran mempunyai logika 1 atau


0 tergantung dari parameter yang diberikan. Dengan menggunakan perintah
digitalWrite(LED_BUILTIN, HIGH);

Pengenalan dan Pemrograman Sistem Arduino 4


pin Arduino menjadi berlogika 1, sehingga lampu LED yang terhubung pada pin
akan menyala. Sebaliknya, dengan menggunakan perintah:
digitalWrite(LED_BUILTIN, LOW);

maka lampu LED akan mati.

3. Setelah dibuat, sketch harus di-compile sebelum di-upload ke mikrokontroler.


Namun sebelum melakukan kedua proses tersebut, jenis board Arduino dan port
USB yang digunakan harus diperiksa dahulu kesesuaiannya. Caranya adalah
dengan menggunakan menu Tools. Di dalamnya terdapat submenu Board dan
Port. Pilihkan jenis board Arduino sesuai dengan yang sedang digunakan. Untuk
port, pilihlah port yang biasanya sudah ditandai oleh IDE Arduino untuk
digunakan mengunduh program.

4. Setelah board dan port dipilih, lanjutkan dengan proses compile dan upload.
Kedua proses ini dilakukan dengan menggunakan submenu dalam menu Sketch.
Untuk membuka fasilitas di dalamnya, lakukan klik pada Sketch. Saat di-klik,
tampilan pada IDE Arduino akan muncul seperti dalam Gambar 4.

Gambar 4. Tampilan IDE untuk menu Sketch

Proses compile, yang mengubah baris program dalam sketch menjadi Bahasa
mesin, dilakukan dengan memilih/klik pada menu Verify/Compile. Kemudian,
langkah selanjutnya adalah mengunduh program ke dalam mikrokontroler dengan

Pengenalan dan Pemrograman Sistem Arduino 5


menggunakan Upload atau Upload Using Programmer. Kedua proses ini juga
dapat dilakukan dengan melakukan klik pada tanda centang dan panah ke samping
yang ada pada menu visual.

Saat perintah Upload dijalankan/di-klik, proses uploading dilakukan. Jika proses


upload berlangsung lancar dan benar, maka terdapat pesan “Done uploading”.
Pada saat itu, mikrokontroler telah mulai bekerja mengeksekusi perintah dalam
program. Tetapi jika proses uploading tidak berhasil, periksa kemungkinan
kesalahan yang terjadi dan betulkan.

5. Sekarang, lakukan beberapa langkah percobaan berikut. Tuliskan hasilnya sebagai


data hasil percobaan. Berikan analisa tentang hasil percobaan.

6. Gantilah parameter delay pertama dengan 500. Jelaskan apa yang terjadi.

7. Ganti lagi dengan 2000. Jelaskan apa yang terjadi.

8. Gantilah parameter delay kedua dengan 500. Jelaskan apa yang terjadi.

9. Ganti lagi dengan 2000. Jelaskan juga apa yang terjadi.

10. Buatlah program yang menyebabkan periode kedip lampu LED semakin lama
semakin panjang. Beri penjelasan tentang program uang dibuat.

11. Buatlah program yang menyebabkan periode kedip lampu LED semakin lama
semakin pendek. Beri penjelasan tentang program yang dibuat.

12. Buatlah program lain yang lebih menarik. Tunjukkan hasilnya pada instruktur
laboratorium. Beri penjelasan tentang program yang dibuat.

Pengenalan dan Pemrograman Sistem Arduino 6


V. Data Hasil Percobaan dan Analisa :

1. Pada percobaan pertama untuk melihat hasil dari LED BUILTIN pada papan
Arduino Uno, pada digitalWrite (LED_BUILTIN, HIGH) yang menandakan
Lampu LED pada Arduino akan menyala, delay di ganti dengan 500ms,
sedangkan pada digitalWrite (LED_BUILTIN, LOW) yang menandakan Lampu
LED akan mati, delay tetap dengan 1000ms, hal ini menyebabkan pada saat LED
menyala akan lebih cepat dari pada saat LED mati dikarenakan time delay yang
diberikan pada saat HIGH lebih kecil dari pada saat LOW.
2. Pada percobaan kedua untuk melihat hasil dari LED BUILTIN pada papan
Arduino Uno, pada percobaan ini pada digitalWrite (LED_BUILTIN, HIGH) yang
menandakan Lampu LED menyala, di ganti dengan 2000ms, sedangkan
(LED_BUILTIN, LOW) yang menandakan lampu LED akan mati delay di setting
sama yaitu tetap 1000ms, hal ini menyebakan perbedaan pada percobaan pertama
di karenakan pada saat LED menyala akan lebih lama dari pada saat LED mati
dikarenakan time delay yang diberikan pada saat HIGH lebih besar dari pada saat
LOW.
3. Pada percobaan ketiga pada digitalWrite (LED_BUILTIN, HIGH) yang
menandakan lampu LED menyala, tetap di setting dengan 2000ms, sedangkan
(LED_BUILTIN, LOW) yang menandakan lampu LED akan mati delay diganti
dengan 500ms, ini menyababkan persamaan pada percobaan kedua yang
menyebabkan pada saat LED menyala akan lebih lama dari pada saat LED mati
yang membedakan dengan percobaan ketiga dengan percobaan kedua yaitu
percobaan ketiga pada saat LED mati akan pergantian ke nyala lebih cepat di
karenakan time delay pada saat LOW yaitu 500ms lebih kecil dari pada percobaan
kedua.
4. Pada percobaan keempat pada digitalWrite (LED_BUILTIN) HIGH dan LOW
time delay di setting sama yaitu 2000ms, hal ini menyebabkan lampu LED pada
time delay saat hidup dan mati akan sama.
5. Pada percobaan kelima menyetting dan menambah beberapa program untuk
membuat kedip lampu semakin panjang semakin lama, dengan manembahkan
timedelay yang berfungsi membuat waktu tunda kedip lampu, dan dimana
timedelay di setting pertama dengan nilai = 0 dengan ditambahkan dengan
program rumus matematika timedelay = timedelay + 100 sehingga waktu kedip

Pengenalan dan Pemrograman Sistem Arduino 7


yang di hasilkan lampu dari cepat menjadi lambat, tetapi jumlah timedelay di
batasi sampai dengan 1000 artinya nilai timedelay telah mencapai 1000 tereset
kembali ke awal atau 0 lagi.

6. Pada percobaan keenam Untuk mendapatkan lampu led yang berkedip semakin
lama semakin pendek, maka perlu menambahkan program yang berbeda dengan
parameter pada periode delaynya disetting awal (1000) . Pada parameter delay
awal disetting dengan delay pertama dan kedua bilangan besar yaitu (1000).
Kemudian lampu semakin lama semakin menurun dan berkurang (100) dan akan
terus menurun hingga delay bernilai (0). Sehingga dapat disimpulkan periode
kedipan lampu led yang awalnya panjang semakin lama akan berubah menjadi
semakin lebih pendek.

Pengenalan dan Pemrograman Sistem Arduino 8


7. Pada percobaan ketujuh dengan program yang dibuat yaitu LED_BUILTIN untuk
mengetahui HIGH dan LOW dengan menggunakan perintah FOR menentukan
jumlah pengulangan lampu LED hidup dan mati dengan dua perintah FOR. FOR
pertama perulangan sebanyak 8 kali dengan LED hidup mati dengan 200 ms,
digitalWrite(LED_BUILTIN) HIGH dan LOW dengan time delay 100ms. Dan
FOR kedua perulangan sebanyak 10 kali dengan durasi LED hidup mati sama
yaitu 200ms , dengan digitalWrite(LED_BUILTIN) HIGH dan LOW dengan
timeDelay 500ms. Dan selanjutnya ditambahkan LED diam selama 3 detik.
Jadi cara kerja program ini yaitu LED pertama akan kedip dengan pengulangan 8
kali yang dilanjutkan LED kedua akan kedip dengan pengulangan 10 kali dengan
time delay lebih lama dari pada LED time delay yang pertama setelah selesai
lampu LED akan mati selama 3 detik.

Pengenalan dan Pemrograman Sistem Arduino 9


VI. Kesimpulan :
1. Fungsi dari perintah digital Write High sebagai setting lampu led menyala atau pin
arduino berlogika 1, dan perintah dari digital Write Low untuk mematikan lampu led
atau pin arduino berlogika 0. Penyettingan ini dapat dilakukan sesuai dengan
keinginan. Dimana untuk mendapatkan lampu led yang menyala lebih lama maka
setting pada nilai High lebih besar dibandingkan nilai Low. Begitu pula sebaliknya.
2. Untuk mendapatkan nyala (kedip) lampu led semakin lama semakin panjang dan
sebaliknya maka perlu dilakukan penambahan program dengan penambahan setting
delay yang dibutuhkan.

Pengenalan dan Pemrograman Sistem Arduino 10