ECE3872 HW/SW Project Code

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1

Revision:
18:0e0edd4f9e4d
Parent:
15:7565013b55df
Child:
26:2063ee8419cc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/speaker_out.h	Mon Apr 13 02:43:08 2020 +0000
@@ -0,0 +1,90 @@
+#include "mbed.h"
+#include "Speaker.h"
+
+
+Serial pc(USBTX,USBRX);
+Speaker mySpeaker(p26);
+
+Timer t;
+
+
+char note;
+float freq [100];
+float freq2;
+float limit;
+
+float *record(float freq1[100]) {
+    t.start();
+    for(int i = 0; i<100; i++){
+        pc.printf("Please enter note\n");
+        note = pc.getc();
+        switch (note){
+            case 'a':
+                freq2 = 523.25;
+                break;
+            
+            case 'b':
+                freq2 = 554.37;
+                break;
+            
+            case 'c':
+                freq2 = 587.33;
+                break;
+            
+            case 'd':
+                freq2 = 622.25;
+                break;
+            
+            case 'e':
+                freq2 = 659.26;
+                break;
+            
+            case 'f':
+                freq2 = 698.46;
+                break;
+            
+            case 'g':
+                freq2 = 739.99;
+                break;
+            
+            case 'h':
+                freq2 = 783.99;
+                break;
+            
+            case 'i':
+                freq2 = 830.61;
+                break;
+            
+            case 'j':
+                freq2 = 880.00;
+                break;
+            
+            case 'k':
+                freq2 = 932.33;
+                break;
+            
+            case 'l':
+                freq2 = 987.77;
+                break;
+            }
+            freq1[i] = freq2;
+            limit = t.read();
+            if(limit > 30){
+                t.stop();
+                break;
+            }
+        }
+    return freq1;
+    }
+
+
+void audio_out() {
+    record(freq);
+    for (int i = 0; i<100; i++){
+        if (freq[i] == 0){
+            }
+        else{
+            mySpeaker.PlayNote(freq[i],1.0,0.1);
+        }
+    }
+}