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