Challenge

Project 2 - Measuring the distance of an object using ultrasonic sensor and also smoothen the sensor data using moving average filter

OFFLINE

Measuring the distance of an object using ultrasonic sensor and also smoothen the sensor data using moving average filter.

PROGRAM:

float microsecToinchs( float d);//initialize the function to global
float avg;//initialize the global
int i,sum;//initialize the global
int duration,inches;//initialize the global
float Duration_inch;//initialize the global
int data[5];//initialize the global


void setup()
{
Serial.begin(9600);//to view serial monitor
pinMode(7, INPUT);//the input pin at 7
}

void loop()
{
float average = mov_avg();
Serial.println("distance value is");//to display the distance value of serial monitor
Serial.println( inches);
delay(1000);//delay in 1 sec
}

void US_Tx()//function definition for transmission
{
pinMode(7,OUTPUT);//the output pin at 7
digitalWrite(7,LOW);//to set the ouput in low
delayMicroseconds(2);//delay in microsec 2
digitalWrite(7,HIGH);//to set the ouput in high
delayMicroseconds(5);//delay in microsec 5
digitalWrite(7,LOW);//to set the ouput in low
delayMicroseconds(2);//delay in microsec 2
}
float US_Rx()//function definition for receiver
{
pinMode(7,INPUT);//the input pin at 7
duration=(unsigned int)pulseIn(7,HIGH);//to receive the pulse
Duration_inch = microsecToinchs(duration);
return Duration_inch;//to rerturn the duration inch
}
float microsecToinchs(float d)//function definition for microsectoinchs
{
inches=((d/73.35)/2);//to calculate the inches value
return d;//to return d
}
float mov_avg()//function definition for moving average
{


for(i=0;i<5;i++)
{
US_Tx();//to call trasmission function
data[i]=US_Rx();//to call receiver function
sum=sum+data[i];//to calculate sum value

}
avg=sum/5;//to calculate average value
return avg;//to return average
}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.