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