const int btn_emergency = 12;
const int btn_k3 = 14;
const int btn_pendek = 27;
const int btn_panjang = 26;
const int led_emergency = 13;
const int led_k3 = 33;
const int led_pendek = 32;
const int led_panjang = 2;
int led_emergency_state = LOW;
int led_k3_state = LOW;
int led_pendek_state = LOW;
int led_panjang_state = LOW;
int last_button_emergency_state;
int last_button_k3_state;
int last_button_pendek_state;
int last_button_panjang_state;
int current_button_emergency_state;
int current_button_k3_state;
int current_button_pendek_state;
int current_button_panjang_state;
void setup() {
Serial.begin(9600); // initialize serial
pinMode(btn_emergency, INPUT_PULLUP);
pinMode(btn_k3, INPUT_PULLUP);
pinMode(btn_pendek, INPUT_PULLUP);
pinMode(btn_panjang, INPUT_PULLUP);
pinMode(led_emergency, OUTPUT);
pinMode(led_k3, OUTPUT);
pinMode(led_pendek, OUTPUT);
pinMode(led_panjang, OUTPUT);
current_button_emergency_state = digitalRead(btn_emergency);
current_button_k3_state = digitalRead(btn_k3);
current_button_pendek_state = digitalRead(btn_pendek);
current_button_panjang_state = digitalRead(btn_panjang);
}
void loop() {
last_button_emergency_state = current_button_emergency_state;
last_button_k3_state = current_button_k3_state;
last_button_pendek_state = current_button_pendek_state;
last_button_panjang_state = current_button_panjang_state;
current_button_emergency_state = digitalRead(btn_emergency);
current_button_k3_state = digitalRead(btn_k3);
current_button_pendek_state = digitalRead(btn_pendek);
current_button_panjang_state = digitalRead(btn_panjang);
if(last_button_emergency_state == HIGH && current_button_emergency_state == LOW) {
Serial.println("EMERGENCY!! CEPAT EVAKUASI");
// toggle state of LED
led_emergency_state = !led_emergency_state;
// control LED arccoding to the toggled state
digitalWrite(led_emergency, led_emergency_state);
delay(100);
}
if(last_button_k3_state == HIGH && current_button_k3_state == LOW) {
Serial.println("K3 DISIARKAN");
// toggle state of LED
led_k3_state = !led_k3_state;
// control LED arccoding to the toggled state
digitalWrite(led_k3, led_k3_state);
delay(100);
}
if(last_button_pendek_state == HIGH && current_button_pendek_state == LOW) {
Serial.println("BEL PENDEK DIBUNYIKAN");
// toggle state of LED
led_pendek_state = !led_pendek_state;
// control LED arccoding to the toggled state
digitalWrite(led_pendek, led_pendek_state);
delay(100);
}
if(last_button_panjang_state == HIGH && current_button_panjang_state == LOW) {
Serial.println("BEL PANJANG DIBUNYIKAN");
// toggle state of LED
led_panjang_state = !led_panjang_state;
// control LED arccoding to the toggled state
digitalWrite(led_panjang, led_panjang_state);
delay(100);
}
}