Cara Membuat LED Menyala Berkedip Dengan Arduino

Pada artikel sebelum, pernah dijelaskan cara menyalakan LED L (yang berada pada papan Arduino) berkedip atau blinking. Secara default, LED L terpasang di port 13.

Sekarang, waktunya menyalakan LED secara berkedip menggunakan port 12 yang di-set sebagai output. Komponen yang perlu disiapkan antara lain
1 buah LED 5mm
1 buah resistor 330 Ohm

Siapkan juga breadboard dan kabel jumper-nya.

Untuk programnya masih mengandalkan fungsi delay().

int outputLED = 12; //Inisialisasi port
void setup()
//Set pin port menjadi output
{
pinMode(outputLED, OUTPUT);
}
void loop()
//program didalam fungsi loop akan dieksekusi berulang terus-menerus
{
digitalWrite(outputLED, HIGH);
delay(500);
digitalWrite(outputLED, LOW);
delay(500);
}

Fungsi delay() sangat tidak efisien, fungsi ini mencegah perintah lain untuk di-eksekusi, sehingga tidak bisa diterapkan untuk program multitasking.

Fungsi millis() bisa menjadi cara lain namun tetap membiarkan perintah lain tetap di-eksekusi. Millis Arduino adalah suatu fungsi pada sintak Arduino yang berguna untuk menjalankan waktu internal setiap milli seconds pada Arduino secara independent. ketika millis di baca maka millis akan terus menghitung waktu walau pun Arduino nya sedang menjalan kan program yang lain.

int outputLED = 12; //Inisialisasi port
long durasiLED = 0;
long jedaLED = 500;
int statusLED = LOW;
void setup()
//Set pin port menjadi output
{
pinMode(outputLED, OUTPUT);
}
void loop()
//program didalam fungsi loop akan dieksekusi berulang terus-menerus
{
if (millis()- durasiLED > jedaLED)
{
durasiLED = millis();
if (statusLED == LOW)
{
statusLED = HIGH;
}
else
{
statusLED = LOW;
}
digitalWrite(12,statusLED);
}
}

Program diatas menberikan hasil yang sama dengan program diatasnya. Jadi mulai sekarang, hindari pemakaian fungsi delay().

Be the first to comment

Leave a Reply

Your email address will not be published.


*