#include <Servo.h>
Servo sg90;
int led = 6;
int echo = 5;
int trig = 4;
int dist = 0;
int zmn = 0;
void setup() {
pinMode (led, OUTPUT);
pinMode (trig, OUTPUT);
pinMode (echo, INPUT);
sg90.attach (3);
}
void loop() {
for (int i = 0; i <= 180; i++)
{
sg90.attach (3);
digitalWrite (led, LOW);
sg90.write (i);
delay (15);
digitalWrite (trig, HIGH);
delay(1);
digitalWrite (trig, LOW);
zmn = pulseIn (echo, HIGH);
dist = (zmn / 2) / 28.5;
if (dist < 50)
{
digitalWrite (led, HIGH);
sg90.detach();
}
}
for (int i = 180; i >= 0; i--)
{
sg90.attach (3);
digitalWrite (led, LOW);
sg90.write (i);
delay (15);
digitalWrite (trig, HIGH);
delay(1);
digitalWrite (trig, LOW);
zmn = pulseIn (echo, HIGH);
dist = (zmn / 2) / 28.5;
if (dist < 50)
{
digitalWrite (led, HIGH);
sg90.detach ();
}
}
}