Project Arduino Sederhana LED Blink atau Lampu Berkelip
Proyek yang sederhana namun cukup membuka pengertian akan akses pin pada Arduino Uno Board.
Led Blink, program akan mengakses pin 10 dan memerintahkan arduino untuk mengulang blink led. Dengan contoh proyek ini, maka dapat dipelajari beberapa dasar-dasar elektronik dan sketch programming Arduino.
Hal yang diperlukan
- Breadboard
- Led 5 mm (click disini untuk pengenalan LED, cara menentukan anoda/katoda)
- 100 ohm resistor (click disini untuk cara menentukan nilai resistor)
- Kabel jumper
Skema
Karena tahap mempelajari arduino dari nol, jadi dishare juga yang hal-hal yang mungkin terlihat simple bagi para expert. Warna kabel jumper tidak harus sesuai gambar, namun untuk kebiasaan yang baik, usahakan untuk positif gunakan warna merah, untuk ground gunakan hitam. Lubang pada breadboard pun tidak masalah, bisa memasang di lubang yang mana saja. Yang harus betul-betul diperhatikan adalah hubungan antar komponen dan pin pada arduino, harus sesuai gambar.
Sketch
// Project 1 - LED Flasher
int ledPin = 10;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
setelah sketch diketik, tekan tombol verivy, bila tidak ada error, tekan tombol upload.
Pembahasan Sketch
// Project 1 - LED Flasher
Ini adalah komentar baris yang berguna untuk dokumentasi program, kompiler akan mengabaikan bagian ini. Baris komentar berguna bagi programmer agar bisa mengerti maksud program.
int ledPin = 10;
Inisialisasi variable, dalam hal ini inisialisasi variable bernama ledPin dengan type data integer dan nilai 10.
void setup() {
pinMode(ledPin, OUTPUT);
}
Setiap sketch arduino wajib memiliki fungsi setup() dan loop(). Fungsi setup() dipanggil hanya sekali saat pertama kali program berjalan. Fungsi setup() biasanya tempat untuk men-setup hal-hal umum agar program siap dijalankan, seperti setup pin modes, setting serial baud rates, dan lainnya.
Pada sketch Led Blink, fungsi setup hanya memiliki 1 baris perintah yaitu
pinMode(ledPin, OUTPUT);
pinMode fungsi yang berguna untuk memberitahu arduino bahwa pin pada board akan digunakan sebagai input atau output.Dalam baris program diatas, kita memberitahu arduino untuk menset pin 10 (nilai ledPin adalah 10) sebagai OUTPUT.
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
Fungsi loop() function adalah program utama yang dipanggil secara continue selama arduino menyala (dialiri power). Setiap perintah dalam fungsi loop() akan dipanggil satu persatu sampai perintah terakhir dalam blok loop dicapai, lalu Arduino akan kembali ke awal perintah di blok fungsi loop(), sampai Arduino dimatikan atau tombol reset ditekan.
Dalam contoh proyek ini Arduino akan menyalakan led, menunggu selama 1 detik, lalu mematikan led, lalu menunggu 1 detik. Urutan perintah ini akan diulang terus menerus sampai arduino dimatikan atau direset.