MANIPULASI LED
Disusun Oleh:
Putri Shafa Salsabella Helmi / 3.34.18.0.18
IK-3A
II. Peralatan
1. Sebuah Komputer /Laptop
2. Satu set trainer mikrokontroler Arduino
3. An Arduino board connected to the computer via USB
4. breadboard dan kabel jumper
5. LED (3 mm)
6. Resistor antara 220–1,000 ohm
1. Pasang resistor pada breadboard. Koneksikan dengan kabel jumper kaki belakang
resistor dengan digital pin pada Arduino.
2. Pasang LED pada breadboard. Koneksikan pin anode (+) LED pada kaki yang tersedia
pada resistor.
3. Koneksikan LED cathode (-) ke arduino GND dengan menggunakan kabel jumper.
Kode Program:
int LED = 2;
void setup() {
pinMode(LED, OUTPUT);
void loop(){
// Here we will turn the LED ON and wait 200 milliseconds
digitalWrite(LED, HIGH);
delay(200);
// Here we will turn the LED OFF and wait 200 milliseconds
digitalWrite(LED, LOW);
delay(200);
Jika LED terkoneksi pada pin yang lain tinggal mengubah value dari variabel LED.
Cara kerja:
Jika pin kedua arduino diberi nilai HIGH, arduino akan memberikan nilai tegangan 5 V,
yang akan mengalir pada resistor ke LED sampai dengan GND. Jika tegangan yang
disyaratkan LED untuk menyala terpenuhi maka LED akan menyala. Resistor berguna
untuk mengendalikan jumlah arus yang masuk pada LED untuk menjaga agar LED aman
dan bahkan juga pin arduino yang terkoneksi dari terbakar.
Penejlasan Kode:
Kode program tersebut akan membuat LED hidup dan mati secara bergantian, dan akan
diberi waktu jeda dengan memanggil fungsi delay() setelah pengeksekusian.
Pada fungsi setup() kita set output arduino sesuai dengan nilai yang ada pada variabel
LED.
void setup() {
pinMode(LED, OUTPUT);
pada fungsi loop(), secara berkelanjutan menyalakan LED, tunggu 200 mili detik dan
matikan LED, tunggu 200 mili detik.
void loop(){
delay(200);
int ledPin1 = 2;
int ledPin2 = 3;
int ledPin3 = 4;
void setup() {
//Setting PIN Output
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(1000);
Penggunaan LED dengan menggunakan 2 buah kondisi: On dan OFF. Tapi jika ingin
memanipulasi kecerahan kita harus menggunakan teknik lain, Pulse Width Modulation
(PWM) yang sudah secara default ada pada setiap arduino. Dengan teknik ini kita bisa
membuat LED menyala dengan skala 256.
Pada arduino pin yang mempunyai fungsi PWM berjumlah 6 buah pin yang berada pada
pin 3, 5, 6, 9, 10 dan 11.
Gambar 2.5. Menyalakan LED dengan PWM
Kode Program:
// Declare the LED pin with PWM
int LED = 3;
void setup() {
// Declare the pin for the LED as Output
pinMode(LED, OUTPUT);
}
void loop(){
// Here we will fade the LED from 0 to maximum, 255
for (int i = 0; i < 256; i++){
analogWrite(LED, i);
delay(5);
}
// Fade the LED from maximum to 0
for (int i = 255; i >= 0; i--){
analogWrite(LED, i);
delay(5);
}
}
Konsep PWM
Dengan membuat switching antara LOW dan HIGH dengan kecepatan tinggi, pergantian
tegangan akan nampak jelas pada diagram dibawah.
Gambar 2.7. Diagram cara kerja PWM
Pada kode program tersebut ada pemanggilan function analogWrite() yang berfungsi
sebagai pemberi sinyal analog pada pin PWM arduino. Nilai yang bisa diberikan antara
0255, yaitu 0 dari 0 volt dan 255 dari 5 volt atau 3.3 volt tergantung tegangan yang
digunakan.
...
// Here we will fade the LED from 0 to maximum, 255
for(int i = 0; i < 256; i++){
analogWrite(LED, i);
delay(5);
} ...
Kode diatas akan membuat perubahan tegangan yang dikirimkan pada pin PWM, dengan
merubah variabel dari nilai terendah(0) ke nilai maksimum(255). Sehingga efek yang
ditampilkan oleh LED akan dihasilkan cahaya yang semakin terang beriringan dengan
tegangan yang semakin tinggi.
...
// Here we will fade the LED from 0 to maximum, 255
for(int i = 255; i >= 0; i--){
analogWrite(LED, i);
delay(5);
}…
Sebaliknya dengan menurukan variabel, akan mengakibatkan penurunan tegangan yang
dikirimkan ke pin PWM yang dipakai yang membuat LED akan semakin meredup.
Pada arduino uno jika diperhatikan pin PWM akan mempunyai tanda khusus seperti
berikut ~. Fungsi analogWrite() tidak akan bekerja jika digunakan untuk pin selain
PWM. Dengan menggunakan teknik PWM ini akan bisa dihasilkan 16 juta kombinasi
warna untuk 1 LED.
PERCOBAAN RGB LED
Perlengkapan:
1. Arduino and USB
2. Breadboard dan jumper wires
3. RGB LED
4. Resistors between 220–1,000 ohm
Kode program:
// Declare the PWM LED pins
int redLED = 9;
int greenLED = 10;
int blueLED = 11;
void setup() {
// Declare the pins for the LED as Output
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
}
// A simple function to set the level for each color from 0 to 255
jika terdefinisi
setColor(255, 0, 0); // Red Color
sehingga
analogWrite(redLED, warna_merah);
dengan memeberikan nilai 0, maka akan memberikan nilai maksimal pada warna RED.