electric piano

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 
00004 PwmOut sp(dp1);//スピーカー
00005 DigitalIn c1(dp2);
00006 DigitalIn cis1(dp4);
00007 DigitalIn d1(dp6);
00008 DigitalIn dis1(dp9);
00009 DigitalIn e1(dp10);
00010 DigitalIn f1(dp11);
00011 DigitalIn fis1(dp13);
00012 DigitalIn g1(dp14);
00013 DigitalIn gis1(dp15);
00014 DigitalIn a1(dp16);
00015 DigitalIn b1(dp17);
00016 DigitalIn h1(dp18);
00017 DigitalIn c2(dp24);
00018 DigitalIn modesw(dp25);
00019 
00020 int main() {
00021     float piano;
00022     float p1;
00023     float mode;
00024     mode = 1;
00025     sp.period(0.00001);
00026     piano = 0.01;//0.01普通 数字を大きくすると早くなる
00027     while(1) {
00028         if(modesw == 1){
00029             mode += 1;
00030             }
00031             if(mode == 4){
00032             mode = 1;
00033             }
00034         if(mode == 1){
00035             piano = 0.01;
00036             }
00037         if(mode == 2){
00038             piano = 0.1;
00039             }
00040         if(mode == 3){
00041             piano = 1.0;
00042             }
00043         if(c1 == 1){
00044         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00045         sp = p1;
00046         wait(1.0/523.25);
00047         sp = 0;
00048         wait(1.0/523.25);
00049         }
00050         }
00051         if(cis1 == 1){
00052         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00053         sp = p1;
00054         wait(1.0/554.37);
00055         sp = 0;
00056         wait(1.0/554.37);
00057         }
00058         }
00059         if(d1 == 1){
00060         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00061         sp = p1;
00062         wait(1.0/587.33);
00063         sp = 0;
00064         wait(1.0/587.33);
00065         }
00066         }
00067         if(dis1 == 1){
00068         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00069         sp = p1;
00070         wait(1.0/622.25);
00071         sp = 0;
00072         wait(1.0/622.25);
00073         }
00074         }
00075         if(e1 == 1){
00076         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00077         sp = p1;
00078         wait(1.0/659.26);
00079         sp = 0;
00080         wait(1.0/659.26);
00081         }
00082         }
00083         if(f1 == 1){
00084         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00085         sp = p1;
00086         wait(1.0/698.46);
00087         sp = 0;
00088         wait(1.0/698.46);
00089         }
00090         }
00091         if(fis1 == 1){
00092         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00093         sp = p1;
00094         wait(1.0/739.99);
00095         sp = 0;
00096         wait(1.0/739.99);
00097         }
00098         }
00099         if(g1 == 1){
00100         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00101         sp = p1;
00102         wait(1.0/783.99);
00103         sp = 0;
00104         wait(1.0/783.99);
00105         }
00106         }
00107         if(gis1 == 1){
00108         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) {
00109         sp = p1;
00110         wait(1.0/830.61);
00111         sp = 0;
00112         wait(1.0/830.61);
00113         }
00114         }
00115         if(a1 == 1){
00116         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
00117         sp = p1;
00118         wait(1.0/440.00/2);
00119         sp = 0;
00120         wait(1.0/440.00/2);
00121         }
00122         }
00123         if(b1 == 1){
00124         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
00125         sp = p1;
00126         wait(1.0/466.16/2);
00127         sp = 0;
00128         wait(1.0/466.16/2);
00129         }
00130         }
00131         if(h1 == 1){
00132         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
00133         sp = p1;
00134         wait(1.0/493.88/2);
00135         sp = 0;
00136         wait(1.0/493.88/2);
00137         }
00138         }
00139         if(c2 == 1){
00140         for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) {
00141         sp = p1;
00142         wait(1.0/523.25/2);
00143         sp = 0;
00144         wait(1.0/523.25/2);
00145         }
00146         }
00147         
00148     
00149         
00150         
00151     }
00152 }