#define echoPin 2
#define trigPin 3
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
float readDistance() {
// Kirim trigger 10us
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca waktu pantulan
long duration = pulseIn(echoPin, HIGH);
// Konversi ke cm (kecepatan suara ~0.034 cm/us)
float distance = duration * 0.034 / 2;
return distance;
}
void loop() {
float distance = readDistance();
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// Contoh: nyalakan LED jika objek dekat (< 10 cm)
if (distance < 10) {
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
delay(500);
}