9.11 Example: SonarRanger
/* SonarRanger. This script uses the Velleman VMA 306 SONAR to
determine the distance to an object. The round-trip time delay is
displayed on the serial monitor. If the object distance is
less than 1 m, the LED will glow. The wiring is as follows:
Sonar to Arduino
Vcc to 5V
GND to GND
TRIG to Pin 13
ECHO to Pin 12
Note that the OUTPUT pin of the SONAR is not used. */
#define TRIG 11
#define ECHO 12
#define LED 13
long distance, duration;
void setup(){
Serial.begin(9600)
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LED, OUTPUT);
}
void loop(){
digitalWrite(LED, LOW);
digitalWrite(TRIG, LOW);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration=pulseIn(ECHO, HIGH);
distance=duration * 0.017;
Serial.print("Time delay: ");
Serial.print(duration);
Serial.println(" uSec");
if (distance < 100) {
digitalWrite(LED, HIGH);
}
delay(250);
}
<PHOTO>