Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 1:45d0e3e16b3a
- Parent:
- 0:f31836d48420
diff -r f31836d48420 -r 45d0e3e16b3a main.cpp
--- a/main.cpp Sun Mar 29 19:41:28 2020 +0000
+++ b/main.cpp Tue Apr 21 12:19:09 2020 +0000
@@ -1,18 +1,43 @@
#include "mbed.h"
+#include "pitches.h"
-// https://os.mbed.com/docs/mbed-os/v5.15/tools/creating-a-new-program.html
+PwmOut buzzer(PTA1); //buzzer = PTA1
+int length = 56;
+float frequency[] = {NOTE_E6, NOTE_DS6, NOTE_E6, NOTE_DS6, NOTE_E6, NOTE_B5, NOTE_D6, NOTE_C6, NOTE_A5,
+ NOTE_C5, NOTE_E5, NOTE_A5, NOTE_B5,
+ NOTE_E5, NOTE_GS5, NOTE_B5, NOTE_C6,
+ NOTE_E6, NOTE_DS6, NOTE_E6, NOTE_DS6, NOTE_E6, NOTE_B5, NOTE_D6,NOTE_C6, NOTE_A5,
+ NOTE_C5, NOTE_E5, NOTE_A5, NOTE_B5,
+ NOTE_E5, NOTE_GS5, NOTE_B5, NOTE_C6,
+ NOTE_B5, NOTE_C6, NOTE_D6, NOTE_E6,
+ NOTE_G5, NOTE_F6, NOTE_E6, NOTE_D6,
+ NOTE_F5, NOTE_E6, NOTE_D6, NOTE_C6,
+ NOTE_E5, NOTE_D6, NOTE_C6, NOTE_B5,
+ NOTE_E5, NOTE_E6};
+float beat[] = {12,12,12,12,12,12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,12,12,12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,12,12,9,
+ 12,9};
-Serial pc(USBTX, USBRX, 115200); // baud rate 115200
-DigitalOut led(LED1); // led = LED1
int main()
{
- while (true) {
- led = 0;
- printf("LED1 is ON\r\n");
- thread_sleep_for(500);
- led = 1;
- printf("LED1 is OFF\r\n");
- thread_sleep_for(500);
+ while(true) {
+ for(int i = 0; i <= length; i++) {
+ if(frequency[i] == 0)
+ buzzer = 0.0;
+ else {
+ buzzer.period(1.0 / frequency[i]); //period = (1.0 / frequency)
+ buzzer = 0.5; //duty cycle = 50%
+ }
+ thread_sleep_for(3500.0 / beat[i]); //duration = (C / beat)ms
+ }
}
}
\ No newline at end of file