--- title: tone() categories: [ "Functions" ] subCategories: [ "Advanced I/O" ] --- = tone() // OVERVIEW SECTION STARTS [#overview] -- [float] === Description Generates a square wave of the specified frequency (and 50% duty cycle) on a pin. A duration can be specified, otherwise the wave continues until a call to link:../notone[noTone()]. The pin can be connected to a piezo buzzer or other speaker to play tones. Only one tone can be generated at a time. If a tone is already playing on a different pin, the call to `tone()` will have no effect. If the tone is playing on the same pin, the call will set its frequency. Use of the `tone()` function will interfere with PWM output on pins 3 and 11 (on boards other than the Mega). It is not possible to generate tones lower than 31Hz. For technical details, see https://github.com/bhagman/Tone#ugly-details[Brett Hagman's notes]. [%hardbreaks] [float] === Syntax `tone(pin, frequency)` + `tone(pin, frequency, duration)` [float] === Parameters `pin`: the Arduino pin on which to generate the tone. + `frequency`: the frequency of the tone in hertz. Allowed data types: `unsigned int`. + `duration`: the duration of the tone in milliseconds (optional). Allowed data types: `unsigned long`. [float] === Returns Nothing -- // OVERVIEW SECTION ENDS // HOW TO USE SECTION STARTS [#howtouse] -- [float] === Notes and Warnings * If you want to play different pitches on multiple pins, you need to call `noTone()` on one pin before calling `tone()` on the next pin. * This function is non-blocking, which means that even if you provide the `duration` parameter the sketch execution will continue immediately even if the tone hasn't finished playing. [%hardbreaks] -- // HOW TO USE SECTION ENDS // SEE ALSO SECTION [#see_also] -- [float] === See also [role="language"] * #LANGUAGE# link:../../analog-io/analogwrite[analogWrite()] [role="example"] * #EXAMPLE# https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody[Tone Melody^] * #EXAMPLE# https://www.arduino.cc/en/Tutorial/tonePitchFollower[Pitch Follower^] * #EXAMPLE# https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneKeyboard[Tone Keyboard^] * #EXAMPLE# https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMultiple[Tone Multiple^] * #EXAMPLE# https://www.arduino.cc/en/Tutorial/PWM[PWM^] -- // SEE ALSO SECTION ENDS