Kevin Chen / Mbed 2 deprecated drue

Dependencies:   mbed SDFileSystem

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