// Definisikan pin untuk sensor ultrasonik
const int trigPin = 9;
const int echoPin = 10;
// Definisikan pin untuk LED
const int ledPin = 13;
// Definisikan pin untuk potensiometer
const int potPin = A0;
// Variabel untuk menyimpan jarak dan tegangan
long duration;
int distance;
int potValue;
void setup() {
// Inisialisasi pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
// Inisialisasi komunikasi serial untuk debugging
Serial.begin(9600);
}
void loop() {
// Kirim sinyal trigger
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca sinyal echo
duration = pulseIn(echoPin, HIGH);
// Hitung jarak dalam cm
distance = duration * 0.034 / 2;
// Baca tegangan dari potensiometer
potValue = analogRead(potPin);
float voltage = potValue * (5.0 / 1023.0);
// Debugging print jarak dan tegangan
Serial.print("Jarak: ");
Serial.print(distance);
Serial.print(" cm");
Serial.print("\t Tegangan: ");
Serial.print(voltage);
Serial.println(" V");
// Kontrol LED berdasarkan jarak
if (distance < 150) {
digitalWrite(ledPin, HIGH);
} else if (distance > 250) {
digitalWrite(ledPin, LOW);
}
// Tunggu sebentar sebelum loop berikutnya
delay(100);
}