Ein­park­hil­fe

#define LAUTSPRECHER 4
#define LED 5
#define SENDEN 7
#define ECHO 6

void setup()
{
  pinMode(SENDEN, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(LAUTSPRECHER, OUTPUT);
  pinMode(LED, OUTPUT);
}

void loop()
{
  // Funktion aufrufen
  long Entfernung = EntfernungMessen();

  // versuchen Messfehler auszuschließen
  if (Entfernung < 100)
  {
    switch (Entfernung)
    {
      case 13 ... 15:
        tone(LAUTSPRECHER, 1000, 2);
        digitalWrite(LED, HIGH);
        delay(50);
        digitalWrite(LED, LOW);
        delay(500);
        break;

      case 11 ... 12:
        tone(LAUTSPRECHER, 1000, 2);
        digitalWrite(LED, HIGH);
        delay(50);
        digitalWrite(LED, LOW);
        delay(400);
        break;

      case 9 ... 10:
        tone(LAUTSPRECHER, 1000, 2);
        digitalWrite(LED, HIGH);
        delay(50);
        digitalWrite(LED, LOW);
        delay(300);
        break;

       case 7 ... 8:
         tone(LAUTSPRECHER, 1000, 2);
         digitalWrite(LED, HIGH);
         delay(50);
         digitalWrite(LED, LOW);
         delay(200);
         break;

       case 5 ... 6:
         tone(LAUTSPRECHER, 1000, 2);
         digitalWrite(LED, HIGH);
         delay(50);
         digitalWrite(LED, LOW);
         delay(100);
         break;

       case 2 ... 4:
         tone(LAUTSPRECHER, 1000);
         digitalWrite(LED, HIGH);
         break;
    }
  }
}

int EntfernungMessen()
{
  long Entfernung = 0;

  // Sender kurz ausschalten um Störungen des Signal zu vermeiden
  digitalWrite(SENDEN, LOW);
  delay(5);

  // Signal senden
  digitalWrite(SENDEN, HIGH);
  delayMicroseconds(10);
  digitalWrite(SENDEN, LOW);

  // pulseIn -> Zeit messen, bis das Signal zurückkommt
  long Zeit = pulseIn(ECHO, HIGH);

  // Entfernung in cm berechnen
  // Zeit/2 -> nur eine Strecke
  Entfernung = (Zeit / 2) * 0.03432;
  return Entfernung;
}

Letzte Aktualisierung: Jul 24, 2023 @ 10:43