test publish
Dependencies: mbed GroveEarbudSensor
main.cpp@8:e1beb2a9454e, 2016-04-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |