test publish

Dependencies:   mbed GroveEarbudSensor

Committer:
age2pierre
Date:
Mon Apr 11 13:30:35 2016 +0000
Revision:
8:e1beb2a9454e
Parent:
5:ee265ab0752d
Child:
10:af58557a4d6c
Updated main

Who changed what in which revision?

UserRevisionLine numberNew contents of line
antoineA 0:8bec0f0b673a 1 #include "mbed.h"
age2pierre 3:b4f04b8b8797 2 #include "GroveEarbudSensor.h"
age2pierre 8:e1beb2a9454e 3 #include "GypsyScale.h"
age2pierre 8:e1beb2a9454e 4 #include "MajorScale.h"
age2pierre 8:e1beb2a9454e 5 #include "Speaker.h"
age2pierre 8:e1beb2a9454e 6 #include "MelodyGenerator.h"
age2pierre 8:e1beb2a9454e 7 #include "Notes.h"
age2pierre 8:e1beb2a9454e 8 #include <vector>
age2pierre 3:b4f04b8b8797 9
age2pierre 8:e1beb2a9454e 10 using namespace std;
age2pierre 8:e1beb2a9454e 11
age2pierre 8:e1beb2a9454e 12 InterruptIn earSensorPin(p5);
age2pierre 8:e1beb2a9454e 13 //DigitalOut led(LED1);
age2pierre 8:e1beb2a9454e 14 PwmOut speakerPin(p21);
antoineA 0:8bec0f0b673a 15
antoineA 0:8bec0f0b673a 16 int main()
antoineA 0:8bec0f0b673a 17 {
age2pierre 8:e1beb2a9454e 18 GroveEarbudSensor earbud(&earSensorPin);
age2pierre 8:e1beb2a9454e 19 Speaker speaker(&speakerPin);
age2pierre 8:e1beb2a9454e 20 MelodyGenerator melodyGen;
age2pierre 8:e1beb2a9454e 21
age2pierre 8:e1beb2a9454e 22 MajorScale scale1(SOL_4);
age2pierre 8:e1beb2a9454e 23 GypsyScale scale2(MI_4);
age2pierre 8:e1beb2a9454e 24
age2pierre 3:b4f04b8b8797 25 while(true) {
age2pierre 8:e1beb2a9454e 26 float heartRate = earbud.getHeartRate();
age2pierre 8:e1beb2a9454e 27 if(heartRate <30) {
age2pierre 8:e1beb2a9454e 28 speaker.play(SILENCE);
age2pierre 8:e1beb2a9454e 29 heartRate = earbud.getHeartRate();
age2pierre 8:e1beb2a9454e 30 } else {
age2pierre 8:e1beb2a9454e 31 vector<Notes>* melo = melodyGen.getMeasure(scale1);
age2pierre 8:e1beb2a9454e 32 for(vector<Notes>::iterator it = melo->begin(); it != melo->end(); ++it) {
age2pierre 8:e1beb2a9454e 33 speaker.play(*it);
age2pierre 8:e1beb2a9454e 34 wait( heartRate * 0.006);
age2pierre 8:e1beb2a9454e 35 }
age2pierre 8:e1beb2a9454e 36 }
antoineA 0:8bec0f0b673a 37 }
antoineA 0:8bec0f0b673a 38 }