Challenge

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

Aim:

Implementation of code for “Measuring distance of an object using ultrasonic distance sensor (28015 Ping) and also smoothen the sensor data using moving average filter”.

Goals:

  • Measuring the distance in terms of inches of an object using Ultrasonic Distance Sensor (28015 Ping).
  • The sensor data is smoothened by using Moving average filter technique to eliminate the high frequency variations from the sensor data.

Key Highlights of the Project:

  • Measuring the distance travelled by the wave to the object and gets bounced back from the object to sensor.
  • Smoothening the sensor data by moving average filter technique, the filter has a window of certain size. That window determines that how many data the filter can take.

Deliverables of this project:

  • The distance travelled by a wave to the object for which we want to measure the distance using Ultrasonic Distance Sensor (28015 Ping).
  • Eliminate the high frequency jitters from the sensor data by Moving Average filter to smoothen the sensor data.

code:

#include <LiquidCrystal.h>

#define trigger 18

#define echo 19

LiquidCrystal lcd(2,3,4,5,6,7);

float time=0,distance=0;

int sum=0;
int avg;
int i;

void setup()

{
Serial.begin (9600);
lcd.begin(16,2);

pinMode(trigger,OUTPUT);

pinMode(echo,INPUT);

lcd.print(" Ultra sonic");

lcd.setCursor(0,1);

lcd.print("Distance Meter");

delay(2000);

}

void loop()

{

lcd.clear();

digitalWrite(trigger,LOW);

delayMicroseconds(2);

digitalWrite(trigger,HIGH);

delayMicroseconds(10);

digitalWrite(trigger,LOW);

delayMicroseconds(2);

time=pulseIn(echo,HIGH);

distance=time*344/20000;
for (i=0; i<5; i++)
{
sum=sum+distance;
avg = sum/5;
}
Serial.print(avg);
Serial.print("Avg, ");
Serial.print(distance);
Serial.print("cm");
Serial.println();
Serial.print(distance/100);
Serial.print("meter");
Serial.println();
lcd.clear();

lcd.print("Distance:");

lcd.print(distance);

lcd.print("cm");

lcd.setCursor(0,1);

lcd.print("Distance:");

lcd.print(distance/100);

lcd.print("m");

delay(1000);

}

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.