/* running led by taufiqur
fungsi di arduino ada 3
- fungsi setup() = selalu dipanggil pertama kali di awal program
fungsi ini hanya sekali dijalankan
- fungsi loop() = dipanggil setelah fungsi setup
fungsi ini dipanggil terus-menerus selama alat masih nyala
- fungsi buatan_sendiri() = fungsi ini tergantung mau dipanggil
di area mana aja
semua kaki katoda dari led dihubungkan ke resistor 100 ohm,
kemudian dihubungkan ke ground
masing-masing kaki anoda dari led dihubungkan ke masing-masing
port 1-10,
untuk menyalakan masing-masing led tinggal
diberikan tegangan dengan perintah digitalWrite(n, HIGH)
untuk mematikan digitalWrite(n, LOW)
perintah delay untuk jeda dalam mili detik
*/
void setup() {
// put your setup code here, to run once:
// 10 baris dibawah ini maksudnya port 1-10
// digunakan sebagai port output yang akan
// diberikan tegangan
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
kekanan(); // memanggil fungsi kekanan()
delay(300); // jeda
kekiri(); // memanggil fungsi kekiri()
delay(300); // jeda
kedalam(); // memanggil fungsi kedalam()
delay(300); // jeda
keluar(); // memanggil fungsi keluar()
delay(300); // jeda
}
void kekanan() {
// fungsi berikut menyalakan dan mematikan berurutan
// led dari port 10 ke 1
digitalWrite(10, HIGH);
delay(200);
digitalWrite(9, HIGH);
delay(200);
digitalWrite(8, HIGH);
digitalWrite(10, LOW);
delay(200);
digitalWrite(7, HIGH);
digitalWrite(9, LOW);
delay(200);
digitalWrite(6, HIGH);
digitalWrite(8, LOW);
delay(200);
digitalWrite(5, HIGH);
digitalWrite(7, LOW);
delay(200);
digitalWrite(4, HIGH);
digitalWrite(6, LOW);
delay(200);
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
delay(200);
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
delay(200);
digitalWrite(1, HIGH);
digitalWrite(3, LOW);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(1, LOW);
delay(200);
}
void kekiri() {
// fungsi berikut menyalakan dan mematikan berurutan
// led dari port 1 ke 10 menggunakan perulangan
// definisi dan inisialisasi variabel i dan j
int i = 1, j = 2;
for(i; i<=10; i = i+2) {
digitalWrite(i, HIGH);
delay(200);
digitalWrite(j, HIGH);
digitalWrite(i, LOW);
delay(200);
digitalWrite(j, LOW);
j=j+2;
}
}
void kedalam() {
digitalWrite(1, HIGH);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(2, HIGH);
digitalWrite(9, HIGH);
delay(200);
digitalWrite(3, HIGH);
digitalWrite(8, HIGH);
digitalWrite(1, LOW);
digitalWrite(10, LOW);
delay(200);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
digitalWrite(2, LOW);
digitalWrite(9, LOW);
delay(200);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(3, LOW);
digitalWrite(8, LOW);
delay(200);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
delay(200);
}
void keluar() {
int i = 5, j = 6;
for (int n = 1; n <= 10; n++) {
digitalWrite(i, HIGH);
digitalWrite(j, HIGH);
delay(200);
digitalWrite(i-1, HIGH);
digitalWrite(j+1, HIGH);
digitalWrite(i, LOW);
digitalWrite(j, LOW);
delay(200);
digitalWrite(i, LOW);
digitalWrite(j, LOW);
i--;
j++;
}
}