test publish

Dependencies:   mbed GroveEarbudSensor

main.cpp

Committer:
antoineA
Date:
2016-04-11
Revision:
10:af58557a4d6c
Parent:
8:e1beb2a9454e
Child:
11:e9d48f0a6b3e

File content as of revision 10:af58557a4d6c:

#include "mbed.h"
#include "GroveEarbudSensor.h"
#include "GypsyScale.h"
#include "MajorScale.h"
#include "Speaker.h"
#include "MelodyGenerator.h"
#include "Notes.h"
#include "GSRSensor.h"
#include <vector>

using namespace std;

InterruptIn earSensorPin(p5);
AnalogIn GSRInput(p6);
//DigitalOut led(LED1);
PwmOut speakerPin(p21);

int main()
{
    GroveEarbudSensor earbud(&earSensorPin);
    Speaker speaker(&speakerPin);
    MelodyGenerator melodyGen;

    MajorScale scale1(SOL_4);
    GypsyScale scale2(MI_4);

    while(true) {
        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);
            }
        }
    }
}