ECE3872 HW/SW Project Code
Dependencies: mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1
Diff: speaker_out.h
- 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); + } + } +}