Kumpulan Variasi LED dan Arduino Part 2

Indobot Update

Baiklah kita lanjutkan pembahasan sebelumnya terkait dengan variasi LED.

Buat teman-teman yang baru bergabung, dapat dilihat dulu variasi LED dari awal ya. Silakan bisa klik DI SINI.

Nah langsung saja kali ya, lanjut di part 2 untuk variasi LED yang dapat anda mainkan.

Seperti sebelumnya, siapkan alat dan bahan, seperti arduino UNO, 4 LED, 4 resistor 220 Ohm, jumper, dan breadboard. Pasang semuanya menjadi rangkaian seperti berikut ini.

Setelah itu, mari kita kembali berinovasi dengan LED. Buatlah program seperti berikut ini.

LED Acak (Random)

LED acak dimaksudkan untuk pembuatan 4 LED yang akan menyala secara bergantian namun tidak dinyalakan secara acak (tidak diketahui). Berikut programnya.

 
//program variasi LED oleh Indobot.co.id
int LED[] = {2,3,4,5};

void setup() {
//inisialisasi LED pin 2,3,4 dan 5 adalah output
    pinMode(LED[0], OUTPUT);
    pinMode(LED[1], OUTPUT);
    pinMode(LED[2], OUTPUT);
    pinMode(LED[3], OUTPUT);

}

void loop() {
  //menambahkan nilai untuk array/ LED[]
  int pin;
  //memilih angka acak sesuai array
  pin = random(4);
  //program untuk menyalakan dan mematikan LED
    digitalWrite(LED[pin], HIGH); 
    delay(100); 
    digitalWrite(LED[pin], LOW); 
  }

Program di atas menggunakan array untuk inisialisasi pin yang digunakan. Hal ini akan memudahkan kita untuk melakukan pergantian angka. Jika kita menjalankan program di atas, maka LED akan menyala secara bergantian namun secara acak. Waktu menyala LED ini adalah 100ms seperti tertulis pada delay.

baca juga: Mengontrol Intensitas Cahaya LED dengan Potensiometer

LED Setting

Pada bagian ini kita akan mencoba program dengan keinginan sendiri sesuka hati. Jadi tidak dapat dinyalakan sesuai dengan keinginan teman-teman. Bisa menyala 1 LED, bisa 2, bisa dibuat kanan, kiri dan lainnya. Bagaimana programnya? Cek di bawah ini.

 
 //program variasi LED oleh Indobot.co.id
int LED[] = {2,3,4,5};

void setup() {
//inisialisasi LED pin 2,3,4 dan 5 adalah output
    pinMode(LED[0], OUTPUT);
    pinMode(LED[1], OUTPUT);
    pinMode(LED[2], OUTPUT);
    pinMode(LED[3], OUTPUT);

}

void loop() {
//mengatur nyala 4 LED dengan mengubah nilai 0 dan 1
  setLED(1,0,1,0);
  setLED(0,1,0,1);
  setLED(1,1,1,1);
  setLED(0,0,0,0);   
}
//function untuk menentukan LED mati atau menyala
int setLED (int nilai1, int nilai2, int nilai3, int nilai4) {
  digitalWrite(LED[0], nilai1);
  digitalWrite(LED[1], nilai2);
  digitalWrite(LED[2], nilai3);
  digitalWrite(LED[3], nilai4); 
  delay(1000);
}

 

Pada program di atas, teman-teman bisa mengatur sendiri bagian mana yang akan menyala dan bagian yang akan mati. Pengaturannya hanya perlu dilakukan dengan mengganti angka 0 dan 1 di dalam function setLED. Function setLED adalah function dengan parameter nilai untuk menyalakan atau mematikan LED. Seperti program di atas, nilai untuk LED ditentukan oleh angka 0 untuk mati dan 1 untuk hidup. Selain itu, urutan penulisan nilai pada Function setLED juga sudah sesuai dengan urutan LED pada array. Jadi jika teman-teman ingin mengubah LED menjadi menyala atau mati, hanya perlu diubah pada bagian ini (0,0,0,0).

 

Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!

Nah berikutnya, kita akan mencoba membuat variasi LED yang melibatkan nilai PWM pada pin Arduino. Nilai PWM adalah nilai dari hasil keluaran pin arduino dengan nilai yang berbeda. Nilai ini dapat mengatur kecerahan LED untuk menjadi redup atau terang.

Variasi ini hanya dapat kita lakukan dengan menggunakan pin PWM yang ada pada arduino UNO. Cek pin yang ada tanda (~) sebagai tanda bahwa pin ini merupakan pin PWM. Pin yang dapat digunakan adalah pin nomor 3, 5, 6, 9, 10, dan 11. Untuk lebih mudah, kita akan gunakan pin 6, 9,10, dan 11 (9, 10, 11 sudah berderet).

Alat dan bahan sama, kita hanya perlu mengubah rangkaiannya menjadi seperti berikut.

Jika rangkaian sudah kita ubah khusus PWM seperti di atas, kita lanjutkan ke program. Mari kita coba variasi seperti berikut ini.

LED Berkedip Halus (Terang Redup)

Dapat mengatur kecerahan LED sesuai dengan besaran tegangan yang dia terima. Hal inilah yang membuat LED dapat di setting terang redup dengan kecerahan tertentu. Program LED berkedip halus adalah sebagai berikut.

 

 
//program variasi LED oleh Indobot.co.id
//Inisialiasi program LED untuk pin
#define LED1 6 //pin 6 pada arduino
#define LED2 9 //pin 9 pada arduino
#define LED3 10 //pin 10 pada arduino
#define LED4 11 //pin 11 pada arduino

void setup() {
  // inisialisasi program LED untuk OUTPUT.
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
}

void loop() {
  //for difungsikan untuk mengubah nilai secara bertahap
  //nilai 0 bertambah 1 tiap 10ms 
   for(int val = 0; val <= 255; val++) {
      analogWrite (LED1, val);
      analogWrite (LED2, val);
      analogWrite (LED3, val);
      analogWrite (LED4, val);
      delay (10);
   }
  //nilai 255 berkurang 1 tiap 10ms 
   for(int val = 255; val >= 0; val--) {
      analogWrite (LED1, val);
      analogWrite (LED2, val);
      analogWrite (LED3, val);
      analogWrite (LED4, val);
      delay (10);
   }             
}

Baca juga: Running LED Arduino Uno

Nilai 255 adalah nilai untuk menyatakan nilai tertinggi dari PWM untuk LED menyala. Sedangkan nilai 0 adalah nilai terendah untuk LED mati. Jika kita jalankan program di atas, LED akan menyala dengan pelan-pelan hingga ke yang paling terang (255) kemudian LED akan meredup dengan pelan hingga mati (0) dan akan terus berulang-ulang.

Nah ada sedikit tantangan buat teman-teman nih. Setelah banyak melihat program di atas. Mari kita mulai improvisasi. Cobalah buat program berkedip halus (terang redup) untuk semua program pada bagian pertama (lihat DI SINI). Jika sudah, coba sampaikan d kolom komentar ya.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp