Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Principle




  • Ultrasonic sensors use the same principle bats (flying mammals) use to detect obstacles – by sending ultrasonic signals and analysing the reflection / echo
  • The time between sending a signal (a trigger pulse of width 10us) and receiving an echo is used to calculate the distance from an object
  • HC-SR04 needs +5V DC, works for obstacles at an angle <15°, for distances between 2cm – 400 cm
  • Practically, 3-300 cm is fairly accurate (up to 0.3cm). If it is too close or too far, no meaningful echo will be received, and the reading might show a high / inaccurate distance
  • Distance = (time taken from trigger to echo/2) x speed of sound
  • Speed of sound is about 345 m/s at 23oC

Connections

Assuming digital pin 9 is the triggerPin and digital pin 8 is the  echoPin.

Code


C++Blocks
long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT);  // Clear the trigger
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
 // Sets the trigger pin to HIGH state for 10 microseconds
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  pinMode(echoPin, INPUT);
 // Reads the echo pin, and returns the 
 // sound wave travel time in microseconds
  return pulseIn(echoPin, HIGH);
}
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  distanceCm = 0.01723 * readUltrasonicDistance(9, 8);
  // try to make sense of the above formula!
  Serial.println(distanceCm);
  delay(10);
}]] ></ac:plain-text-body></ac:structured-macro></div></td><td><div class="content-wrapper"><p><ac:image ac:width="700"><ri:attachment ri:filename="image2020-1-20_14-54-15.png" /></ac:image></p></div></td></tr></tbody></table><p><br /></p><h3>Simulation</h3><p><ac:image ac:width="850"><ri:attachment ri:filename="image2020-1-20_14-51-24.png" /></ac:image></p><p><br /></p><p><br /></p>
  • No labels