Piezo

Veröffentlicht von

Inhalt

  • Piezo-Buzzer als einfaches Ton-Ausgabe-Gerät
  • tone -Funktion

Einführung

Die Ausgabe von akustischen Informationen – etwa Signaltöne – ist in vielen Anwendungen selbstverständlich. Das Gehör hat nämlich die wichtige Eigenschaft, dass es ungerichtet ist. Das bedeutet, es nimmt auch Schall wahr, wenn wir nicht direkt auf das schallerzeugende Element konzentriert sind. Deshalb kann es uns leicht auf diverse Dinge, wie etwa Fehlfunktionen, aufmerksam machen, auch wenn wir nicht auf das Gerät konzentriert sind.

Eine sehr günstige (und daher oft eingesetzte Methode) um Töne zu erzeugen ist die Verwendung eines Piezo-Elemements.

Der Piezoelektrische Effekt

Der piezoelektrische Effekt besagt, dass an gewissen Materialien eine elektrische Spannung auftritt, wenn man diese mechanisch verformt. Umgekehrt  bewirkt das Anlegen einer elektrischen Spannung an diesen Elementen eine mechanische Verformung (inverser piezoelektrischer Effekt). Dieser Effekt kann sowohl als Sensor (Druck) als auch Aktor (Schallerzeugung, Vibration) eingesetzt werden.

Hier wird ein Piezo-Element als Schallerzeuger (Summer) verwendet.

Beispiel: toneMelody

Im folgenden Beispiel wird ein Piezo als Klangerzeuger für Melodien verwendet.

Der Code für dieses Beispiel ist unter File / Examples / 02.Digital / toneMelody zu finden. Eine detaillierte Beschreibung des Beispiels findet man auf der Arduino-Webseite.

Die tone -Funktion

Die tone -Funktion erzeugt ein rechteckiges Signal (HIGH-LOW-HIGH-LOW…) mit einer bestimmten Frequenz für eine bestimmte Dauer. Intern wird hierfür ein Timer verwendet. Timer sind Routinen, die der Mikrocontroller zur Verfügung stellt, um Abläufe mit zeitlicher Relevanz steuern zu können. (Intern werden diese Timer auch verwendet um die Pulsweitenmodulation zu kontrollieren). Da die Anzahl der verfügbaren Timer am Arduino begrenzt ist, kann immer nur ein Ton an einem Pin ausgegeben werden. Soll die tone-Funktion an einem anderen Pin verwendet werden, ist zunächst für den ersten Pin die Funktion noTone  aufzurufen.

Weiters ist zu beachten, dass mit der Verwendung der Funktion tone  am Arduino UNO die Pulsweitenmodulation für Pins 3 und 11 gestört wird. Ursache hierfür ist, dass tone  intern denselben Timer verwendet, der an diesen Pins das PWM-Signal erzeugt.

Weiterführende Links

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.