Make ultrasonic sensor more efficient with arduino

If you have seen my last post on ultrasonic sensor then i have some very basic trick to make ultrasonic sensor to give some efficient result by using averaging method i have done it....

the connection is same as my last post after done connection write this code



const int t1 = 7;
const int p1 = 8;


void setup() {
  Serial.begin(9600);
  pinMode(p1, INPUT);
  pinMode(t1, OUTPUT);
}

void loop()
{
  long duration1, cm1;
  giveSignal(t1);
  duration1 = pulseIn(p1, HIGH);
  cm1 = microsecondsToCentimeters(duration1);

  giveSignal(t1);
  long duration2 = pulseIn(p1, HIGH);
  cm2 = microsecondsToCentimeters(duration1);

  giveSignal(t1);
  long duration3 = pulseIn(p1, HIGH);
  cm3 = microsecondsToCentimeters(duration1);

  giveSignal(t1);
  long duration4 = pulseIn(p1, HIGH);
  cm4 = microsecondsToCentimeters(duration1);

  giveSignal(t1);
  long duration5 = pulseIn(p1, HIGH);
  cm5 = microsecondsToCentimeters(duration1);

 long cm = (cm1+cm2+cm3+cm4+cm5) / 5;

  Serial.print(cm);
  Serial.println("cm1  ");
  delay(1000);

}

long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}

void giveSignal(int pingPin)
{
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(pingPin, LOW);
}

upload this code to arduino it will give you a average value of  your distance

Comments

Popular posts from this blog

Arduino with Ultrasonic Sensor HC-SR04

Can computer control human body