#define echo 4
#define trigger 5
#define Relay1 6
#define Relay2 7
#define Relay3 8
float time = 0, distance = 0;
void setup()
{
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(Relay3, OUTPUT);
delay(2000);
}
void loop()
{
measure_distance();
digitalWrite(Relay1, HIGH);
if (distance >= 0 && distance <= 5)
{
digitalWrite(Relay2, HIGH);
digitalWrite(Relay3, LOW);
}
else if (distance >= 10 && distance <= 15)
{
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, HIGH);
}
else
{
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, LOW);
}
delay(500);
}
void measure_distance()
{
digitalWrite(trigger, LOW);
delayMicroseconds(2);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
time = pulseIn(echo, HIGH);
distance = time * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
}