Challenge

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

#OFFLINE BATCH

float microsecToinchs( float d);
float avg;
int i,sum;
int duration,inches;
float Duration_inch;
int data[5];


void setup()
{
  Serial.begin(9600);
  pinMode(7, INPUT);
}

void loop()
{
  float average = mov_avg();
  Serial.println("distance value is");
  Serial.println( inches);
  delay(1000);
}

void US_Tx()
{
  pinMode(7,OUTPUT);
  //delayMicroseconds(5);
  digitalWrite(7,LOW);
  delayMicroseconds(2);
  digitalWrite(7,HIGH);
  delayMicroseconds(5);
  digitalWrite(7,LOW);
  delayMicroseconds(2);
}
float US_Rx()
{
 pinMode(7,INPUT);
   duration=(unsigned int)pulseIn(7,HIGH);
   Duration_inch = microsecToinchs(duration);
   return Duration_inch;
}
float microsecToinchs(float d)
{
   inches=((d/73.35)/2);
  return d;
}
float mov_avg()
{
 
 
  for(i=0;i<5;i++)
  {
    US_Tx();
  data[i]=US_Rx();
    sum=sum+data[i];
       
   }
  avg=sum/5;
  i=0;
  return avg;
}

 
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.