Ingenieure von Morgen Robotik Kinder
Intuitiver Einstieg Arduino programmieren
Für Tüftler Elektrobaukästen
Exploratives Lernen Raspberry Pi

Arduino Buzzer – Tutorial in 4 Schritten

Veröffentlicht: . Geändert: .
Arduino Buzzer: Tutorial in 4 Schritten

Du hast noch nie von einem Arduino Buzzer gehört? Dann solltest Du unbedingt weiterlesen, denn einen Buzzer mit dem Arduino anzusteuern macht richtig viel Spaß! In diesem Tutorial zeigen wir Dir, wie Du beim Aufbau der Schaltung den/die Tüftler:in in Dir erwecken und anschließend sogar eigene Stücke komponieren kannst. Für weitere coole Projekte kannst Du gern jederzeit in der Rubrik Arduino vorbeischauen.

Arduino Buzzer: Die Grundlagen

Bevor wir unseren Arduino Buzzer zusammenbauen, schauen wir uns genau an, was sich eigentlich hinter diesem Begriff verbirgt. Deshalb klären wir zuerst, was man unter einem Buzzer versteht: Bestimmt hast Du schon einmal gesehen, wie die Kandidaten in einer Quizshow versucht haben, so schnell wie möglich auf einen roten Knopf zu drücken, um anschließend die richtige Antwort loszuwerden. Und Du weißt es sicher schon: Beim Drücken ertönt ein lautes Geräusch. Die elektronische Konstruktion, die das ermöglicht, bezeichnet man als Buzzer. Du kennst dieses Bauteil vielleicht auch unter dem deutschen Begriff Summer.

Nun aber zurück zu unserem Arduino Buzzer. Wir wissen jetzt, worum es bei unserem Projekt geht. Schauen wir uns deshalb als nächstes an, welche Bauteile wir benötigen. Los geht’s mit Schritt 1 unseres Tutorials.

1. Die Einkaufsliste für den Arduino Buzzer checken

Für unseren Arduino Buzzer müssen wir folgende Bauteile besorgen:

  • ein Arduino UNO
  • ein Buzzer HW-508
  • zwei Verbindungskabel

Damit Du Dir beim Einkaufen sicher sein kannst, dass Du die richtigen Teile erwischt hast, haben wir hier ein Bild der benötigten Materialien für Dich. Falls Du Dich noch nicht so gut mit den Arduino Boards auskennst, dann wirf doch einfach einen Blick in unser Wissensmagazin. Dort findest Du eine praktische Übersicht.

Arduino Buzzer: Bauteile
Abb. 1: Aus diesen Bauteilen besteht der Arduino Buzzer

Der hier verwendete Buzzer HW-508 ist ein passives Bauteil. Das bedeutet, dass er, im Gegensatz zu einem aktiven Buzzer, keinen integrierten Oszillator hat. Aber Moment! Das klingt so, als wäre wieder eine Begriffserklärung fällig: Ein Oszillator wandelt die angelegte Spannung in eine Tonhöhe um. In unserem Projekt übernimmt das Board diese Aufgabe, denn es übermittelt dem Buzzer die gewünschte Tonhöhe im Code. Aus diesem Grund greifen wir hier zu einem passiven Buzzer. Und jetzt heißt es: Ärmel hochkrempeln! Denn wir bauen nun unsere Schaltung zusammen.

2. Die Schaltung zusammenstecken

Eine gute Nachricht für alle Anfänger:innen: In unserem Tutorial wird nicht gelötet. Die Schaltung des Arduino Buzzers lässt sich nämlich ganz einfach auf einem Breadboard zusammenstecken. Den Aufbau erkennst Du dabei auf Abbildung 2:

Arduino Buzzer: Schaltung
Abb. 2: So ist die Schaltung unseres Arduino Buzzers aufgebaut

Der HW-508 hat drei Anschluss-Pins, von denen die beiden Äußeren mit Plus(+) und Minus(-) beschriftet sind. Der Plus-Pin wird dabei mit dem schaltbaren Digital-Pin 8 des Uno verbunden (rotes Kabel). Der Minus-Pin wird zudem mit einem Ground(GND)-Anschluss des Arduinos konnektiert. Du erkennst die Anschlüsse ganz einfach an der Aufschrift auf der Platine. Wenn Du die Arduino Projekte in unserem Wissensblog durchgehst, findest Du außerdem viele weitere Hinweise zu den verschiedenen Anschluss-Pins.

3. Den Arduino Buzzer anschließen

Den Code für unseren Arduino Buzzer schreiben wir mit der Entwicklungsumgebung, die Du hier herunterladen kannst. Je nachdem, welches Betriebssystem Du verwendest, läuft die Installation etwas anders ab. Während die Datei unter Mac automatisch ausgeführt wird, unterstützt Dich bei Windows ein Assistent bei der Einrichtung. In unserem Wissensblog findest Du übrigens viele Tipps zum Arduino Download.

Sobald Du die Entwicklungsumgebung, auch IDE genannt, gestartet hast, musst Du den richtigen Port auswählen. Hast Du zum Anschließen ein USB-Kabel verwendet? Falls ja, kannst Du Dein Arduino UNO unter Werkzeuge > Port anklicken.

Port auswählen
Abb. 3: Auswahl des Ports

Solltest Du Dir nicht sicher sein, dass Du den korrekten Port erwischt hast, dann befolge diesen Trick: Lass Dir mit Werkzeuge > Boardinformationen holen einige Daten zum Board anzeigen. Daran erkennst Du ganz leicht, dass es sich um den richtigen Port handelt. Wenn das bei Dir soweit geklappt hat, dann gehen wir einen Schritt weiter und beginnen mit dem Coding.

4. Die Schreibarbeit erledigen

Du kennst die Arduino-Software vielleicht unter dem Begriff Sketch. Wenn wir uns die IDE ansehen, erkennen wir, dass bereits ein Sketch geöffnet ist. Dieser enthält die Routinen setup() und loop():

Arduino Buzzer: Sketch
Abb. 4: So sieht der Sketch für unseren Arduino Buzzer aus

In beide Routinen kannst Du in die geschweiften Klammern Deinen eigenen Code schreiben. Cool, oder? Probieren wir es doch gleich einmal aus. Wir beginnen unsere Arbeit mit dem Löschen der Kommentare. Du solltest wissen, dass die Funktion setup() lediglich beim Start ausgeführt wird. Sie findet nämlich häufig nur bei der Initialisierung Anwendung. Die Ausführung des Codes in loop() wiederholt sich hingegen immer wieder.

Hier siehst Du den Code für eine einfache Ansteuerung des Buzzers. Du kannst ihn abtippen oder in die IDE kopieren:

void setup() {
}

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

Und jetzt ist Dein musikalisches Talent gefragt, denn wir kümmern uns nun darum, dass unser Arduino Buzzer zu klingen beginnt. Für die Erzeugung eines Tons verwenden wir die Funktion tone(). Du findest die Dokumentation der Funktion hier. Wie Du der Seite entnehmen kannst, gibt es sie mit zwei oder drei Parametern:

tone(pin, frequency)
tone(pin, frequency, duration)

Der erste Parameter ist dabei stets der Pin, an den der Summer angeschlossen ist (hier Pin 8). Der zweite Parameter ist die Frequenz des Tons in Hertz (hier 100). Wir halten den Ton bei 1000 Millisekunden und schalten ihn anschließend mit noTone(8) aus. Danach folgt wieder eine Pause von einer Sekunde und das Spiel beginnt aufgrund der Loop-Funktion von vorne. Alternativ zu Pause und Ausschalten mit noTone() kann man die Dauer auch mithilfe des dritten Parameters angeben. Der Sound klingt nun jedoch ein wenig nach Feueralarm im U-Boot und erfüllt noch nicht unsere musikalischen Erwartungen an den Arduino.

Aus dem Musikunterricht weißt Du sicher, dass man zur Angabe von Tonhöhen anstelle von Frequenzen eher Notenwerte wie C, D, E verwendet. Bei unserem Arduino Buzzer verzichten wir nicht auf diese musikalische Qualität, sondern binden die Noten mithilfe einer Bibliothek ein. Das geht so: Öffne den Bibliotheksmanager unter Werkzeug > Bibliotheken verwalten und suche dort nach der Bibliothek TonePitch. Mit einem Klick auf den Button Installieren wird sie aufgespielt.

Die Bibliothek
Abb. 5: Einbinden der Bibliothek TonePitch

Die Bibliothek definiert Konstanten für die Noten. Du kannst nach dem Importieren der Bibliothek also zum Beispiel NOTE_C4 für ein C der vierten Oktave verwenden. Das folgende Beispiel zeigt die erforderlichen Code-Bestandteile und die Verwendung in der Funktion tone():

#include <Arduino.h>

#define TONE_USE_INT
#define TONE_PITCH 440
#include
 <Pitch.h>

void setup(){
}

void loop() {
  tone(8, NOTE_C4, 500);
  delay(1000);
}

Und jetzt geht es ans Eingemachte: Schaffst Du es, mithilfe der Bibliothek TonePitch das Lied Alle meine Entchen zu spielen? Die dafür erforderlichen Noten findest Du im Internet. Kein Problem? Dann versuche Dich danach an Beethovens Neunter. Falls Du wissen willst, was Du noch alles mit einem Buzzer anstellen kannst, dann schau auf der Seite der Universität München vorbei. 

Wir hoffen, dass Dir dieses Tutorial viel Spaß gemacht hat und Du mit Deinem Arduino Buzzer neue Melodien komponieren kannst. Das Tolle an Arduino Projekten ist, dass Du Dich sowohl technisch & kreativ ausleben kannst als auch erste Erfahrungen mit dem Schreiben von Code sammelst. Schau Dir doch mal unsere Anleitung zu Arduino mBlock an, wenn Du noch mehr lernen willst.

FAQs – Arduino Buzzer

Muss ich für meinen Arduino Buzzer eine bestimmte Entwicklungsumgebung nutzen?

Nein, neben der Arduino IDE gibt es viele weitere Umgebungen. Trotzdem ist es empfehlenswert, mit der IDE zu beginnen, da diese der Standard ist.

Welche Funktion erfüllt #include im Code des Arduino Buzzers?

Mit einem Include werden externe Bibliotheken in den Sketch eingebunden. Hier sind das die Dateien Arduino.h und Pitch.h.

Warum sollte ich Bibliotheken nutzen, wenn ich einen Buzzer mit dem Arduino ansteuern will?

Unter Bibliotheken versteht man in der Welt des Codings einen fertigen Code, den man frei benutzen kann. Wenn man immer wieder bei Null anfangen würde, käme man nur sehr langsam voran. Deshalb verlässt man sich auf den Code von anderen Programmierer:innen, die sich bereits mit dem Thema beschäftigt haben.

Wozu benötigt man #define im Code des Arduino Buzzers?

Mit #define lassen sich leserliche Namen wie TONE_PITCH definieren, die dann vor der Ausführung durch Werte wie 440 ersetzt werden. Der Befehl #define ist wie #include eine Präprozessordirektive. Das heißt, sie wird in einem separaten Schritt vor dem Kompilieren ausgewertet.

Gibt es eine Anleitung für die Einbindung der Bibliothek in den Arduino Buzzer?

Alle Funktionen sind in der Arduino-Referenz beschrieben. Du findest sie hier. NoTone() ist dort unter Advanced I/O gelistet.

Anderen hat auch das noch gefallen