Aktiver Buzzer am Arduino

Aktiver Buzzer am Arduino Titelbild

Der Aktive Buzzer am Arduino

Der Buzzer wird auf deutsch auch Summer genannt und ist ein elektronisches Bauteil mit denen simple Töne erzeugt werden können. Wir benutzen einen aktiven Buzzer, was bedeutet, dass wir einen Ton mithilfe der PWM Output Pins erzeugen und damit auch den Ton beeinflussen können.

Bild vom Buzzer, + und - Seite angezeigt

Aufbau mit dem Arduino

Anschlüsse Arduino Buzzer
IO 9 ~ Langes Bein Buzzer
GND Kurzes Bein Buzzer

Pro Tipp: Der Buzzer ist nicht gerade leise und kann sehr schnell nervend sein, du kannst ihn aber mit einem Widerstand (z.B. mit 220 Ohm) leiser machen! (Dadurch verändert sich aber auch der erzeugte Ton).

int buzzer = 9; //buzzer to arduino pin 9

void setup(){
  pinMode(buzzer, OUTPUT);
}

void loop(){
  tone(buzzer, 1000);
  delay(1000);
  noTone(buzzer);
  delay(1000);  
}

Schritt für Schritt

Wenn du das Programm ausführst, sollte der Buzzer bei dir immer für eine Sekunde aktiv sein und einen relativ hohen Ton von sich geben. Dann ist wieder für eine Sekunde Pause. Das ganze sehen wir im Code auch in den Zeilen 8 bis 11. In der 8. Zeile wird zunächst die Funktion tone() aufgerufen. Dieser Funktion können bis zu drei mögliche Parameter übergeben werden. Beim ersten Parameter handelt es dich um den IO Pin, den wir in der Variablen buzzer gespeichert haben. Wichtig ist, dass hier ein PMW-fähiger IO Pin angegeben wird. Mit dem zweiten Parameter übergeben wir eine Frequenz. Sie wird als Int (Integer) übergeben und wird in Hertz angegeben. https://de.wikipedia.org/wiki/Hertz_(Einheit) ist die Einheit, in der Frequenzen angegeben werden. Als dritter Parameter kann ein Wert angegeben werden, der die Dauer in Millisekunden bestimmt. Aber der ist nicht unbedingt notwendig.

Weil wir diesen dritten Parameter nicht übergeben, gibt es in Zeile 9 die Funktion delay(), die das Programm für eine Sekunde warten lässt.

In Zeile gibt es dann die Funktion noTone(). Diese kann nur einem IO Pin übergeben werden. Mit ihr stoppen wir das Erzeugen eines "Tone"-Signals an diesem Pin. Wenn wir diese Funktion nicht aufrufen würden, wäre der Ton ununterbrochen zu hören. Auch wenn du an einem anderen Pin einen zweiten Buzzer anschließt, musst du zunächst einmal noTone() aufrufen, bevor ein zweites/neues "Tone"-Signal erzeugt werden kann. Mit dem nächsten delay() wird das Prgramm dann erneut für eine Sekunde pausiert, bevor alles wieder von vorne anfängt.

Jetzt bist du dran: Was passiert, wenn der zweite Parameter von der tone() Funktion verändert wird und welche Töne kannst du damit erzeugen?

Wie du siehst, ist der Buzzer ganz einfach mit dem Arduino zu bedienen. Gleichzeitig hast du damit eine weitere Möglichkeit, um Daten weiterzugeben. Das heißt, du kannst mit diesem Buzzer einen Alarm gegen Einbrecher bauen oder einfach nur den Nutzer warnen, wenn es zu hell ist, oder oder oder. Deiner Fantasie sind keine Grenzen gesetzt!

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!