![]() |
| Piezo Buzzer |
Die Funktion mit der wir arbeiten wollen heißt tone() und wird standardmäßig von der Arduino IDE unterstützt. Sie generiert eine Rechteckschwingung mit der als Parameter angegebenen Frequenz.
Außerdem kann die Länge des Tons als Parameter mitgegeben werden. Wird dies nicht gemacht wird solange bis die Funktion notone() ausgeführt ein Ton ausgegeben. Das Signal, welches durch die Funktion tone() an einem ebenfalls als Parameter definierten Pin anliegt kann ein Piezo Buzzer verwenden um damit einen Ton zu erzeugen. Damit das Signal auch wirklich korrekt ankommt muss ein PWM Pin verwendet werden.
Hinweis: Es kann immer nur 1 Ton gleichzeitig mit dem Arduino Board ausgegeben werden
Für alle AVR Boards gilt:
Minimale Frequenz: 31 Hz
Maximale Frequenz: 65535 Hz
Syntax
tone ( pin, freuquenz, dauer );
Der erste Parameter Pin sollte klar sein. Hier soll der Pin stehen, den ihr am Plus-Pol des Piezo Buzzers angeschlossen habt stehen.
Der zweite Prameter Frequenz sollte eine Zahl zwischen 31 und 65535 sein. Diese Angabe entspricht der Einheit Herz.
Der dritte Parameter Dauer entspricht der anzahl der Millisekunden, die der Ton ausgegeben werden soll.
Als Beispiel habe ich hier das Super Mario Intro verwendet. Für fast alle Melodien finden sich im Internet zahlreiche Hilfen wenn ihr zum Beispiel "Super Mario Song Frequencies" oder ähnliches bei Google sucht.
Beispiel:
tone(piezoPin, 660, 100) ;
delay(150);
tone(piezoPin, 660, 100) ;
delay(300);
tone(piezoPin, 660, 100) ;
delay(300);
tone(piezoPin, 510, 100) ;
delay(100);
tone(piezoPin, 660, 100) ;
delay(300);
tone(piezoPin, 770, 100) ;
delay(550);
tone(piezoPin, 380, 100) ;
delay(575);
noTone(piezoPin);
