Home / Tutorial Arduino / Tutorial Arduino : Aplikasi LED yang Menyala Bergantian Arah

Tutorial Arduino : Aplikasi LED yang Menyala Bergantian Arah

Hai Guys, Sahabat kelas-fisika.com

Pada kesempatan tutorial arduino kali ini kelas-fisika.com masih membahas seputar LED. tema yang akan dibahas adalah tentang Tutorial Arduino : Aplikasi LED yang Menyala Bergantian Arah. skema rangkaian yang diperlukan ditunjukan pada gambar 3.1 adapun contoh pemasangannya diperlihatkan seperti gambar 3.2.

gambar-3-1

sketch yang digunakan untuk mengontrol rangkaian diatas seperti berikut :

// ------------------------------------------------
// Aplikasi untuk menampilkan LED secara bergantian
//    secara maju dan mundur
//
//    Penanganan dengan if-else bertingkat
// ------------------------------------------------

const int PIN_4 = 4;
const int PIN_5 = 5;
const int PIN_6 = 6;
const int PIN_7 = 7;
const int PIN_8 = 8;
const int PIN_9 = 9;
const int PIN_10 = 10;
const int PIN_11 = 11;
const int PIN_12 = 12;
const int PIN_13 = 13;

int arah = 1;
int indeksLed = 0;

void setup()
{
  pinMode(PIN_4, OUTPUT);
  pinMode(PIN_5, OUTPUT);
  pinMode(PIN_6, OUTPUT);
  pinMode(PIN_7, OUTPUT); 
  pinMode(PIN_8, OUTPUT);
  pinMode(PIN_9, OUTPUT);
  pinMode(PIN_10, OUTPUT);
  pinMode(PIN_11, OUTPUT);
  pinMode(PIN_12, OUTPUT);
  pinMode(PIN_13, OUTPUT);
}

void loop()
{
  int pin;

  if (indeksLed == 0)
     pin = PIN_13;
  else
    if (indeksLed == 1)
      pin = PIN_12;
    else 
      if (indeksLed == 2)
        pin = PIN_11;
      else
        if (indeksLed == 3)
          pin = PIN_10;
        else  
          if (indeksLed == 4)
             pin = PIN_9;
          else
            if (indeksLed == 5)
              pin = PIN_8;
            else
              if (indeksLed == 6)
                pin = PIN_7;
              else
                if (indeksLed == 7)
                  pin = PIN_6;
                else
                  if (indeksLed == 8)
                    pin = PIN_5;
                  else
                    pin = PIN_4;  
  
  // Nyalakan LED dan kemudian matikan                
  digitalWrite(pin, HIGH); 
  delay(2000);   
  digitalWrite(pin, LOW);       
     
  // atur arah
  if (indeksLed == 9)
     arah = -1;
  else 
     if (indeksLed == 0)
       arah = 1;
  
  indeksLed = indeksLed + arah;  
}

Penjelasan

di sketch di depan, dua pernyataan berikut digunakan untuk mengatur arah LED akan ditampilkan dan LED yang akan dinyalakan :

int arah = 1;
int indeksLed = 0;

Nilai 1 pada arah menyatakan bahwa arah penyalaan LED adalah ke kanan. sebaliknya, nilai -1 pada arah akan digunakan untuk menyalakan LED ke arah kiri. adapun nilai 0 pada indeksLed menyatakan bahwa LED terkiri yang akan ditampilkan.

Pernyataan

if (indeksLed == 0)
 pin = PIN_13;
 else
 if (indeksLed == 1)
 pin = PIN_12;
 else
 if (indeksLed == 2)
 pin = PIN_11;
 else
 .....

adalah contoh if..else bertingkat, yakni di dalam if..else terdapat if..else lain. Hal ini bermanfaat untuk melakukan seleksi terhadap banyak alternatif. sebagai contoh, pernyataan pin = PIN_13; dijalankan sekiranya indeksLed bernilai 0 dan pengujian terhadap if lainnya berakhir. jika tidak, if (indeksLed == 1) akan diproses. Dalam hal ini, pernyataan pin = PIN_12; akan dijalankan jika indeksLed bernilai 1. Jika tidak, pernyataan if berikutnya akan diproses dan seterusnya.

digitalWrite(pin, HIGH); 
  delay(2000);   
  digitalWrite(pin, LOW);       

Dalam delay ini, delay(2000); digunakan untuk mengatur lama LED dinyalakan.

Pernyataan

 if (indeksLed == 9)
     arah = -1;
  else 
     if (indeksLed == 0)
       arah = 1;

adalah inturksi untuk mengatur arah LED akan dinyalakan. jika LED terakhir yang menyala adalah yang memiliki indeks sama dengan 9 (LED terkanan), arah perlu diubah ke kiri. Oleh karena itu, arah perlu diisi degan -1. Apabila, LED terakhir yang menyala adalah yang memiliki indeks sama dengan 0 (LED terkiri), arah perlu diubah ke kanan. oleh karena itu, arah perlu diisi dengan -1.

terakhir

indeksLed = indeksLed + arah;

menentukan LED berikutnya yang akan dinyalakan.

About kelas-fisika

Check Also

Tutorial penggunaan Sensor Suhu MAX31855K menggunakan Arduino

kelas-fisika.com – Tutorial penggunaan Sensor Suhu MAX31855K menggunakan Arduino Pada Tutorial kali ini kelas-fisika.com akan membahas …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Powered by themekiller.com