Tutorial Arduino – Blinking LED
Setelah pada tutorial sebelumnya dijelaskan secara singkat tentang bahasa pemrograman Arduino, maka sekarang kita coba penerapannya. Pada pelajaran pertama pemrograman dengan bahasa apapun (html, php, dll) biasanya kita kenal program “Hello world”. Nah pada Arduino, program “Hello world” ini adalah “Blinking LED”.
Ide Dasar
LED (light emitting diode) adalah komponen dasar yang sering digunakan pada rangkaian elektronik. Karena bentuknya berupa lampu kecil maka kita dapat segera dapat melihat hasil program kita secara visual. LED pada program kali ini akan dibuat menjadi berkelap-kelip (blinking) dengan durasi waktu yang tertentu dan dilakukan berulang terus menerus.
Untuk memulai, segera siapkan komponen yang dibutuhkan seperti tertera di bawah ini dan pasang pada breadboard. Setelah semua komponen terpasang maka kita akan meng-upload programnya. Hubungkan Arduino anda ke komputer dengan kabel USB. Kemudian pilih port yang sesuai pada software Arduino di menu Tools > Serial Port > COMXX (sesuai dengan comm port Arduino anda). Lalu upload program tersebut dengan menggunakan menu File > Upload I/O Board (ctrl+U). Lihat hasilnya!
Rangkaian
Komponen yang diperlukan:
- 1 buah LED
- 1 buah resistor 330 ohm
- Kabel jumper
Skema rangkaian dapat dilihat pada gambar berikut:
Berikut ini adalah gambar simulasi penempatan komponen pada breadboard dan board Arduino. Gambar simulasi ini menggunakan software Fritzing yang bisa didapat di sini.
Kode Pemrograman
Di bawah ini adalah kode pemrograman yang digunakan untuk blinking LED. Tidak perlu mengetiknya karena sudah tersedia pada software Arduino. Klik menu File > Examples > 1.Basic > Blink.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
}
Membuat Perubahan
Bila tidak terdapat kesalahan, maka rangkaian anda akan berupa LED yang berkelap-kelip dengan durasi hidup 1 detik dan mati 1 detik yang dilakukan berulang-ulang. Sudah puas? Hehehe rasanya pasti belum. Bagaimana kalau kita melakukan beberapa perubahan pada program agar kita dapat lebih memahami cara kerjanya.
Beberapa perubahan yang bisa kita lakukan, antara lain:
- Mengganti pin
Pada program diatas, LED kita terhubung pada pin 13, tetapi kita bisa menggunakan pin Arduino yang lain. Untuk menggantinya, ambil kabel jumper yang terpasang pada pin 13 dan pindahkan pada pin lain sesuai yang anda inginkan (dari 0-13) (anda juga bisa menggunakan pin analog 0-5, pin 0 analog adalah pin 14, dst).
Kemudian rubah baris kode program, ganti angka 13 dengan pin baru yang sudah dipilih.
Lalu upload sketch-nya (ctrl+U)
- Merubah durasi kelap-kelip
Kalau anda kurang puas dengan kelap-kelip berdurasi 1 detik, berikut caranya:
Rubah baris kode program:
15
16
17
18 digitalWrite(13, HIGH);
delay(durasi hidup); // (detik * 1000)
digitalWrite(13, LOW);
delay(durasi mati); // (detik * 1000)
Ganti durasi hidup/mati dengan durasi yang anda inginkan. Misalnya untuk 5 detik, tuliskan angka 5000 (5 * 1000).
- Merubah cerahnya LED (brightness)
Selain pengaturan digital yang hidup atau mati, Arduino dapat juga melakukan pengaturan beberapa pin digital seperti layaknya analog yang akan kita gunakan untuk mengatur cerahnya LED. Untuk mencobanya, lakukan langkah berikut ini:
Rubah pin LED menjadi pin 9 (jangan lupa rubah juga kabel jumpernya). Rubah baris kode program, ganti 13 menjadi angka 9.
Rubah kode dalam { } pada bagian loop() dengan kode berikut:
14
15
16 void loop() {
analogWrite(9,angka baru);
}
angka baru = angka antara 0 – 255. 0 = mati, 255 = hidup, angka diantaranya = perbedaan tingkat kecerahan
- Fading
Kita akan menggunakan contoh program Fading yang sudah disediakan oleh software Arduino. Menu: File > Examples > 3.Analog > Fading. Program ini akan mengatur memudarnya LED dari mati ke hidup dan sebaliknya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 /*
Fade
This example shows how to fade an LED on pin 9
using the analogWrite() function.
This example code is in the public domain.
*/
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
void setup() {
// declare pin 9 to be an output:
pinMode(9, OUTPUT);
}
void loop() {
// set the brightness of pin 9:
analogWrite(9, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
Kemudian upload program dan lihat hasilnya!
Baiklah itu tutorial Arduino kita kali ini. Selamat mencoba!
sangat bermanfaat mas postingannya, di tunggu postingan selanjutnya…
mohon maaf, mau tanya, itu fungsi resistornya untuk apa ya? dan kenapa nggak disambung ke anoda.
terima kasih.
Resistor itu berfungsi untuk membatasi arus yang melewati LED agar tidak terlalu besar dan tidak menyebabkan LED menjadi rusak. Penempatan resistornya bisa di anoda atau katoda, tapi fungsinya akan tetap sama.
Silahkan baca penjelasan lebih lanjut di link ini.
Terima kasih mas postingannya, memberikan pencerahan untuk saya yang baru pemula , apa lagi disertai gambar peletakkan komponennya jadi lebih mudah untuk dimengerti
terima kasih.
Kalo pake lampu 220v apa saja yang di perlukan? klo bisa tolong bikinin tutorialnya 🙂
saya mau tanya bosz….?
itu bisa bikin durasi nyala 15detik n mati 5 detik….?
apa bisa lampu led menggunakan led 12volt…?
Gmna cara buat program d arduino.agar apabila kita pencet button(tombol) lampu menyala dan tetap menyala saat kita lepaskan tombol.dan saat kita tekan button kembali.maka lampu mati
Terimakasih tutorial nya..
Sangat membantu sekali buat orang awam belajar arduino..