Tutorial Arduino: Belajar Menyalakan LED dengan Arduino

Ini adalah artikel pertama tentang tutorial komponen elektronik, saya ingin membahas semua komponen/modul-modul elektronik beserta cara penggunaannya menggunakan mikrokontroller Arduino, ESP32 atau Rapberry Pi Pico di artikel-artikel selanjutnya, jadi tetap ikuti web ini ya. Untuk sekarang  ayo kita mulai dari komponen yang paling dasar yaitu LED.

LED (Light Emitting Diode) 

LED (Light Emitting Diode) adalah Sebuah lampu kecil yang digunakan sebagai penanda atau pointer, komponen ini mengkonsumsi daya listrik yang sangat kecil.

kedepannya akan banyak project yang menggunakan led sebagai output. Led yang digunakan adalah led 5mm (5 mm ini mengacu pada diameter led itu sendiri), mesikipun ada juga varian led 3mm dan 10mm.

Kita tidak bisa menghubungkan langsung LED dengan baterai atau sumber tegangan. Karena LED mempunyai kaki positif dan negatif dan jika salah menghubungkan daya dari sumber maka LED tidak akan menyala, kaki positif pada LED biasanya lebih panjang dari kaki negatifnya. Jadi jangan salah dalam menghubungkan LED ini ya.. LED juga harus menggunakan resistor untuk membatasi arus yang melewatinya karena jika tidak, LED akan rusak terbakar, arus maksimum yang biasa di handle LED biasanya adalah 20 mA. 

Ada berbagai jenis LED di pasaran  :

  • LED 5mm  (Standar 5 mm LED)
  • RGB LED (LED 3 Warna, Merah Hijau Biru dalam 1 LED)
  • SMD LED (Surface Mount Device, LED ukuran kecil yang biasa dipasang di PCB)
  • IR LED (Menghasilkan sinar infrared, tidak memiliki warna, biasa digunakan untuk sensor)

RGB LED

RGB LED terlihat seperti LED standard hanya saja dia memiliki 4 kaki.  Didalamnya ada gabungan dari 3 LED (Led warna merah, hijau dan biru) dengan mengontrol kombinasi warna dan kecerahan warnanya, Konsep mencampur warna RGB LED persis seperti mencampur warna di palet lukis, campurkan beberapa warna dengan tingkat kecerahan tertentu dan menghasilkan warna baru dari kombinasi warna campurannya.

RGB LED terdiri dari 4 LED dan mempunyai 4 kaki, arus positif mengalir pada 3 kaki (setiap kaki nyaterhubung ke LED merah, hijau dan Biru) dan 1 kaki nya dihubungkan ke arus negatif. Ada 2 jenis RGB LED yaitu common cathode dan common anode, RGB LED dengan konfigurasi common Cathode, kaki yang panjangnya dihubungkan ke terminal negatif (Ground) dan 3 kaki lain hubungkan ke GPIO (Berikan sinyal HIGH untuk menyalakan LED), sedangkan common anode, kaki yang panjangnya dihubungkan ke terminal positif (VCC) dan 3 kaki lain hubungkan ke GPIO (Berikan sinyal LOW untuk menyalakan LED). 

Bagaimana cara mengkombinasikan warna pada RGB LED ???

Untuk mengkombinasikan warna, kita harus memahami dulu konsep warna. Mata kita punya 3 jenis reseptor cahaya (merah, hijau, dan biru). Otak akan memproses kombinasi dari ketiga warna tersebut dan mengubahnya menjadi spectrum cahaya. Inilah alasan kenapa dapat membuat warna apapun dari kombinasi ketiga warna itu.

Dengan menggunakan 3 LED kita mencoba mengelabui mata kita, sama seperti menonton TV LCD, dimana warna yang ditampilkan padalayar LCD adalah berupa titik berwarna merah, hijau dan biru yang terkombinasi menjadi sebuah pixel.

Jika kita mengatur ketiga warna led dengan kecerahan yang sama, kombinasinya akan menghasilkan warna putih, LED biru dimatikan, sedangkan LED hijau dan merah menyala dengan kecerahan yang sama, maka akan menghasilkan warna kuning. dengan mengatur kecerahan antara warna merah hijau dan biru kita bisa membuat warna lain yang lebih beragam

Bagaimana cara mengatur kecerahan pada RGB LED ???

Untuk mengatur kecerahan RGB LED, kita bisa menggunakan resistor dengan nilai yang berbeda-beda pada kaki-kaki nya, resistor ini bisa menurunkan nilai arus yang masuk ke LED akibatnya arus yang masuk pada tiap kaki akan berbeda, sehingga menghasilkan kecerahan yang berbeda pula, namun cara ini cukup merepotkan dan memerlukan effort tinggi karena harus memilih dan menghitung nilai resistor yang sesuai. untung nya arduino memiliki fasilitas untuk mengatur sinyal listrik yang keluar dari GPIO nya. fasilitas ini dinamakan PWM (Pulse Width Modulation), dia bisa diaktifkan dengan syntax “analogWrite“.

PWM merupakan singkatan dari pulse width modulation adalah teknik untuk mengatur output berupa sinyal listrik yang keluar dari GPIO. Kita bisa gunakan ini untuk mengatur kecerahan setiap LED. Perhatikan gambar dibawah ini. 

Bayangkan setiap 1/500 detik output PWM menghasilkan sinyal listrik dalam bentuk denyutan (atau biasa disebut pulse), pulse ini terbentuk dari sinyal digital yang dinyala-matikan secara bergiliran dengan tegangan 0V dan 5V. Nah panjang pulse ini dikontrololeh fungsi “analogWrite”. jika kita mengetik “analogWrite”=0 maka tegangan yang keluar dari GPIO adalah 0 Volt sedangkan jika mengetik “analogWrite”=225 maka tegangan yang keluar dari GPIO adalah 5 Volt.

Kita juga bisa memasukan nilai antara 0 – 225 pada fungsi “analogWrite”. Semakin besar nilai yang diberikan semakin panjang juga waktu pulsa pada tegangan 5V (Diilustrasikan pada gambar diatas)

Misal kita memberikan nilai pada analogWrite = 200, itu kurang lebih adalah 90% dari total sinyal maksimum (90 sinyalnya di tegangan 5V dan 10% sinyalnya di tegangan 0V). LED itu sebenarnya berkedip-kedip, tapi karena terjadi dengan sangat cepat sampai mata kita tidak bisa mengikuti, sehingga yang kita lihat adalah perubahan kecerahan LED sesuai dengan nilai yang ditetapkan pada fungsi analogWrite.

Sekarang ayo kita coba nyalakan LED dengan menggunakan arduino. Pada project ini, saya menggunakan standard LED 5 mm, Resistor 220 Ohm dan RGB LED Common Cathode, buat rangkaian di bawah ini

 Lalu, Ketik program dibawah ini

				
					// purwarupa3D - Menyalakan LED

const byte ledPin = 4;
const byte ledMerah = 11;
const byte ledHijau = 9;
const byte ledBiru = 6; 

void setup() {
  // put your setup code here, to run once:
  pinMode(ledPin, OUTPUT);
  pinMode(ledMerah, OUTPUT);
  pinMode(ledHijau, OUTPUT);
  pinMode(ledBiru, OUTPUT);
}

void loop() {
  // nyalakan led standard
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);

  // nyalakan RGB led
digitalWrite(ledMerah, HIGH);
delay(1000);
digitalWrite(ledMerah, LOW);
delay(1000);
digitalWrite(ledHijau, HIGH);
delay(1000);
digitalWrite(ledHijau, LOW);
delay(1000);
digitalWrite(ledBiru, HIGH);
delay(1000);
digitalWrite(ledBiru, LOW);
delay(1000);

  //mengatur kecerahan RGB led dan menggabung warna
setColor (225, 225, 0); //kuning
delay(1000);
setColor (225, 0, 225); //ungu
delay(1000);
setColor (0, 225, 225); //biru langit
delay(1000);
setColor (190, 225, 0);
delay(1000);
setColor (190, 0, 225);
delay(1000);
setColor(0,0,0);
}

void setColor (int merah, int hijau, int biru) {
analogWrite(ledMerah, merah);
analogWrite(ledHijau, hijau);
analogWrite(ledBiru, biru);
}
				
			

Upload program dan perhatikan hasilnya. LED akan berkedip (blinking) sekali, kemudian RGB LED akan berkedip bergantian warna. 

18 pemikiran pada “Tutorial Arduino: Belajar Menyalakan LED dengan Arduino”

Tinggalkan Balasan ke Lachlan3198 Batalkan balasan