#include <Servo.h>
Servo myServo;
int pirPin = 2; // PIR sensor connected to digital pin 2
int servoPin = 9; // Servo connected to digital pin 9
int pirState = LOW; // Start with no motion detected
int servoAngle = 90; // Initial position
void setup() {
pinMode(pirPin, INPUT);
myServo.attach(servoPin);
myServo.write(servoAngle); // Set servo to middle position
Serial.begin(9600);
}
void loop() {
int motionDetected = digitalRead(pirPin);
if (motionDetected == HIGH) {
if (pirState == LOW) {
Serial.println("Motion detected!");
servoAngle = random(180, 135); // Move servo to a random angle
myServo.write(servoAngle);
pirState = HIGH;
delay(1000); // Delay to avoid false triggers
}
} else {
if (pirState == HIGH) {
Serial.println("Motion ended!");
pirState = LOW;
}
}
delay(100); // Small delay to stabilize reading
}