test publish
Dependencies: mbed GroveEarbudSensor
Diff: main.cpp
- Revision:
- 8:e1beb2a9454e
- Parent:
- 5:ee265ab0752d
- Child:
- 10:af58557a4d6c
--- a/main.cpp Mon Apr 11 11:18:46 2016 +0000 +++ b/main.cpp Mon Apr 11 13:30:35 2016 +0000 @@ -1,20 +1,38 @@ #include "mbed.h" #include "GroveEarbudSensor.h" - -InterruptIn earSensor(p5); -DigitalOut led(LED1); +#include "GypsyScale.h" +#include "MajorScale.h" +#include "Speaker.h" +#include "MelodyGenerator.h" +#include "Notes.h" +#include <vector> -void printHeartRate(float heartrate,void *data) { - printf("Callback: heartrate = %.1f\r\n",heartrate); -} +using namespace std; + +InterruptIn earSensorPin(p5); +//DigitalOut led(LED1); +PwmOut speakerPin(p21); int main() { - GroveEarbudSensor earbud(&earSensor); - earbud.registerCallback(printHeartRate); - + GroveEarbudSensor earbud(&earSensorPin); + Speaker speaker(&speakerPin); + MelodyGenerator melodyGen; + + MajorScale scale1(SOL_4); + GypsyScale scale2(MI_4); + while(true) { - led = !led; - wait(0.5); + float heartRate = earbud.getHeartRate(); + if(heartRate <30) { + speaker.play(SILENCE); + heartRate = earbud.getHeartRate(); + } else { + vector<Notes>* melo = melodyGen.getMeasure(scale1); + for(vector<Notes>::iterator it = melo->begin(); it != melo->end(); ++it) { + speaker.play(*it); + wait( heartRate * 0.006); + } + } } }