Project 2 - Measuring the distance of an object using ultrasonic sensor and also smoothen the sensor data using moving average filter
int trigpin = 11;
int echopin = 12;
long distance,cm,inches;
long avg;
int sum;
int i;
void setup()
{
Serial.begin(9600);
pinMode(trigpin,OUTPUT);
pinMode(echopin,INPUT);
}
void loop()
{
digitalWrite(trigpin,LOW);
delayMicroseconds(5);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
pinMode(echopin,INPUT);
distance = pulseIn(echopin,HIGH);
cm = (distance/2)/29.1;
inches = (distance/2)/74;
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:

code and output:
