//deklarasi
#include <ESP32Servo.h>
#define ledmerah 32
#define lamputidur 26
#define pushbutton 33
#define alarm 25
Servo myservo;
void setup() {
pinMode(ledmerah, OUTPUT);
pinMode(lamputidur, OUTPUT);
pinMode(pushbutton, INPUT); //untuk mengekliknya di tahan
pinMode(alarm, OUTPUT); //mengeluarkan suara
myservo.attach(5); //pin control
}
void loop() {
// kode untuk menjalankannya
if(digitalRead(pushbutton) == HIGH) {//jika tombol di tekan
digitalWrite(ledmerah, HIGH); //maka lampu merah nyala
digitalWrite(lamputidur, LOW); //maka lampu kuning mati (lampu tidur)
tone(alarm, 2000); //alarm nyala
myservo.write(180); //servo motor nyala
}
else{ //selain kondisi di atas
digitalWrite(ledmerah, LOW); //maka lampu merah mati
digitalWrite(lamputidur, HIGH); //maka lampu kuning nyala (lampu tidur)
noTone(alarm); //alarm mati
myservo.write(0); //servo motor mati
//Ada sedikit problem pak. ini motor servonya tidak mau kembali lagi ke posisi 0.
//ketika pushbutton mati. seharusnya di posisi 0
//tapi motor servo tetap nyala.dan nyalanya di 90 derajat.
// padahal di codingan kalau sudah nyala posisi buat 180 derajat.
}
}