// https://forum.arduino.cc/t/ultrasonic-sensor-only-gives-0cm/1247438/1
const int echoPin = 2;
const int triggerPin = 3;
int pulseValue;
float centimetersDistance;
const int ledGreen = 4;
const int ledRed = 5;
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(triggerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(triggerPin, LOW);
delayMicroseconds(5);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pulseValue = pulseIn(echoPin, HIGH);
centimetersDistance = pulseValue * 0.034/2;
Serial.print("Distance: ");
Serial.print(centimetersDistance);
Serial.println(" cm ");
delay(500);
if(centimetersDistance >=10) {
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
} else {
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
}
}