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.
Dependencies: mbed SDFileSystem
Diff: main.cpp
- Revision:
- 1:b0962a8bcc6d
- Parent:
- 0:fa9e77516ba6
- Child:
- 2:81f364f7a4a6
diff -r fa9e77516ba6 -r b0962a8bcc6d main.cpp
--- a/main.cpp Fri Apr 12 12:13:42 2019 +0000
+++ b/main.cpp Fri Apr 12 13:58:01 2019 +0000
@@ -1,28 +1,22 @@
// ESE350 Final Project: Drue
-
#include "mbed.h"
#include <string>
-
// Pin setup / variable declarations
DigitalIn butC(p6);
DigitalIn butD(p8);
DigitalIn butE(p10);
DigitalIn butF(p14);
DigitalIn butG(p16);
-
DigitalOut ledC(p5);
DigitalOut ledD(p7);
DigitalOut ledE(p9);
DigitalOut ledF(p13);
DigitalOut ledG(p15);
-
DigitalIn butMode(p17);
PwmOut speaker(p26);
-
bool switchPressed;
int mode;
int numModes = 2;
-
void switchModeCheck() {
if (butMode == 1) {
if (!switchPressed) {
@@ -36,21 +30,36 @@
switchPressed = false;
}
}
-
void cycleSound() {
- // static int count = 0;
- speaker.period(1.0/(500.0 + 100.0));
+ static int count = 0;
+ if (count == 0){
+ speaker.period(1.0/523.25);
+ } else if (count == 1){
+ speaker.period(1.0/587.33);
+ }else if (count == 2){
+ speaker.period(1.0/659.25);
+ }else if (count == 3){
+ speaker.period(1.0/698.46);
+ }else if (count == 4){
+ speaker.period(1.0/783.99);
+ }else if (count == 5){
+ speaker.period(1.0/880.0);
+ }else if (count == 6){
+ speaker.period(1.0/987.77);
+ }else if (count == 7){
+ speaker.period(1.0/1040.50);
+ }
speaker = 0.5;
wait(0.2);
speaker = 0;
- //count++;
- //if (count == 8) {count = 0;}
+ count++;
+ if (count == 8) {count = 0;}
}
-
int main() {
switchPressed = false;
mode = 0;
-
+ bool needNote = true;
+ ledC = 1; ledD = 1; ledE = 1; ledF = 1; ledG = 1;
while(1) {
switchModeCheck();
@@ -59,8 +68,7 @@
ledC = 0;
cycleSound();
} else {
- ledC = 1;
- cycleSound();
+ ledC = 1;
}
if (butD == 1) {
ledD = 0;
@@ -89,11 +97,47 @@
}
if (mode == 1) {
+ int random = rand() % 5;
+ if (needNote) {
+ needNote = false;
+ if (random == 0) {
+ ledC = 0;
+ } else if (random == 1) {
+ ledD = 0;
+ } else if (random == 2) {
+ ledE = 0;
+ } else if (random == 3) {
+ ledF = 0;
+ } else if (random == 4) {
+ ledG = 0;
+ }
+ }
+ if (butC == 1 && ledC == 0) {
+ cycleSound();
+ ledC = 1;
+ needNote = true;
+ } else if (butD == 1 && ledD == 0) {
+ ledD = 1;
+ cycleSound();
+ needNote = true;
+ } else if (butE == 1 && ledE == 0) {
+ ledE = 1;
+ cycleSound();
+ needNote = true;
+ } else if (butF == 1 && ledF == 0) {
+ ledF = 1;
+ cycleSound();
+ needNote = true;
+ } else if (butG == 1 && ledG == 0) {
+ ledG = 1;
+ cycleSound();
+ needNote = true;
+ }
+
-
- }
+ }
}
-}
+}
\ No newline at end of file
