Anda di halaman 1dari 7

BBROBOTINDONESIA

PANDUAN PRAKTIKUM
DASAR ARDUINO

www.BELAJARBIKINROBOT.WEEBLY.com
Praktikum 1 Belajar Arduino
Blink LED

Blinking LED adalah pelajaran pemrograman yang paling sederhana dari pelajaran pemrograman Arduino.
Seperti halnya mempelajari bahasa pemrograman baru, maka pelajaran pertama yang biasa kita dapatkan
adalah pelajaran yang berjudul "Hello World" -- nah, blinking LED inilah "Hello World"nya pelajaran
pemrograman Arduino.

Agak sedikit berbeda memang, dengan saat kita mempelajari jenis bahasa pemrograman lainnya. Karna pada
pemrograman Arduino, kita akan menanamkan program tersebut kedalam board arduino yang akan
mengeksekusi sebuah aksi yang real. Misalnya, menyalakan dan memadamkan lampu, memutar motor dc, dan
aksi-aksi lainnya. Dalam praktikum ini, aksi yang akan dilakukan yaitu, membuat sebuah led berkedap-kedip,
atau dalam bahasa Inggrisnya disebut Blinkingitulah mengapa judul dari praktikum pertama ini adalah Blink
LED.

Komponen yang Dibutuhkan

Arduino Uno 1x Protoboard 1x LED5mm 1x Resistor 330--1kOhm 1x Kabel Jumper Male 2x

Langkah-Langkah Praktikum
Susunlah komponen-komponen praktikum seperti gambar di atas, caranya :

1. hubungkanlah kaki + Anoda LED ke Pin 13 Arduino menggunakan kabel jumper Male (warna kuning, saya
gunakan untuk membedakan saja. Bisa menggunakan warna apa saja)

2. hubungkan kaki - Katoda LED dengan kaki 1 Resistor (resistor tidak ada kaki + atau - nya).

3. hubungkan kaki 2 Resistor dengan Pin Gnd Arduino menggunakan kabel jumper Male (warna hitam, biasa
digunakan untuk Gnd atau 0 Volt. Sedangkan Merah, biasa digunakan untuk Voltase +).

4. hubungkan board Arduino Uno dengan Komputer menggunakan kabel USB.

5. Bukalah IDE Arduino, kemudian ketikkan kode program/sketch berikut:

int lampuLED = 13;

void setup()
{
pinMode(lampuLED, OUTPUT);
}

void loop()
{
digitalWrite(lampuLED, HIGH);

delay (1000);

digitalWrite(lampuLED, LOW);

delay (1000);
}

6. compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk mengecek ada atau tidaknya
error/kesalahan dalam pengetikan.

7. upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau tekan tombol tanda panah
pada jendela IDE arduino.

Amati hasilnya. Jika program yang anda ketikkan benar maka, hasilnya adalah LED akan berkelap-kelip dengan
durasi nyala 1 detik, kemudian padam 1 detik dan terus berulang-ulang.

Diskusi dan Pembahasan Sketch

Baiklah, kali ini saya akan mencoba menjelaskan alur program/sketch yang tadi sudah diketikkan, dicompile
dan di Upload ke arduino. Silahkan perhatikan kembali program/sketch yang tadi sudah kita ketikkan untuk
kita bahas baris per baris.
Blok Pertama

Blok pertama dari kode sketch di atas adalah, mendeklarasikan variable dan meng-inisialisasikannya. Pada
praktikum kali ini, hanya ada satu variable -- yaitu variable "lampuLED". Variable lampuLED ini, kita
deklarasikan dan inisialisasikan pada satu baris. Seperti pada kode berikut,

int lampuLED = 13;

Pada contoh deklarasi dan inisialisasi variable di atas, kita mendeklarasikan dan menginisialisasi variabel
dengan pernyataan tunggal. Sebenarnya, deklarasi dan inisialisasi variable itu terpisah. Contohnya seperti
berikut,

Contoh deklarasi: int lampuLED; dan contoh inisialisasi: lampuLED = 13;

Jika kita jadikan dalam satu baris pernyataan tunggal, maka deklarasi dan inisialisasi variable terpisah di atas
dapat menjadi int lampuLED = 13;. Hal ini dilakukan sekedar untuk mempersingkat proses pemrogramannya
saja.

Variable pada dasarnya dapat kita analogikan seperti sebuah keranjang. Fungsinya adalah untuk menampung
sesuatu. Ada beberapa jenis tipe data yang dapat kita simpan pada variable, dan kebetulan kali ini, tipe data
yang disimpan adalah integer (bilangan bulat).

Untuk lebih jelasnya, kode di atas tersebut menyatakan bahwa kita membuat sebuah keranjang variable yang
kita beri nama keranjang variable lampuLED, dan kemudian menyimpan sebuah nilai integer (bilangan
bulat) kedalam keranjang variable lampuLED tersebutyang kebetulan, dalam praktikum ini nilai yang
disimpan adalah angka ajaib 13. Hehehe.. :D

Blok Kedua

Blok kedua pada praktikum kita kali ini adalah bagian program atau sketch yang disebut blok routine setup().
Blok routine setup() ini adalah blok routine yang kita gunakan untuk meletakkan kode program, untuk
mengatur mode dan berbagai pengaturan awal program lainnya. Biasanya, kode program yang diletakkan
pada blok setup() ini adalah kode program yang hanya perlu dieksekusi satu kali saja setiap program Arduino
dijalankan atau direset. Beberapa hal yang di atur di sini misalnya, mengatur pin digital arduino menjadi
Inputatau sebaliknya, menjadi Output, mengatur komunikasi serial, dan pengaturan lainnya. Baiklah,
silahkan perhatikan kode program yang ada pada routine setup() kita pada praktikum kali ini.

void setup ( )
{

pinMode ( lampuLED , OUTPUT ) ;

Ingat bahwa routine setup() akan Anda temui hampir pada setiap sketch Arduino. Kode program yang ada di
antara kurawal buka { dan kurung kurawal tutup } pada routine setup() ini, hanya akan dieksekusi sekali
yaitu, saat program pertama kali dijalankan atau direset.

Pada praktikum ini, kita menulis fungsi pinMode () pada routine setup ini. pinMode () adalah fungsi yang
sangat penting untuk kita pahami. Sebelumnya, kita ketahui bersama dahulu bahwa fungsi membutuhkan apa
yang disebut dengan parametert atau parameter. Nah, fungsi pinMode () ini, membutuhkan dua parameter --
fungsi ini membutuhkan setidaknya 2 parameter yaitu, pertama, pin berapa yang digunakan? ", dan kedua "
untuk apa pin tersebut digunakan? ".

Parameter yang dibutuhkan yaitu nomor pin pada Arduino. Nomor pin pada Arduino adalah 1 sampai 13 untuk
pin digital, dan A0 sampai A5 untuk pin analog. Selanjutnya parameter yang kedua adalah modenya, apakah
menjadi INPUT? misalnya untuk membaca nilai sensor -- atau menjadi OUTPUT? misalnya menyalakan LED
atau memutar motor DC dll.

Jadi, dalam contoh ini, kita mengatur mode pin 13 sebagai OUTPUT , karena kita ingin menyalakan LED yang
sudah kita hubungkan ke pin 13 ini -- coba lihat gambar susunan komponen praktikum. kaki + (positif) LED kita
hubungkan ke pin 13 bukan?!

Blok Ketiga

Blok terakhir dari sketch pada praktikum kita kali ini yaitu, routine loop (). Berikut ini adalah kode programnya.

void loop ( )
{
//membuka routine loop menggunakan kurung kurawal buka

digitalWrite ( lampuLED , HIGH);


/ / menyalakan LED ( HIGH ini artinya kita memberikan tegangan 5 Volt pada pin lampuLED )

delay (1000 ) ;
/ / mendelay program selama 1000 milidetik

digitalWrite ( lampuLED , LOW ) ;


/ / memadamkan LED (LOW ini artinya kita memberikan tegangan 0 Volt / Gnd ke pin lampuLED)

delay (1000 ) ;
/ / mendelay program selama 1000 milidetik

}
//menutup routine loop menggunakan kurung kurawal tutup

Perlu di catat, bahwa kode program yang ada di dalam routine loop () ini adalah kode program yang akan
dieksekusi berulang-ulang dan terus-menerus selama Arduino tidak kita lepaskan dari sumber listriknya. Itulah,
mengapa pada routine inilah, kita biasanya meletakkan program utama yang mengatur aksi-aksi yang kita
inginkan. Dan dalam routine loop() pada praktikum kita kali ini, kita memasukkan dua fungsi yaitu
fungsi digitalWrite() dan fungsi delay().

Fungsi digitalWrite () ini, kita gunakan untuk menetukan apakah akan memberikan nilai
tegangan HIGH atauLOW ke pin yang kita inginkan. HIGH artinya, menghubungkan pin ke tegangan 5 Volt,
sehingga arus dapat mengalir dari kaki + (positif) LED ke Gnd Arduino dan membentuk rangkaian tertutup
( LED pun menyala karna arus listrik dapat mengalir ).

Sedangkan LOW artinya, menghubungkan pin ke tegangan 0 Volt atau Gnd (Ground), sehingga tidak ada arus
yang mengalir karna, baik kaki + (positif) LED ataupun kaki (negative) LED memiliki tegangan yang sama,
yaitu sama-sama 0 Volt / Gnd ( LED padam karana tidak ada arus listrik yang mengalir).

Fungsi digitalWrite( ) ini membutuhkan setidaknya dua parameter, yang pertama adalah " pada pin mana akan
diterapkan outputnya? " dan parameter yang kedua adalah " apakah tegangan yang akan diberikan? --
HIGH atau LOW seperti yang sudah kita bahas di atas.

digitalWrite ( lampuLED , HIGH);


/ * menghubungkan pin yang bernama " lampuLED/ pin 13 ingat kita sudah mendeklarasikan lampuLED itu adalah pin 13 pada Blok
pertama? " dengan tegangan 5 Volt ( Led menyala) */

Kita memulai kode program di dalam routine loop( ) dengan memberikan nilai HIGH ke pin 13, dimana LED kita
pasangkan. Perhatikan di sini, kita tidak secara eksplisit menyebutkan pin 13 pada fungsi digitalWrite(), tetapi
kita mengacu pada variable " lampuLED ", yang sebelumnya kita telah inisialisasikan dengan nilai 13.

Inilah keuntungan dari menggunakan Variable bukankah kita dapat lebih mudah mengingat kata
" lampuLED " dari pada menginat nomor " pin 13 "?.

Bayangkan, jika Anda menggunakan seluruh pin digital untuk berbagai macam output yang berbeda. Jika tidak
menggunakan variable, kita akan kesulitan mengingat pin nomor berapa yang digunakan LED, pin nomor
berapa yang digunakan motor servo, dan pin nomor berapa lagi yang digunakan oleh jenis-jenis komponen
output yang lainnya.

Oke, kita kembali fokus ke kode program digitalWrite ( lampuLED , HIGH); . Kode program ini, membuat LED
kita menyala -- karna kita memberikannya tegangan 5 Volt atau logika HIGH ke pin 13 melalui kode program
tersebut.

Hal selanjutnya yang kita lakukan pada kode program adalah mendelay atau menunda jalannya program.
Sehingga, kita dapat menikmati nyala LED ini beberapa saat. Untuk melakukan hal itu, kita menggunakan
sebuah fungsi yang disebut fungsi delay( ).

Fungsi delay ( ) ini membutuhkan satu parameter -- Parameter yang dibutuhkan yaitu " Berapa lama kita
mendelay program ? catat, dalam hal ini satuannya dalam milidetik. Dalam kasus ini, kita menggunakan 1000
milidetik atau dengan kata lain, jika dikonversikan akan sama nilainya dengan 1 detik.

Jadi pada kasus ini, awalnya kita memerintahkan program untuk " menyalakan LED ". Kemudian, kita
perintahkan lagi untuk mendelay lama " nyala LED " selama " 1 detik ". Sehingga, kita mendapatkan LED pada
protoboard kita menyala selama 1 detik.

Setelah delay selama 1 detik selesai, maka program akan melanjutkan eksekusinya ke kode program
berikutnyayang mana -- Kode program yang berikutnya adalah,
digitalWrite ( lampuLED, LOW );

Kode program ini adalah perintah untuk memadamkan LED. Karna LED tidak lagi kita berikan tegangan 5 Volt,
sekarang yang kita berikan adalah 0 Volt atau logika LOW. Maka, sekarang kita akan mendapatkan LED kita
padam.

Setelah kode program untuk memadamkan LED telah dieksekusi, selanjutnya kita memerintahkan hal yang
sama dengan sebelumnya, yaitu mendelay lama padamnya selama 1 detik menggunakan fungsi delay ().
Sehingga, LED akan padam pula selama 1 detik.

Sekarang semua kode program pada routie loop() sudah dieksekusi Lalu, apa selanjutnya?!

Setelah kode-kode program yang ada para routine loop() ini telah selesai di eksekusi, maka program akan
memulai lagi eksekusi program dari awal routine loop () ini, dan akan terus diulang sampai Arduino ini Anda
lepas dari sumber listriknya.

Bagaimana, Apakah sekarang Anda sudah bisa menikmati kelap-kelip lampu LED Anda?

Latihan Mandiri

Untuk meningkatkan kemampuan dan pemahaman Anda, coba kerjakan latihan mandiri berikut ini.

Rangkailah komponen-komponen seperti gambar di atas! Gunakan pin 4, pin 8, dan pin 13 sebagai pin yang
dihungukan ke tiap LED.

1. Buatlah Program/Sketch agar LED-LED tersebut berkedap-kedip.

LED 1 NYALA, LED 2 NYALA, LED 3 NYALA (pada detik pertama kemudian)
LED ! PADAM, LED 2 PADAM, LED 3 PADAM (pada detik selanjutnya) dan terus berulang.

2. Buatlah Program/Sketch agar LED-LED tersebut berkedap-kedip.

LED 1 NYALA, LED 2 PADAM, LED 3 NYALA (pada detik pertama kemudian)
LED 1 PADAM, LED 2 NYALA, LED 3 PADAM (pada detik berikutnya) dan terus berulang.

Anda mungkin juga menyukai