PWMMelody

This example shows how to use the PWMOut
to generate notes. It plays a little melody which you may have heard before.
What you need
SwiftIO board
Jumper wires
Piezo buzzer or a speaker
SwiftIO shield (optional)
Circuit

Code
// Enable the speaker to play a simple melody by changing the frequency of PWM output.
// Import the library to enable the relevant classes and functions.
import SwiftIO
// Initialize a PWM output pin the speaker is connected to.
let speaker = PWMOut(Id.PWM2B)
// Specify several frequencies corresponding to each note of the melody.
let fre = [
350,350,393,441,
441,393,350,330,
294,294,330,350,
350,330,330
]
/// Allow the speaker to repeat the melody again and again.
while true {
for f in fre {
// Change the frequency and the duty cycle of output to produce each note.
speaker.set(frequency: f, dutycycle: 0.5)
sleep(ms: 250)
}
}
Instruction
The code above uses a Frequency as musical pitches. For example, NOTE_C4 is middle C, whose frequency is 262 Hz. Latter example MidiPlayer we will markdown all this musical note in a file. This file contains all the pitch values for typical notes. You may find it useful whenever you want to make musical notes.
See Also
PWMOut - The PWMOut class is used to change the time of high voltage during one period to simulate different output.
References
Last updated
Was this helpful?