#include <Servo.h>
const int pirPin = 2;
const int TrigPin = 9;
const int EchoPin = 10;
const int ledPin = 13;
const int servoPin = 5;
Servo servoku;
void setup() {
pinMode(pirPin, INPUT);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(ledPin, OUTPUT);
servoku.attach(servoPin);
}
void loop() {
int pirSensorValue = digitalRead(pirPin);
if (pirSensorValue == HIGH) {
digitalWrite(ledPin, HIGH);
rotateServo(90);
delay(1000);
digitalWrite(ledPin, LOW);
}
int distance = measureDistance();
if (distance > 0 && distance < 10) {
rotateServo(0);
}
}
void rotateServo(int angle) {
servoku.write(angle);
delay(500);
}
int measureDistance() {
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
int duration = pulseIn(EchoPin, HIGH);
int distance = duration * 0.034 / 2;
return distance;
}