#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,9,8,7);
int led1 = 13;
int led2 = 4;
int potpin = 0;
int val = 0;
int buzzer1 = 5;
int buzzer2 = 3;
int button1 = 2;
int button2 = 6;
bool partyMode = false;
bool paused = false;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(buzzer1, OUTPUT);
pinMode(buzzer2, OUTPUT);
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
lcd.begin(20,4);
}
void loop ()
{
if (digitalRead(button1)==LOW && !paused){
delay(200);
partyMode = !partyMode;
lcd.clear();
}
if(digitalRead(button2)== LOW){
delay(200);
paused = !paused;
lcd.clear();
if(paused){
lcd.setCursor(0,0);
lcd.print("system paused");
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
noTone(buzzer1);
noTone(buzzer2);
return;
}
}
if(paused){
return;
}
if (partyMode){
lcd.setCursor(0,0);
lcd.print("Party Mode Active!");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(200);
int randomFrequency = random(200, 1000);
tone(buzzer1, randomFrequency);
tone(buzzer2, randomFrequency);
}
else{
val = analogRead(potpin);
if (val < 250){
lcd.begin(20,4);
lcd.print("rendah");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
tone(buzzer1, 200);
tone(buzzer2, 200);
} else if (val < 700){
lcd.begin(20,4);
lcd.print("sedang");
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
tone(buzzer1, 500);
tone(buzzer2, 500);
} else{
lcd.begin(20,4);
lcd.print("tinggi");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
tone(buzzer1, 1000);
tone(buzzer2, 1000);
}
delay(100);
}
}
void stopBuzzers() {
noTone(buzzer1);
noTone(buzzer2);
}