Sie können mit Arduino auf verschiedene Weise Sounds erzeugen. Am einfachsten ist es, einen Piezo-Emitter (oder einen Piezo-Sounder) an die Platine anzuschließen. Aber wie immer gibt es hier einige Nuancen. Lassen Sie es uns im Allgemeinen herausfinden.
Notwendig
- - Computer;
- -Arduino;
- - Piezo-Sender (Piezo-Summer).
Anweisungen
Schritt 1
Ein Piezo-Emitter oder piezoelektrischer Emitter oder Piezo-Summer ist ein elektroakustisches Tonwiedergabegerät, das den inversen piezoelektrischen Effekt nutzt. Um es einfach zu erklären - unter Einwirkung eines elektrischen Feldes entsteht eine mechanische Bewegung der Membran, die die Schallwellen verursacht, die wir hören. Typischerweise werden solche Tonsender in elektronischen Haushaltsgeräten als Tonalarmgeber, in Desktop-PCs, Telefonen, Spielzeug, Lautsprechern und vielem mehr installiert.
Der Piezo-Emitter hat 2 Leitungen, und die Polarität ist wichtig. Daher verbinden wir den schwarzen Pin mit Masse (GND) und den roten mit einem beliebigen digitalen Pin mit PWM-Funktion (PWM). In diesem Beispiel wird der Pluspol des Senders mit der Klemme „D3“verbunden.
Schritt 2
Der Piezo-Summer kann vielfältig eingesetzt werden. Die einfachste ist die analogWrite-Funktion. Ein Beispiel für eine Skizze ist in der Abbildung dargestellt. Diese Skizze schaltet den Ton abwechselnd mit einer Frequenz von 1 Mal pro Sekunde ein und aus.
Wir setzen die Pin-Nummer, definieren sie als Ausgang. Die Funktion analogWrite() nimmt als Argumente eine Pinnummer und einen Pegel entgegen, der zwischen 0 und 255 liegen kann. Dieser Wert ändert die Lautstärke des Piezo-Hochtöners in einem kleinen Bereich. Schalten Sie den Piezo-Sounder aus, indem Sie den Wert "0" an den Port senden.
Leider können Sie die Tonart des Tons nicht mit analogWrite () ändern. Der Piezo-Emitter ertönt immer mit einer Frequenz von ungefähr 980 Hz, was der Frequenz der pulsweitenmodulierten (PWM) Pins auf Arduino UNO-Boards und dergleichen entspricht.
Schritt 3
Jetzt extrahieren wir den Ton aus dem Piezo-Emitter mit der eingebauten Tone()-Funktion. Ein Beispiel für eine einfache Skizze ist in der Abbildung dargestellt.
Die Tonfunktion verwendet als Argumente eine Pinnummer und eine Audiofrequenz. Die untere Frequenzgrenze liegt bei 31 Hz, die obere Grenze wird durch die Parameter des Piezostrahlers und des menschlichen Gehörs begrenzt. Um den Ton auszuschalten, senden Sie den Befehl noTone() an den Port.
Bitte beachten Sie, dass, wenn mehrere Piezo-Emitter an den Arduino angeschlossen sind, nur einer gleichzeitig funktioniert. Um den Sender an einem anderen Pin einzuschalten, müssen Sie den Ton des aktuellen Pins unterbrechen, indem Sie die Funktion noTone() aufrufen.
Ein wichtiger Punkt: Die Tone()-Funktion wird dem PWM-Signal an den Pins "3" und "11" des Arduino überlagert. Denken Sie daran, wenn Sie Ihre Geräte entwerfen, denn Funktionston (), beispielsweise auf Pin "5" aufgerufen, kann die Arbeit der Pins "3" und "11" stören.