SEARCH
TOOLBOX
LANGUAGES
modified on 17 September 2014 at 19:13 ••• 14,581 views

04-07 OrangesAndLemons

From Manuals

Revision as of 19:13, 17 September 2014 by Support (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This example uses a PWM to play the tune "Oranges and Lemons" on a piezo buzzer using a PWM.

The signals used for this example are listed below:

Signals Used and Connector Locations for Example 04-07
Signal LPC4330 PIN NAME BAM210E BAM210 BAM200E BAM200 Used for
PWM1 P1_7 J9-3 J9-3 S2-3 S2-3 Buzzer

The following schematic can be used to build the circuit with a BAM210E or BAM210.

BAM210
Schematic for example 04-07
/*Program Example 4.7: Plays the tune "Oranges and Lemons" on a piezo buzzer, using PWM
                                                                         */
#include "mbed.h"
PwmOut buzzer(PWM1);

//frequency array
float frequency[]= {659,554,659,554,440,494,554,587,494,659,554,440};
float beat[]= {1,1,1,1,1,0.5,0.5,1,1,1,1,2};             //beat array

int main()
{
   while (1) {
       for (int i=0; i<=11; i++) {
           buzzer.period(1/(2*frequency[i]));                 // set PWM period
           buzzer=0.5;                                        // set duty cycle
           wait(0.4f*beat[i]);                                 // hold for beat period
       }
   }
}

The following image shows the built circuit on a BAM210E.