// Definisikan pin untuk sensor ultrasonik
const int trigPin = 12; // GPIO 12 untuk pin trig
const int echoPin = 13; // GPIO 13 untuk pin echo
// Definisikan pin untuk LED
const int redLedPin = 27; // GPIO 27 untuk LED merah
const int greenLedPin = 33; // GPIO 33 untuk LED hijau
void setup() {
// Inisialisasi pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
// Matikan semua LED saat awal
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, LOW);
}
void loop() {
// Kirim pulsa ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca waktu pulsa ultrasonik kembali
long duration = pulseIn(echoPin, HIGH);
// Hitung jarak dalam centimeter
int distance = duration * 0.034 / 2;
// Tentukan logika lampu berdasarkan jarak
if (distance <= 100) { // Jika ada objek dalam 1 meter (100 cm), tandai sebagai parkir
digitalWrite(redLedPin, HIGH); // Lampu merah menyala
digitalWrite(greenLedPin, LOW); // Lampu hijau mati
} else { // Jika tidak, tandai sebagai tidak parkir
digitalWrite(redLedPin, LOW); // Lampu merah mati
digitalWrite(greenLedPin, HIGH); // Lampu hijau menyala
}
delay(1000); // Tunggu sejenak sebelum membaca kembali
}