// 3회 모션센서와 Relay모듈 제어
#define PIR_PIN 12
#define RELAY_PIN 17
int ledState = LOW;
int pir_val = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
pir_val = digitalRead(PIR_PIN);
if (pir_val == HIGH ) { // check if the sensor is HIGH
digitalWrite(RELAY_PIN, HIGH); // turn LED ON
delay(100); // delay 100 milliseconds
if (ledState == LOW) {
Serial.println("Motion detected!");
ledState = HIGH; // update variable state to HIGH
}
} else {
digitalWrite(RELAY_PIN, LOW); // turn LED OFF
delay(200); // delay 200 milliseconds
if (ledState == HIGH){
Serial.println("Motion stopped!");
ledState = LOW; // update variable state to LOW
}
}
}