//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);
}
}