Ein passiver Summer ist ein Lautsprecher, welcher im Gegensatz zum aktiven Summer keine interne Elektronik, wie z.B. einen Oszillator, der eine hörbare Frequenz erzeugt, besitzt. Vom Ausgang, dem Mikrocontroller, geht beim passiven Summer die Frequenz aus, somit wird diesem ermöglicht mehrere Töne und ganze Melodien zu erzeugen. Im Vergleich zum passiven Summer kann der aktive Summer nur eine bestimmte Frequenz erzeugen. Im optischen Vergleich besitzt der aktive Summer unterschiedliche Ausgänge, während dies beim passiven Summer nicht der Fall ist. Beide Summer ähneln sich stark, weshalb es dringend nötig ist die Anschlüsse zu beachten.


#define passiver_buzzer 27       //Der PIN für den passiven Summer wurde auf 27 festgelegt

// Funktion zur Tonsteuerung ---> mit geringer werdendem Abstand soll sich die Tonfrequenz höher werden

void sound(int entfernung)

{

  // die Entfernungsabstände können beliebig angepasst werden

  if ((entfernung <= 50) && (entfernung >= 25))

  {

    ledcWriteTone(1, 300);

    delay(10);

  }

 

  else if ((entfernung <= 24) && (entfernung >= 15))

  {

    ledcWriteTone(1, 800);

    delay(5);

  }

 

  else if ((entfernung <= 14) && (entfernung >= 6))

  {

    ledcWriteTone(1, 1300);

    delay(2);

  }

 

  else if (entfernung <= 5)

  {

    ledcWriteTone(1, 1700);

    delay(1);

  }

 

  else

  {

    ledcWriteTone(1, 0);

    delay(1);

  }

}

void setup()

{

pinMode(passiver_buzzer, OUTPUT);    //Legt den Eingangstyp des angegebenen PINs fest

}

void loop()

{

    sound(entfernung);                             //Aufruf der Funktion zum Ansteuern des passiven Buzzers

  }