#define LED_COUNT 4
#define merah 2
#define kuning 3
#define ijo 4
#define biru 5
#define BUZZER_COUNT 2
#define buzz1 6
#define buzz2 7
// Define the pins for the LEDs
const int LED_pins[LED_COUNT] = {merah, kuning, ijo, biru};
// Define the pins for the buzzers
const int buzz_pins[BUZZER_COUNT] = {buzz1, buzz2};
void setup() {
// Set the LED pins as outputs
for (int i = 0; i < LED_COUNT; i++) {
pinMode(LED_pins[i], OUTPUT);
}
// Set the buzzer pins as outputs
for (int i = 0; i < BUZZER_COUNT; i++) {
pinMode(buzz_pins[i], OUTPUT);
}
}
void beep1() {
tone(buzz_pins[0], 500);
delay(200);
noTone(buzz_pins[0]);
}
void beep2() {
tone(buzz_pins[1], 500);
delay(200);
noTone(buzz_pins[1]);
}
void loop() {
// Sequential LED blinking
for (int i = 0; i < LED_COUNT; i++) {
digitalWrite(LED_pins[i], HIGH);
delay(200);
digitalWrite(LED_pins[i], LOW);
delay(200);
}
// Alternating LED pairs with buzzer 1
digitalWrite(LED_pins[0], HIGH); // LED_merah
digitalWrite(LED_pins[2], HIGH); // LED_ijo
beep1();
delay(200);
digitalWrite(LED_pins[0], LOW);
digitalWrite(LED_pins[2], LOW);
delay(200);
digitalWrite(LED_pins[1], HIGH); // LED_kuning
digitalWrite(LED_pins[3], HIGH); // LED_biru
beep1();
delay(200);
digitalWrite(LED_pins[1], LOW);
digitalWrite(LED_pins[3], LOW);
delay(200);
// Alternating LED pairs with buzzer 2
digitalWrite(LED_pins[0], HIGH); // LED_merah
digitalWrite(LED_pins[2], HIGH); // LED_ijo
beep2();
delay(200);
digitalWrite(LED_pins[0], LOW);
digitalWrite(LED_pins[2], LOW);
delay(200);
digitalWrite(LED_pins[1], HIGH); // LED_kuning
digitalWrite(LED_pins[3], HIGH); // LED_biru
beep2();
delay(200);
digitalWrite(LED_pins[1], LOW);
digitalWrite(LED_pins[3], LOW);
delay(200);
}