ECE3872 HW/SW Project Code

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

speakerout3.h

Committer:
rdobbs6
Date:
2020-04-12
Revision:
15:7565013b55df

File content as of revision 15:7565013b55df:

#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;
    }


int main() {
    record(freq);
    for (int i = 0; i<100; i++){
        if (freq[i] == 0){
            }
        else{
            mySpeaker.PlayNote(freq[i],1.0,0.1);
        }
    }
}