#include <WiFi.h>
#include <ESP32Servo.h>
#define LED_PIN 2
#define BUTTON_PIN 4
#define PIR_PIN 5
#define SERVO_PIN 13
Servo myServo;
bool wifiConnected = false;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(PIR_PIN, INPUT);
myServo.attach(SERVO_PIN);
myServo.write(0);
digitalWrite(LED_PIN, LOW);
Serial.begin(115200);
}
void loop() {
// --- Scan WiFi saat tombol ditekan ---
if (digitalRead(BUTTON_PIN) == LOW) {
Serial.println("Scanning WiFi...");
for (int i = 0; i < 6; i++) { // LED Blink 3x
digitalWrite(LED_PIN, HIGH);
delay(300);
digitalWrite(LED_PIN, LOW);
delay(300);
}
// Misal: koneksi sukses
wifiConnected = true;
digitalWrite(LED_PIN, HIGH); // LED nyala terus
Serial.println("WiFi connected!");
}
// --- Jika WiFi sudah konek, cek sensor PIR ---
if (wifiConnected) {
int motion = digitalRead(PIR_PIN);
if (motion == HIGH) {
Serial.println("Gerakan terdeteksi!");
myServo.write(90);
digitalWrite(LED_PIN, HIGH);
} else {
myServo.write(0);
digitalWrite(LED_PIN, LOW);
}
}
delay(100);
}