Challenge

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

Q.

In this project the 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”.

Ans.

Code:-

int trigPin = 11; // Trigger
int echoPin = 12; // Echo
long duration, cm, inches;
long sum=0;
long avg;
int i;

void setup()

{
        //Serial Port begin
        Serial.begin (9600);
        //Define inputs and outputs
        pinMode(trigPin, OUTPUT);
        pinMode(echoPin, INPUT);
}

void loop()

{
        // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
        // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
        digitalWrite(trigPin, LOW);
        delayMicroseconds(5);
        digitalWrite(trigPin, HIGH);
        delayMicroseconds(10);
        digitalWrite(trigPin, LOW);

       // Read the signal from the sensor: a HIGH pulse whose
       // duration is the time (in microseconds) from the sending
      // of the ping to the reception of its echo off of an object.
        pinMode(echoPin, INPUT);
        duration = pulseIn(echoPin, HIGH);

     // Convert the time into a distance

        cm = (duration/2) / 29.1; // Divide by 29.1 or multiply by 0.0343
        inches = (duration/2) / 74; // Divide by 74 or multiply by 0.0135
        for (i=0; i<5; i++)
        {
               sum=sum+inches;
               avg = sum/5;
        }
        Serial.print(avg);
        Serial.print("Avg, ");
        Serial.print(cm);
        Serial.print("cm");
        Serial.println();
        Serial.print(inches);
        Serial.print("in");
        Serial.println();

        delay(250);
}

Circuit diagram:-

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.