PWM - Play Music by Buzzer
Preparation
AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1
Buzzer x 1
Example
A sound is composed of volume, tone and timbre. Volume is determined by the amplitude of the sound wave. Tone is determined by the frequency of the sound wave. Timbre is determined by the waveform of the sound wave.
In this example, we use PWM to control the buzzer to emit sound with desired tone. As PWM outputs square wave, if we wish to emit tone C4 (frequency=262Hz), we have to make PWM to output square wave with wavelength 1/262 = 3.8ms:
AMB21 / AMB22 Wiring Diagram:
AMB23 Wiring Diagram:
BW16 Wiring Diagram:
“Examples” -> “AmebaAnalog” -> “TonePlayMelody”
Code Reference
In the sample code, we initiate a melody array, which stores the tones to make. Another array, noteDurations, contains the length of each tone, 4 represents quarter note (equals to 3000ms/4 = 750ms, and plus an extra 30% time pause), 8 represents eighth note.