Arduino Uno Project

I’m trying to create a code to make an led light up after a certain distance is reached using the 3 pin ultrasonic rangefinder from www.parallax.com. I’m wondering how exactly to set up the connections with a breadboard, and if my code is on the right track. Here’s my code so far:

/* Ping))) Sensor
  
   This sketch reads a PING))) ultrasonic rangefinder and returns the
   distance to the closest object in range. To do this, it sends a pulse
   to the sensor to initiate a reading, then listens for a pulse 
   to return.  The length of the returning pulse is proportional to 
   the distance of the object from the sensor.
     
   The circuit:
	* +V connection of the PING))) attached to +5V
	* GND connection of the PING))) attached to ground
	* SIG connection of the PING))) attached to digital pin 7
 */

// this constant won't change.  It's the pin number
// of the sensor's output:
int pingPin = 7;
int ledPin = 13;



void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}

void loop()
{
  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): 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(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(100);
}

long microsecondsToInches(long microseconds)
{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

  if (return (microseconds < 888/2)) 
  {
  digitalWrite(13, HIGH)
  }

With that code I get Ping:79: error: expected unqualified-id before ‘if’

The if-statement is existing outside of any functions.

Did you mean to put it inside of void loop()?

Alright so would that go at the end of the void loop()? I’m trying to get the sensor to make the led turn on so I wasn’t sure how to code that…

EDIT
I inserted the if statement at the beginning of the void loop() just to try it (see below), and go the following errors:

Ping.cpp: In function ‘void loop()’:
Ping:29: error: expected primary-expression before ‘return’
Ping:29: error: expected `)’ before ‘return’
Ping:29: error: ‘microseconds’ was not declared in this scope

void loop()
{
   if(return) microseconds < 888/2; 
   digitalWrite(13, HIGH);

  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

The location of the if-statement is up to you. When in the list of instructions inside of loop, do you want to check to see if it is time to turn on the LED?

Now, your if-statement doesn’t make any sense.

  if (return (microseconds < 888/2))

return(…)? return is used at the end of a function so it doesn’t belong there.

What is “microseconds”? That isn’t defined anywhere.

I do want to check to see if it is time to turn on the LED, but I'm not sure how to tell the LED to turn on after the sensor reaches a certain distance.

As for the microseconds, as I said above I'm not sure how to tell the LED to turn on after the certain distance is reached.