const int ledPin1 = 19;
const int ledPin2 = 18;
const int ledPin3 = 5;
const int ledPin4 = 17;
const int ledPin5 = 16;
const int ledPin6 = 4;
const int ledPin7 = 0;
const int ledPin8 = 2;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
}
void loop() {
// Pola menari 1: Menyala bergantian dari LED1 ke LED8
int pins[] = {ledPin1, ledPin2, ledPin3, ledPin4, ledPin5, ledPin6, ledPin7, ledPin8};
for (int i = 0; i < 8; i++) {
digitalWrite(pins[i], HIGH);
delay(100);
digitalWrite(pins[i], LOW);
}
// Pola menari 2: Menyala bergantian dari LED8 ke LED1
for (int i = 7; i >= 0; i--) {
digitalWrite(pins[i], HIGH);
delay(100);
digitalWrite(pins[i], LOW);
}
// Pola menari 3: Menyala dua-dua dari LED1 ke LED8
for (int i = 0; i < 8; i+=2) {
digitalWrite(pins[i], HIGH);
digitalWrite(pins[i+1], HIGH);
delay(200);
digitalWrite(pins[i], LOW);
digitalWrite(pins[i+1], LOW);
}
// Pola menari 4: Menyala LED ganjil kemudian LED genap
for (int i = 0; i < 8; i+=2) {
digitalWrite(pins[i], HIGH);
delay(100);
digitalWrite(pins[i], LOW);
}
for (int i = 1; i < 8; i+=2) {
digitalWrite(pins[i], HIGH);
delay(100);
digitalWrite(pins[i], LOW);
}
// Pola menari 5: Menyala semua LED secara bersamaan
for (int i = 0; i < 8; i++) {
digitalWrite(pins[i], HIGH);
}
delay(400);
for (int i = 0; i < 8; i++) {
digitalWrite(pins[i], LOW);
}
delay(400);
// Pola menari 6: Menyala LED1 dan LED8, bergerak menuju tengah
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin8, HIGH);
delay(100);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin7, HIGH);
delay(100);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin6, HIGH);
delay(100);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
delay(100);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
// Pola menari 7: Menyala LED berurutan dengan efek berkedip cepat
for (int i = 0; i < 8; i++) {
digitalWrite(pins[i], HIGH);
delay(50);
digitalWrite(pins[i], LOW);
delay(50);
digitalWrite(pins[i], HIGH);
delay(50);
digitalWrite(pins[i], LOW);
delay(50);
}
// Pola menari 8: Menyala bergantian antara setengah LED pertama dan kedua
for (int i = 0; i < 4; i++) {
digitalWrite(pins[i], HIGH);
}
delay(200);
for (int i = 0; i < 4; i++) {
digitalWrite(pins[i], LOW);
}
for (int i = 4; i < 8; i++) {
digitalWrite(pins[i], HIGH);
}
delay(200);
for (int i = 4; i < 8; i++) {
digitalWrite(pins[i], LOW);
}
delay(1000); // Jeda akhir sebelum mengulangi pola dari awal
}