const int trigPin = 6;
const int echoPin = 5;
const int greenLedPin = 8;
const int redLedPin = 9;
const int buzzerPin = 10;
void setup()
{
Serial.begin(9600);
Serial.println("1. Sensor ON");
Serial.println("2. Sensor OFF");
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop()
{
Serial.println("Set your Sensor state:");
while(Serial.available()==0){}
int choice = Serial.parseInt();
do
{
switch(choice)
{
case 1:
if(choice == 1)
{
Serial.println("Sensor ON");
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
if (distance >=250)
{
digitalWrite(greenLedPin, LOW);
digitalWrite(redLedPin, LOW);
Serial.print("Sensor value : ");
Serial.println(distance);
}
else if (distance <= 250 && distance >=100)
{
digitalWrite(greenLedPin, HIGH);
digitalWrite(redLedPin, LOW);
Serial.print("Sensor value : ");
Serial.println(distance);
Serial.println("Safe Zone");
}
else if (distance < 100)
{
digitalWrite(greenLedPin, LOW);
digitalWrite(redLedPin, HIGH);
digitalWrite(buzzerPin, HIGH);
delay(100);
digitalWrite(buzzerPin, LOW);
delay(100);
digitalWrite(buzzerPin, HIGH);
Serial.print("Sensor value : ");
Serial.println(distance);
Serial.println("Danger Zone");
}
delay(500);
}
break;
case 2:
if(choice == 2)
{
digitalWrite(trigPin, LOW);
digitalWrite(greenLedPin, LOW);
digitalWrite(redLedPin, LOW);
digitalWrite(buzzerPin, LOW);
Serial.println("LED OFF");
}
break;
default:
Serial.println("Want to operate Sensor again!");
}
}
while(choice == 2);
}