Kevin Chen / Mbed 2 deprecated drue

Dependencies:   mbed SDFileSystem

main.cpp

Committer:
kchen7
Date:
2019-04-12
Revision:
1:b0962a8bcc6d
Parent:
0:fa9e77516ba6
Child:
2:81f364f7a4a6

File content as of revision 1:b0962a8bcc6d:

// ESE350 Final Project: Drue
#include "mbed.h"
#include <string>
// Pin setup / variable declarations 
DigitalIn butC(p6);
DigitalIn butD(p8);
DigitalIn butE(p10);
DigitalIn butF(p14);
DigitalIn butG(p16);
DigitalOut ledC(p5); 
DigitalOut ledD(p7); 
DigitalOut ledE(p9); 
DigitalOut ledF(p13); 
DigitalOut ledG(p15); 
DigitalIn butMode(p17); 
PwmOut speaker(p26);
bool switchPressed; 
int mode; 
int numModes = 2;
void switchModeCheck() {
    if (butMode == 1) {
        if (!switchPressed) {
            switchPressed = true;
            mode++;
            if (mode == numModes) {
                mode = 0;
            }
        }
    } else {
        switchPressed = false;
    }
}
void cycleSound() {
    static int count = 0; 
    if (count == 0){
    speaker.period(1.0/523.25);
    } else if (count == 1){
    speaker.period(1.0/587.33);
    }else if (count == 2){
    speaker.period(1.0/659.25);
    }else if (count == 3){
    speaker.period(1.0/698.46);
    }else if (count == 4){
    speaker.period(1.0/783.99);
    }else if (count == 5){
    speaker.period(1.0/880.0);
    }else if (count == 6){
    speaker.period(1.0/987.77);
    }else if (count == 7){
    speaker.period(1.0/1040.50);
    }
    speaker = 0.5;
    wait(0.2);
    speaker = 0; 
    count++;
    if (count == 8) {count = 0;}
}
int main() {
    switchPressed = false; 
    mode = 0; 
    bool needNote = true;
    ledC = 1; ledD = 1; ledE = 1; ledF = 1; ledG = 1;
    while(1) {
        switchModeCheck(); 
        
        if (mode == 0) {
            if (butC == 1) {
                ledC = 0; 
                cycleSound(); 
            } else {
                ledC = 1;  
            }
            if (butD == 1) {
                ledD = 0; 
                cycleSound(); 
            } else {
                ledD = 1; 
            }
            if (butE == 1) {
                ledE = 0; 
                cycleSound(); 
            } else {
                ledE = 1; 
            }
            if (butF == 1) {
                ledF = 0; 
                cycleSound(); 
            } else {
                ledF = 1; 
            }
            if (butG == 1) {
                ledG = 0; 
                cycleSound(); 
            } else {
                ledG = 1; 
            }
        }
        
        if (mode == 1) {
        int random = rand() % 5;
            if (needNote) {
                needNote = false;
                if (random == 0) {
                    ledC = 0;
                } else if (random == 1) {
                    ledD = 0;    
                } else if (random == 2) {
                    ledE = 0; 
                } else if (random == 3) {
                    ledF = 0;
                } else if (random == 4) {
                    ledG = 0;            
                }
            }
            if (butC == 1 && ledC == 0) {
                cycleSound(); 
                ledC = 1; 
                needNote = true;
            } else if (butD == 1 && ledD == 0) {
                ledD = 1; 
                cycleSound(); 
                needNote = true;
            }  else if (butE == 1 && ledE == 0) {
                ledE = 1; 
                cycleSound(); 
                needNote = true;
            } else if (butF == 1 && ledF == 0) {
                ledF = 1; 
                cycleSound(); 
                needNote = true;
            } else if (butG == 1 && ledG == 0) {
                ledG = 1; 
                cycleSound(); 
                needNote = true;
            } 
        
            
            
            
            
        } 
    }
}