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

04-07 OrangesAndLemons

From Manuals

(Difference between revisions)
Jump to: navigation, search
 
Line 1: Line 1:
This example uses a PWM to play the tune "Oranges and Lemons" on a piezo buzzer using a PWM.
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:
The signals used for this example are listed below:
{| border="1" cellpadding="5" cellspacing="2" align="center" style="text-align: center;"
{| border="1" cellpadding="5" cellspacing="2" align="center" style="text-align: center;"
-
|+ align="bottom"|'''Signals Used and Connector Locations for Example 04-06'''
+
|+ align="bottom"|'''Signals Used and Connector Locations for Example 04-07'''
|'''Signal'''
|'''Signal'''
|'''LPC4330 PIN NAME'''
|'''LPC4330 PIN NAME'''

Current revision as of 19:13, 17 September 2014

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.