#include <ESP32Servo.h>
Servo myservo;
int pirPin = 2; // Définissez la broche GPIO pour le capteur PIR
int pirState = LOW;
unsigned long previousMillis = 0;
const long interval = 5000; // Intervalle de retour à 0 (en millisecondes)
void setup() {
myservo.attach(13); // Attachez le servo à une broche PWM de l'ESP32 (GPIO 13, par exemple)
pinMode(pirPin, INPUT); // Configurez la broche PIR comme entrée
myservo.write(0); // Placez le servo à 0 degré
Serial.begin(115200); // Initialisez la communication série (optionnel pour le débogage)
}
void loop() {
pirState = digitalRead(pirPin); // Lisez l'état du capteur PIR
if (pirState == HIGH) {
myservo.write(90); // Déplacez le servo à 90 degrés
previousMillis = millis(); // Réinitialisez le chronomètre
Serial.println("Mouvement détecté!");
}
if (millis() - previousMillis >= interval) {
myservo.write(0); // Remettez le servo à 0 degré après l'intervalle
}
}