#include <ESP32Servo.h>
Servo myservo;
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define WIDHT_SCREEN 128
#define HEIGHT_SCREEN 64
Adafruit_SSD1306 oled(WIDHT_SCREEN,HEIGHT_SCREEN, & Wire, -1);
const int pirPin = 15;
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT);
delay(2000);
Serial.println("Sensor PIR siap.");
myservo.attach(15);
Serial.begin(9600);
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}
delay(2000);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 10);
oled.println(" Tidak ada pergerakan ");
oled.display();
}
void loop () {
int pirState = digitalRead(pirPin);
if (pirState == HIGH) {
Serial.println("Pergerakan terdeteksi!");
} else {
Serial.println("Tidak ada pergerakan.");
}
delay(1000);
myservo.write(0);
delay(1000);
myservo.write(90);
delay(1000);
myservo.write(180);
delay(1000);
}