kohacraft Lab
/
kc_piano
electric piano
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Sun Jul 17 2022 04:15:33 by 1.7.2