15 Okt 2019

LED Berjalan

LED Berjalan

Kamu telah menyelesaikan LED berkedip menyala dan mati. Sekarang saatnya untuk mencoba latihan yang sedikit lebih rumit yaitu dengan menghubunkan empat LED sekaligus. Latihan ini bagus untuk melatih dalam memahami program dan bagaimana program tersebut berjalan didalam Arduino.

Untuk mengendalikan beberapa LED, kamu akan belajar beberapa trik pemograman supaya kode kamu terlihat lebih sederhana:
for() loops - digunakan ketika ingin membuat sebuah fungsi berjalan beberapa kali.

arrays[ ] - digunakan untuk mtengatur beberapa parameter dengan mudah dengan mengelompokannya bersama.

Kebutuhan komponen:

— 1 x Arduino UNO
— 4 x LED
— 4 x 330 Ohm Resistor

Komponen yang digunakan pada Shield:

4 x yang terhubung ke pin D9, D10, D11 & D13.
Selector switch pada posisi LED.


Rangkaian:


Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 04 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_04

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
  Latihan 04 LED Berjalan
   
  It turns each LED ON and then OFF before going to the next LED.

  Version 1.0 9/2017 MK
*/

int ledPins[] = {9,10,11,13};   // Defines an array to store the pin numbers of the 4 LEDs.
// An array is like a list variable that can store multiple numbers.
// Arrays are referenced or "indexed" with a number in the brackets [ ]. See the examples in
// the pinMode() functions below. 

void setup() {
  // setup all 4 pins as OUTPUT - notice that the list is "indexed" with a base of 0.
  pinMode(ledPins[0],OUTPUT);  // ledPins[0] = 9
  pinMode(ledPins[1],OUTPUT);  // ledPins[1] = 10
  pinMode(ledPins[2],OUTPUT);  // ledPins[2] = 11
  pinMode(ledPins[3],OUTPUT);  // ledPins[3] = 13
}

void loop() {
  int index;
  int delayTime = 300; // milliseconds to pause between LEDs
   
  for(index = 0; index <= 3; index++) {  // step through the LEDs, from 0 to 3
    digitalWrite(ledPins[index], HIGH);  // turn LED on
    delay(delayTime);                    // pause to slow down
    digitalWrite(ledPins[index], LOW);   // turn LED off
  }
}

Catatan kode:

int ledPins[] = {9,10,11,13};
Ketika harus mengatur variabel yang cukup banyak, dapat menggunakan "array" sebagai cara untuk mengelopokan variabel sehingga menjadi lebih mudah. Pada contoh latihan kali ini kita membuat sebuah array dari integer, diberi nama ledPins dengan empat elemen.
digitalWrite(ledPins[0], HIGH);
Disini untuk menggunakan ledPins kamu dapat mengacu pada elemen dalam array berdasarkan posisinya. Elemen pertama ada pada posisi 0, yang kedua ada di posisi 1, dan seterusnya. Untuk mengacu pada tiap elemen yang menggunakan "ledPins[x]" di mana x adalah posisinya. Di sini kita membuat pin digital 9 HIGH, karena elemen array pada posisi 0 adalah "9".
for(index = 0; index <= 3; index++)
Didalam sketch, menggunakan for() loop untuk membuat nyala LED berpindah satu persatu dari pin D9 sampai D13.

Setiap for() loop mempunyai tiga parameter dan dipisahkan menggunakan titik koma (;):

1. index = 0; Sesuatu yang dikerjakan sebelum dimulai: Membuat index = 0.
2. index <= 3; Operasi logika yang dites, selama hasilnya benar (true) akan terus looping: Jika index lebih kecil atau sama dengan 3, akan menjalankan kode yang ada didalam tanda kurung {}. Ketika index = 4, akan keluar dari loop dan melanjutkan baris kode selanjutnya didalam sketch.
3. index++ Sesuatu yang dilakukan setelah menjalankan satu baris loop: Meletakan "++" setelah sebuah variabel bermaksud menambahkan variabel tersebut dengan satu. Dapat juga menggunakan "index = index + 1".

Apa yang seharusnya kamu lihat:

Kamu akan melihat nyala lampu LED bergerak satu arah seperti berjalan. Jika ini tidak terjadi, pastikan sketch sudah masuk kedalam Arduino.




0 comments:

Posting Komentar