This repository has been archived by the owner on Mar 4, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmain.cpp
60 lines (54 loc) · 1.45 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/** 4.5 Melodie abspielen
*/
#include "mbed.h"
// speaker sound effect demo using PWM hardware output
PwmOut speaker( MBED_CONF_IOTKIT_BUZZER );
int main()
{
int i;
// generate a 500Hz tone using PWM hardware output
speaker.period(1.0/500.0); // 500hz period
speaker =0.5; //50% duty cycle - max volume
wait(3);
speaker=0.0; // turn off audio
wait(2);
// generate a short 150Hz tone using PWM hardware output
// something like this can be used for a button click effect for feedback
for (i=0; i<10; i++)
{
speaker.period(1.0/150.0); // 500hz period
speaker =0.25; //25% duty cycle - mid range volume
wait(.02);
speaker=0.0; // turn off audio
wait(0.5);
}
// sweep up in frequency by changing the PWM period
for (i=0; i<8000; i=i+100)
{
speaker.period(1.0/float(i));
speaker=0.25;
wait(.1);
}
wait(2);
// two tone police siren effect - two periods or two frequencies
// increase volume - by changing the PWM duty cycle
for (i=0; i<26; i=i+2)
{
speaker.period(1.0/969.0);
speaker = float(i)/50.0;
wait(.5);
speaker.period(1.0/800.0);
wait(.5);
}
// decrease volume
for (i=25; i>=0; i=i-2)
{
speaker.period(1.0/969.0);
speaker = float(i)/50.0;
wait(.5);
speaker.period(1.0/800.0);
wait(.5);
}
speaker =0.0;
wait(2);
}