const int pingPin =13;
void setup() {
Serial.begin(9600);
}
void loop()
{
long duration, inches, cm;
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(5);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(12, INPUT);
duration = pulseIn(12, HIGH);
inches = microsecondsToInches(duration); //duration/74/2
cm = microsecondsToCentimeters(duration); //duration/29/2
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
if (cm < 10){
digitalWrite(2, HIGH);
}else{digitalWrite(2, LOW);}
if (cm > 10 && cm < 20)
digitalWrite(4, HIGH);
}else{digitalWrite(4, LOW);}
if (cm > 20)
digitalWrite(6, HIGH);
}else{digitalWrite(6, LOW);}
delay(100);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}