Q.No.5 - Write a program to measure distance with ultrasonic sensor and if distance is <10cm both led blink fast (<20cm- led blink slowly, <30 cm one led on.)
Sol.-
int red=2;
int green=4;
int echo=13; // echo is used for input
int trig=12; // trig is used for output
void setup()
{
pinMode(red,OUTPUT);
pinMode(green,OUTPUT);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
Serial.begin(9600);
}
void loop()
{
int time;
int distance;
digitalWrite(trig,1);
delayMicroseconds(1000);
digitalWrite(trig,0);
time=pulseIn(echo,1);
distance=(time*0.034/2) ; //0.034 speed of sensor
Serial.print("Distance in cm is");
Serial.println(distance);
if(distance <10)
{
digitalWrite(red,1);
delay(100);
digitalWrite(red,0);
delay(100);
digitalWrite(green,1);
delay(100);
digitalWrite(green,0);
delay(100);
}
else if(distance<20)
{
digitalWrite(green,1);
delay(950);
digitalWrite(green,0);
delay(950);
digitalWrite(red,1);
delay(950);
digitalWrite(red,0);
delay(950);
}
else if(distance<30)
{
digitalWrite(red,1);
delay(1000);
digitalWrite(red,0);
delay(1000);
}
else
{
digitalWrite(red,0);
digitalWrite(green,0);
}
}
OUTPUT:
![](practical-iot-5o.png)