kohacraft Lab
/
kc_piano
electric piano
main.cpp@0:27e5e1ab3286, 2015-11-06 (annotated)
- Committer:
- kohacraft
- Date:
- Fri Nov 06 04:18:36 2015 +0000
- Revision:
- 0:27e5e1ab3286
ver1.0;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kohacraft | 0:27e5e1ab3286 | 1 | #include "mbed.h" |
kohacraft | 0:27e5e1ab3286 | 2 | |
kohacraft | 0:27e5e1ab3286 | 3 | |
kohacraft | 0:27e5e1ab3286 | 4 | PwmOut sp(dp1);//スピーカー |
kohacraft | 0:27e5e1ab3286 | 5 | DigitalIn c1(dp2); |
kohacraft | 0:27e5e1ab3286 | 6 | DigitalIn cis1(dp4); |
kohacraft | 0:27e5e1ab3286 | 7 | DigitalIn d1(dp6); |
kohacraft | 0:27e5e1ab3286 | 8 | DigitalIn dis1(dp9); |
kohacraft | 0:27e5e1ab3286 | 9 | DigitalIn e1(dp10); |
kohacraft | 0:27e5e1ab3286 | 10 | DigitalIn f1(dp11); |
kohacraft | 0:27e5e1ab3286 | 11 | DigitalIn fis1(dp13); |
kohacraft | 0:27e5e1ab3286 | 12 | DigitalIn g1(dp14); |
kohacraft | 0:27e5e1ab3286 | 13 | DigitalIn gis1(dp15); |
kohacraft | 0:27e5e1ab3286 | 14 | DigitalIn a1(dp16); |
kohacraft | 0:27e5e1ab3286 | 15 | DigitalIn b1(dp17); |
kohacraft | 0:27e5e1ab3286 | 16 | DigitalIn h1(dp18); |
kohacraft | 0:27e5e1ab3286 | 17 | DigitalIn c2(dp24); |
kohacraft | 0:27e5e1ab3286 | 18 | DigitalIn modesw(dp25); |
kohacraft | 0:27e5e1ab3286 | 19 | |
kohacraft | 0:27e5e1ab3286 | 20 | int main() { |
kohacraft | 0:27e5e1ab3286 | 21 | float piano; |
kohacraft | 0:27e5e1ab3286 | 22 | float p1; |
kohacraft | 0:27e5e1ab3286 | 23 | float mode; |
kohacraft | 0:27e5e1ab3286 | 24 | mode = 1; |
kohacraft | 0:27e5e1ab3286 | 25 | sp.period(0.00001); |
kohacraft | 0:27e5e1ab3286 | 26 | piano = 0.01;//0.01普通 数字を大きくすると早くなる |
kohacraft | 0:27e5e1ab3286 | 27 | while(1) { |
kohacraft | 0:27e5e1ab3286 | 28 | if(modesw == 1){ |
kohacraft | 0:27e5e1ab3286 | 29 | mode += 1; |
kohacraft | 0:27e5e1ab3286 | 30 | } |
kohacraft | 0:27e5e1ab3286 | 31 | if(mode == 4){ |
kohacraft | 0:27e5e1ab3286 | 32 | mode = 1; |
kohacraft | 0:27e5e1ab3286 | 33 | } |
kohacraft | 0:27e5e1ab3286 | 34 | if(mode == 1){ |
kohacraft | 0:27e5e1ab3286 | 35 | piano = 0.01; |
kohacraft | 0:27e5e1ab3286 | 36 | } |
kohacraft | 0:27e5e1ab3286 | 37 | if(mode == 2){ |
kohacraft | 0:27e5e1ab3286 | 38 | piano = 0.1; |
kohacraft | 0:27e5e1ab3286 | 39 | } |
kohacraft | 0:27e5e1ab3286 | 40 | if(mode == 3){ |
kohacraft | 0:27e5e1ab3286 | 41 | piano = 1.0; |
kohacraft | 0:27e5e1ab3286 | 42 | } |
kohacraft | 0:27e5e1ab3286 | 43 | if(c1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 44 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 45 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 46 | wait(1.0/523.25); |
kohacraft | 0:27e5e1ab3286 | 47 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 48 | wait(1.0/523.25); |
kohacraft | 0:27e5e1ab3286 | 49 | } |
kohacraft | 0:27e5e1ab3286 | 50 | } |
kohacraft | 0:27e5e1ab3286 | 51 | if(cis1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 52 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 53 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 54 | wait(1.0/554.37); |
kohacraft | 0:27e5e1ab3286 | 55 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 56 | wait(1.0/554.37); |
kohacraft | 0:27e5e1ab3286 | 57 | } |
kohacraft | 0:27e5e1ab3286 | 58 | } |
kohacraft | 0:27e5e1ab3286 | 59 | if(d1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 60 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 61 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 62 | wait(1.0/587.33); |
kohacraft | 0:27e5e1ab3286 | 63 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 64 | wait(1.0/587.33); |
kohacraft | 0:27e5e1ab3286 | 65 | } |
kohacraft | 0:27e5e1ab3286 | 66 | } |
kohacraft | 0:27e5e1ab3286 | 67 | if(dis1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 68 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 69 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 70 | wait(1.0/622.25); |
kohacraft | 0:27e5e1ab3286 | 71 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 72 | wait(1.0/622.25); |
kohacraft | 0:27e5e1ab3286 | 73 | } |
kohacraft | 0:27e5e1ab3286 | 74 | } |
kohacraft | 0:27e5e1ab3286 | 75 | if(e1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 76 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 77 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 78 | wait(1.0/659.26); |
kohacraft | 0:27e5e1ab3286 | 79 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 80 | wait(1.0/659.26); |
kohacraft | 0:27e5e1ab3286 | 81 | } |
kohacraft | 0:27e5e1ab3286 | 82 | } |
kohacraft | 0:27e5e1ab3286 | 83 | if(f1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 84 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 85 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 86 | wait(1.0/698.46); |
kohacraft | 0:27e5e1ab3286 | 87 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 88 | wait(1.0/698.46); |
kohacraft | 0:27e5e1ab3286 | 89 | } |
kohacraft | 0:27e5e1ab3286 | 90 | } |
kohacraft | 0:27e5e1ab3286 | 91 | if(fis1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 92 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 93 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 94 | wait(1.0/739.99); |
kohacraft | 0:27e5e1ab3286 | 95 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 96 | wait(1.0/739.99); |
kohacraft | 0:27e5e1ab3286 | 97 | } |
kohacraft | 0:27e5e1ab3286 | 98 | } |
kohacraft | 0:27e5e1ab3286 | 99 | if(g1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 100 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 101 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 102 | wait(1.0/783.99); |
kohacraft | 0:27e5e1ab3286 | 103 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 104 | wait(1.0/783.99); |
kohacraft | 0:27e5e1ab3286 | 105 | } |
kohacraft | 0:27e5e1ab3286 | 106 | } |
kohacraft | 0:27e5e1ab3286 | 107 | if(gis1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 108 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano) { |
kohacraft | 0:27e5e1ab3286 | 109 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 110 | wait(1.0/830.61); |
kohacraft | 0:27e5e1ab3286 | 111 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 112 | wait(1.0/830.61); |
kohacraft | 0:27e5e1ab3286 | 113 | } |
kohacraft | 0:27e5e1ab3286 | 114 | } |
kohacraft | 0:27e5e1ab3286 | 115 | if(a1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 116 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) { |
kohacraft | 0:27e5e1ab3286 | 117 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 118 | wait(1.0/440.00/2); |
kohacraft | 0:27e5e1ab3286 | 119 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 120 | wait(1.0/440.00/2); |
kohacraft | 0:27e5e1ab3286 | 121 | } |
kohacraft | 0:27e5e1ab3286 | 122 | } |
kohacraft | 0:27e5e1ab3286 | 123 | if(b1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 124 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) { |
kohacraft | 0:27e5e1ab3286 | 125 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 126 | wait(1.0/466.16/2); |
kohacraft | 0:27e5e1ab3286 | 127 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 128 | wait(1.0/466.16/2); |
kohacraft | 0:27e5e1ab3286 | 129 | } |
kohacraft | 0:27e5e1ab3286 | 130 | } |
kohacraft | 0:27e5e1ab3286 | 131 | if(h1 == 1){ |
kohacraft | 0:27e5e1ab3286 | 132 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) { |
kohacraft | 0:27e5e1ab3286 | 133 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 134 | wait(1.0/493.88/2); |
kohacraft | 0:27e5e1ab3286 | 135 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 136 | wait(1.0/493.88/2); |
kohacraft | 0:27e5e1ab3286 | 137 | } |
kohacraft | 0:27e5e1ab3286 | 138 | } |
kohacraft | 0:27e5e1ab3286 | 139 | if(c2 == 1){ |
kohacraft | 0:27e5e1ab3286 | 140 | for(p1 = 1.0; p1 >= 0.0 ; p1 -= piano/1.5) { |
kohacraft | 0:27e5e1ab3286 | 141 | sp = p1; |
kohacraft | 0:27e5e1ab3286 | 142 | wait(1.0/523.25/2); |
kohacraft | 0:27e5e1ab3286 | 143 | sp = 0; |
kohacraft | 0:27e5e1ab3286 | 144 | wait(1.0/523.25/2); |
kohacraft | 0:27e5e1ab3286 | 145 | } |
kohacraft | 0:27e5e1ab3286 | 146 | } |
kohacraft | 0:27e5e1ab3286 | 147 | |
kohacraft | 0:27e5e1ab3286 | 148 | |
kohacraft | 0:27e5e1ab3286 | 149 | |
kohacraft | 0:27e5e1ab3286 | 150 | |
kohacraft | 0:27e5e1ab3286 | 151 | } |
kohacraft | 0:27e5e1ab3286 | 152 | } |