Cara Memprogram Led Blink di Arduino

Kali ini kita akan belajara bagaimana caranya memprogram Led Blink atau Led Berkedip menggunakan Arduino IDE yang nantinya akan kita upload ke Arduino Uno.

Pada pembelajaran sebelumnua kita telah belajar Cara Merangkai Led pada Arduino Uno. Jika Anda belum membacanya silahkan lansung klik judul tersebut untuk membuka materinya.

Pada pembelajaran Cara Merangkai Led pada Arduino kita telah belajar bagaimana caranya merangkai wiring Led yang disambungkan ke board Arduino, tentunya hal tersebut sangat berkaitan dengan materi sekarang ini.

$ads={1}

Update Rangkaian Sebelumnya

Karena kali ini kita akan mengontrol Led maka ada wiring atau pengkabelan yang harus diubah sedikit dari sebelumnya yang ada di Cara Merangkai Led pada Arduino seperti terlihat pada gambar berikut:

Gambar : Rangkaian Led Berkedip

Dari rangkaian tersebut kita akan membuat Led berkedip (hidup-mati secara berulang). Kedipan itu akan dikontrol oleh salah satu kaki Arduino (kita pilih kaki/pin 8). Dengan demikian, logika pada pin 8 akan menjadi output untuk mengontrol LED. Ingat, logika 1 berararti LED akan nyala, logika 0 berarti LED mati. 

Oleh sebab itu kita harus meletakkan kabel jumper yang dari kaki positif Led menuju ke Pin-8 pada board arduino. Sebagaimana yang terlihat pada gambar di atas.

Program untuk LED Berkedip

Ketika Anda pertama kali membuka Arduino IDE, maka secara otomatis akan muncul sketch seperti berikut:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Fungsi setup() dan fungsi loop() merupakan fungsi wajib dan harus ada. Fungsi setup() digunakan untuk inisialisasi program, fungsi ini hanya dijalankan sekali yaitu ketika program pertama kali dijalankan (ketika arduino pertama kali dihidupkan). Sedangkan fungsi loop() akan dijalankan terus-menerus (looping forever) hingga Arduino dimatikan.

Program di atas sudah bisa diupload ke Arduino dengan cara meng-klik tombol Upload. Hanya saja, ketika program tersebut diupload, Arduino tidak akan melakukan apa-apa sebab dalam sketch tersebut memang tidak ada perintah yang harus dikerjakan.

Pada pembelajaran di web ini kami akan selalu menampilkan sketch dahulu lalu kemudian akan menjelaskan fungsi dan logika dari code tersebut. Untuk mengawali primordial dalam belajar mikrokontroller, maka Anda harus mencoba sketch ini. Berikut ini adalah sketch untuk membuat kedipan LED. 


const int pinLED = 8;

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

void loop() {
  digitalWrite(pinLED, HIGH);     
  delay(500);
  digitalWrite(pinLED, LOW);     
  delay(500);
}

Ulasan Code Program

Tentunya code program di atas harus dijelaskan agar dalam belajar kita tidak hanya tahu cara copy-paste namun juga harus tahu apa maksud dari setiap code itu.

const int pinLED = 8;

Nama-nama pin pada Arduino sama seperti yang tertera di board. Pada salah satu sisi board, nama-nama pinnya adalah 0 hingga 13, kemudian di sisi lain nama-nama pinnya A0 hingga A5, dst. Perintah pada baris di atas artinya : Variabel pinLED merupakan konstanta dalam bentuk integer yang merujuk pada pin 8 board Arduino.

Tolong diingat baik-baik, untuk kemudahan dalam memprogram, sebaiknya inisialisasi pin-pin dijadikan konstanta dan ditentukan di awal program. Sehingga, misal ketika kita ingin mengubah pin yang akan dirujuk, kita tidak akan kesusahan. Tinggal mengubah nilai dari variabel pin tersebut, maka kita tidak perlu langi mengubah variabel lainnya.

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

Fungsi pinMode() memberi tahu bahwa pinLED adalah Output. Dengan demikian mikrokontroller tidak akan “membaca” logika pin tersebut, akan tetapi dia hanya akan “menulis” logika pada pin tersebut. Dengan kata lain, jika kita ingin mendefinisikan bahwa pin ini adalah input, maka kita tinggal mengubah OUTPUT menjadi INPUT.

void loop() {
  digitalWrite(pinLED, HIGH);     
  delay(500);
  digitalWrite(pinLED, LOW);     
  delay(500);
}

Baris ini adalah inti dari program yang akan dieksekusi selama Arduino tersambung dengan listrik atau selama Arduino tidak direset. pinLED diset HIGH berarti LED akan diberi tegangan 5 volt, sedangkan LOW berarti LED akan diberi tegangan 0 volt. Oleh sebab itu, rangkaian LED di atas akan menyala ketika diberi HIGH dan akan mati ketika diberi LOW

Fungsi delay() digunakan untuk berhenti selama sekian milidetik. Karena 1 detik = 1000 milidetik, maka pemberian nilai 500 berarti Arduino akan jeda selama ½ detik ketika LED nyala dan ½ detik ketika LED padam. Lalu bagaimana jika program yang Anda coba tidak berjalan dan error? Begini, ada beberapa yang perlu diperhatikan ketika Anda memprogram:

  1. Penulisan sketch itu case sensitive, artinya, tulisan pinLED tidak sama dengan PinLED. Jika terjadi error, coba perhatikan apakah ada penulisan yang keliru?
  2. Jika Anda copy-paste sketch dari file PDF ke Arduino IDE, maka kemungkinan akan ada perubahan whitespace (spasi, tab, blank line). Jika spasi tergantikan denan karakter tab atau blank line, maka sketch akan error. Silakan Anda cek setiap spasi, jika ukuran space-nya berbeda dengan spasi yang lain, silakan dihapus dan ganti dengan spasi.
  3. Setiap blok kode harus diapit dengan kurung kurawal "{" dan "}". Jika kurungnya kurang satu, maka akan error.
  4. Setiap ada kurung buka "(", harus ada kurung tutup ")". Jadi jika ternyata kurungnya kurang, itu bisa menyebabkan error.
  5. Penulisan angka tanpa embel-embel koma. Misal Anda ingin menulis 1000, maka tidak perlu menulis dengan 1,000 atau 1.000. Penulisan dengan 1,000 akan terjadi error, sedangkan jika Anda menulis dengan 1.000 akan dianggap 1, bukan 1000.
  6. Setiap baris kode akan ditutup dengan titik koma (semicolon) ";", kecuali di akhir blokkode yang ditutup dengan kurung kurawal "}".

Jika Anda ingin melihat video tutorialnya silahkan tonton di bawah ini


Silahkan lanjutkan ke materi Cara Menambah Keterangan Pada Sketch

Apa Komentarmu?

Lebih baru Lebih lama