electric piano

Dependencies:   mbed

Committer:
kohacraft
Date:
Fri Nov 06 04:18:36 2015 +0000
Revision:
0:27e5e1ab3286
ver1.0;

Who changed what in which revision?

UserRevisionLine numberNew 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 }