Arduino park sensörü

#define trigPin 9
#define echoPin 10
#define redLED 2
#define yellowLED 3
#define greenLED 4
#define buzzer 8

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(redLED, OUTPUT);
  pinMode(yellowLED, OUTPUT);
  pinMode(greenLED, OUTPUT);

  pinMode(buzzer, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  long sure, mesafe;

  // Ultrasonik ölçüm
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  sure = pulseIn(echoPin, HIGH);
  mesafe = (sure / 2) / 29.1; // cm

  Serial.print("Mesafe: ");
  Serial.println(mesafe);

  // LED ve buzzer mantığı
  if (mesafe < 10) {
    // Çok yakın
    digitalWrite(redLED, HIGH);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);

    tone(buzzer, 1000); // sürekli alarm
  }
  else if (mesafe < 20) {
    // Orta mesafe
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, HIGH);
    digitalWrite(greenLED, LOW);

    tone(buzzer, 800);
    delay(100);
    noTone(buzzer);
  }
  else if (mesafe < 40) {
    // Uzak ama algıladı
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, HIGH);

    tone(buzzer, 600);
    delay(200);
    noTone(buzzer);
  }
  else {
    // Güvenli mesafe
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);

    noTone(buzzer);
  }

  delay(100);
}




LED’ler nasıl çalışıyor?

Mesafe < 10 cm: Kırmızı LED yanar + sürekli alarm 10–20 cm: Sarı LED yanar + hızlı aralıklı alarm 20–40 cm: Yeşil LED yanar + yavaş aralıklı alarm 40 cm üzeri: Tüm LED’ler söner + buzzer kapanır