Assalamu’alaikum Warahmatullahi wabarakatuh, meneruskan postingan sebelumnya tentang dimana kita hanya mengontrol 1 buah LED menggunakan Arduino, Dalam tutorial kali ini kita akan mengontrol beberapa LED menggunakan Arduino lewat pin digital yang telah diberi resistor sebagai penurun tegangan. rankaiannya seperti gambar berikut
Jika kita ingin membuat LED nyala dan mati bergantian maka kita bisa menggunakan program seperti berikut :
//Multi LED Blink
int led1Pin = 4;
int led2Pin = 5;
int led3Pin = 6;
int led4Pin = 7;
void setup() {
//initialize the led pins as an outputs
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
}
void loop() {
digitalWrite(led1Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led1Pin, LOW);//turn LED off
delay(1000);//wait one second
//do the same for the other 3 LEDs
digitalWrite(led2Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led2Pin, LOW);//turn LED off
delay(1000);//wait one second
digitalWrite(led3Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led3Pin, LOW);//turn LED off
delay(1000);//wait one second
digitalWrite(led4Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led4Pin, LOW);//turn LED off
delay(1000);//wait one second
}
meskipun program diatas sudah bisa digunakan tapi terlalu panjang programnya kalau untuk menjalankan alogaritma sesederhana itu, dan kali ini kita akan belajar tentang penggunakan sedit program yang agak expert untuk memendekan program diatas, yaitu menggunakan perulangan for:
kode ini :
digitalWrite(led1Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led1Pin, LOW);//turn LED off
delay(1000);//wait one second
//do the same for the other 3 LEDs
digitalWrite(led2Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led2Pin, LOW);//turn LED off
delay(1000);//wait one second
digitalWrite(led3Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led3Pin, LOW);//turn LED off
delay(1000);//wait one second
digitalWrite(led4Pin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(led4Pin, LOW);//turn LED off
delay(1000);//wait one second
akan ganti dengan kode ini :
for (int ledPin=4;ledPin<8;ledPin++){//for pins 4-7
digitalWrite(ledPin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(ledPin, LOW);//turn LED off
delay(1000);//wait one second
Pada baris pertama (int ledPin=4;) kita menginisialisasi variabel “ledPin” sebagai 4 dan memerintahkan Arduino untuk mengitung dengan nilai start angka 4, sampai dengan 7 (ledPin <8). ledPin ++ memerintahkan Arduino untuk menghitung ke atas setiap program itu bekerja, pada kasus ini berarti arduino akan mengubah variable ledPin dari 4,5,6,7 dan kembali lagi ke 4 lalu ke 5 dan seterusnya… jadi ketika program itu di eksekusi oleh kode di baris ke 2 sampai 5 maka variabel ledPin akan diubah dan di hidupkan dimatikan. bingung yaa??? tanyakan pada kolom komentar jika kurang jelas 🙂
berikut kode yang sudah dipendekan secara full :
//Multi LED Blink
int led1Pin = 4;
int led2Pin = 5;
int led3Pin = 6;
int led4Pin = 7;
void setup() {
//initialize the led pins as an outputs
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
}
void loop() {
for (int ledPin=4;ledPin<8;ledPin++){//for pins 4-7
digitalWrite(ledPin, HIGH);//turn LED on
delay(1000);// wait for 1000 milliseconds (one second)
digitalWrite(ledPin, LOW);//turn LED off
delay(1000);//wait one second
}
}
sekian tutorial kali ini semoga bermanfaat ya 🙂 wassalamu’alaikum warahmatullahi wabarakatuh
Saya masih bingung dg rangkaiannya, sebenarnya yg kabel warna merah buat apa dlm rangkaian itu? Mohon penjelasannya.
Kemudian ttg program yg menggunakan perulangan for, deklarasi led1pin sampe led4pin jadi sia-sia dong mas. Mendingan gak usah dideklarasikan, tetapi utk pinMode langsung ke nilainya pinMode(4, OUTPUT). Kalo tetap mau pake variabel led1pin sampe led4pin, cocoknya sih pake array mas, bukan for. Cmiiw
kabel merah pada rngkaian itu mmang ga kepakai mas
lah itu masnya malah tau hehe
maaf newbie mau nanya
kok saya bingung ya, terutama letak resistornya, saya lihat di part awal tutor ini resistor diletakkan sebelum LED karena fungsinya sebagai resisten atau dikorupsi kata admin.
yang jadi pertanyaan adalah kenapa resistor pada gambar diatas diletakkan setelah LED? apa yang mau dikorupsi kalau resistor tersebut diletakkan setelah LED? apakah memang tidak apa-apa resistornya dibolak-balik?
mohon pencerahannya admin, newbie seperti saya malah makin bingung jadinya
terima kasih
tidak apa apa gan dibolak balik lokasis resistornya.
oh jadi bener begitu ya gan di elektronika