electric piano

Dependencies:   mbed

main.cpp

Committer:
kohacraft
Date:
2015-11-06
Revision:
0:27e5e1ab3286

File content as of revision 0:27e5e1ab3286:

#include "mbed.h"


PwmOut sp(dp1);//スピーカー
DigitalIn c1(dp2);
DigitalIn cis1(dp4);
DigitalIn d1(dp6);
DigitalIn dis1(dp9);
DigitalIn e1(dp10);
DigitalIn f1(dp11);
DigitalIn fis1(dp13);
DigitalIn g1(dp14);
DigitalIn gis1(dp15);
DigitalIn a1(dp16);
DigitalIn b1(dp17);
DigitalIn h1(dp18);
DigitalIn c2(dp24);
DigitalIn modesw(dp25);

int main() {
    float piano;
    float p1;
    float mode;
    mode = 1;
    sp.period(0.00001);
    piano = 0.01;//0.01普通 数字を大きくすると早くなる
    while(1) {
        if(modesw == 1){
            mode += 1;
            }
            if(mode == 4){
            mode = 1;
            }
        if(mode == 1){
            piano = 0.01;
            }
        if(mode == 2){
            piano = 0.1;
            }
        if(mode == 3){
            piano = 1.0;
            }
        if(c1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/523.25);
        sp = 0;
        wait(1.0/523.25);
        }
        }
        if(cis1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/554.37);
        sp = 0;
        wait(1.0/554.37);
        }
        }
        if(d1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/587.33);
        sp = 0;
        wait(1.0/587.33);
        }
        }
        if(dis1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/622.25);
        sp = 0;
        wait(1.0/622.25);
        }
        }
        if(e1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/659.26);
        sp = 0;
        wait(1.0/659.26);
        }
        }
        if(f1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/698.46);
        sp = 0;
        wait(1.0/698.46);
        }
        }
        if(fis1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/739.99);
        sp = 0;
        wait(1.0/739.99);
        }
        }
        if(g1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/783.99);
        sp = 0;
        wait(1.0/783.99);
        }
        }
        if(gis1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
        sp = p1;
        wait(1.0/830.61);
        sp = 0;
        wait(1.0/830.61);
        }
        }
        if(a1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
        sp = p1;
        wait(1.0/440.00/2);
        sp = 0;
        wait(1.0/440.00/2);
        }
        }
        if(b1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
        sp = p1;
        wait(1.0/466.16/2);
        sp = 0;
        wait(1.0/466.16/2);
        }
        }
        if(h1 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
        sp = p1;
        wait(1.0/493.88/2);
        sp = 0;
        wait(1.0/493.88/2);
        }
        }
        if(c2 == 1){
        for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
        sp = p1;
        wait(1.0/523.25/2);
        sp = 0;
        wait(1.0/523.25/2);
        }
        }
        
    
        
        
    }
}