//Nama  : Lucky Tandoballa
//NPM   : 2125250054
//Kelas : IF71

#define potPin 0
#define led1 18
#define led2 17
#define led3 16
#define button 2

int mode = 0;  // Variabel untuk memilih mode
bool buttonState = HIGH;  // Menyimpan status tombol saat ini
bool lastButtonState = HIGH;  // Menyimpan status tombol sebelumnya

void setup() {
  Serial.begin(115200);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(button, INPUT_PULLUP);
}

void loop() {
  int potValue = analogRead(potPin);

  // Mode berubah setiap kali potValue melewati batas tertentu
  if (potValue < 512) {
    mode = 1; 
  } else {
    mode = 2;  
  }

  Serial.print("Potentiometer Value: ");
  Serial.println(potValue);
  Serial.print("Mode: ");
  Serial.println(mode);

  // Membaca input tombol
  buttonState = digitalRead(button);

  if (buttonState != lastButtonState) {
    if (buttonState == LOW) {
      Serial.println("SELAMAT UJIAN TENGAH SEMESTER");  // Mengirimkan pesan saat tombol ditekan
    } else {
      Serial.println("SEMANGAT!!!");  // Mengirimkan pesan saat tombol dilepas
    }
    delay(300);
  }

  lastButtonState = buttonState;  // Menyimpan status tombol sebagai referensi untuk loop berikutnya

  if (mode == 1) {
    // Mode 1: Pola lampu pertama Hidup bersamaan dengan delay yang berbeda led1 = 1dtk ; led2=1,5dtk ; led3=200ms
    digitalWrite(led1, HIGH);
    delay(1000);   
    digitalWrite(led1, LOW); 
    
    digitalWrite(led2, HIGH);
    delay(1500);
    digitalWrite(led2, LOW);
    
    digitalWrite(led3, HIGH);
    delay(200);
    digitalWrite(led3, LOW);
    
  } else if (mode == 2) {
    // Mode 2: Pola lampu kedua
    digitalWrite(led3, HIGH);
    delay(250);
    digitalWrite(led3, LOW);
    delay(250);

    digitalWrite(led2, HIGH);
    delay(350);
    digitalWrite(led2, LOW);
    delay(350);

    digitalWrite(led1, HIGH);
    delay(300);
    digitalWrite(led1, LOW);
    delay(300);
  }
}
$abcdeabcde151015202530fghijfghij