クラシック音楽が鳴りながらLEDが点滅するプログラムです 改変等自由にご利用ください

Dependencies:   mbed

Committer:
kohacraft
Date:
Sat Jul 16 05:54:31 2016 +0000
Revision:
0:310cbbca646a
ver1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:310cbbca646a 1 /* クラシック音楽の鳴る人形のプログラムです */
kohacraft 0:310cbbca646a 2 #include "mbed.h"
kohacraft 0:310cbbca646a 3
kohacraft 0:310cbbca646a 4 PwmOut sp(dp1); //スピーカーのピンを設定します
kohacraft 0:310cbbca646a 5 DigitalOut l1(dp13);//1つ目のLEDのピンを設定します
kohacraft 0:310cbbca646a 6 DigitalOut l2(dp14);//2つ目のLEDのピンを設定します
kohacraft 0:310cbbca646a 7 Ticker flipper; //タイマー割り込みを利用します
kohacraft 0:310cbbca646a 8
kohacraft 0:310cbbca646a 9 void flip() { //定期的にここのプログラ実行されます
kohacraft 0:310cbbca646a 10 l1 = !l1; //LED1がONだったら反対のOFFに、OFFだったら反対のONにします
kohacraft 0:310cbbca646a 11 l2 = !l2;
kohacraft 0:310cbbca646a 12 }
kohacraft 0:310cbbca646a 13
kohacraft 0:310cbbca646a 14 //指定した周波数の音を指定した時間鳴らします ヘルツ,秒
kohacraft 0:310cbbca646a 15 void tone( float t , float n ){
kohacraft 0:310cbbca646a 16 float na;
kohacraft 0:310cbbca646a 17
kohacraft 0:310cbbca646a 18 na = 1 / n;
kohacraft 0:310cbbca646a 19 for( int i=0 ; i< t / na ; i++ ){
kohacraft 0:310cbbca646a 20 sp = 1;
kohacraft 0:310cbbca646a 21 wait(1.0 / t / 2);
kohacraft 0:310cbbca646a 22 sp = 0;
kohacraft 0:310cbbca646a 23 wait(1.0 / t / 2);
kohacraft 0:310cbbca646a 24 }
kohacraft 0:310cbbca646a 25 }
kohacraft 0:310cbbca646a 26
kohacraft 0:310cbbca646a 27 int main() {
kohacraft 0:310cbbca646a 28 sp.period(0.00001); //PWMの周期を細かくしておく
kohacraft 0:310cbbca646a 29
kohacraft 0:310cbbca646a 30 l1 = 0;
kohacraft 0:310cbbca646a 31 l2 = 1; //片方のLEDだけを光らせておく
kohacraft 0:310cbbca646a 32 flipper.attach(&flip, 0.2); //0.2秒ごとにflipというプログラムを実行する
kohacraft 0:310cbbca646a 33
kohacraft 0:310cbbca646a 34 while(1) {
kohacraft 0:310cbbca646a 35 // ヘルツ 秒
kohacraft 0:310cbbca646a 36 tone( 784 , 0.4 );
kohacraft 0:310cbbca646a 37 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 38 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 39 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 40 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 41
kohacraft 0:310cbbca646a 42 tone( 784 , 0.4 );
kohacraft 0:310cbbca646a 43 tone( 523.3 , 0.35 );
kohacraft 0:310cbbca646a 44 wait(0.05);
kohacraft 0:310cbbca646a 45 tone( 523.3 , 0.4 );
kohacraft 0:310cbbca646a 46
kohacraft 0:310cbbca646a 47 tone( 880 , 0.4 );
kohacraft 0:310cbbca646a 48 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 49 tone( 784 , 0.2 );
kohacraft 0:310cbbca646a 50 tone( 880 , 0.2 );
kohacraft 0:310cbbca646a 51 tone( 987.8 , 0.2 );
kohacraft 0:310cbbca646a 52
kohacraft 0:310cbbca646a 53 tone( 1047 , 0.4 );
kohacraft 0:310cbbca646a 54 tone( 523.3 , 0.35 );
kohacraft 0:310cbbca646a 55 wait(0.05);
kohacraft 0:310cbbca646a 56 tone( 523.3 , 0.4 );
kohacraft 0:310cbbca646a 57
kohacraft 0:310cbbca646a 58 tone( 698.5 , 0.4 );
kohacraft 0:310cbbca646a 59 tone( 784 , 0.2 );
kohacraft 0:310cbbca646a 60 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 61 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 62 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 63
kohacraft 0:310cbbca646a 64 tone( 659.3 , 0.4 );
kohacraft 0:310cbbca646a 65 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 66 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 67 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 68 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 69
kohacraft 0:310cbbca646a 70 tone( 493.9 , 0.4 );
kohacraft 0:310cbbca646a 71 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 72 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 73 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 74 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 75 tone( 587.3 , 1.2 );
kohacraft 0:310cbbca646a 76
kohacraft 0:310cbbca646a 77 tone( 784 , 0.4 );
kohacraft 0:310cbbca646a 78 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 79 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 80 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 81 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 82
kohacraft 0:310cbbca646a 83 tone( 784 , 0.4 );
kohacraft 0:310cbbca646a 84 tone( 523.3 , 0.35 );
kohacraft 0:310cbbca646a 85 wait(0.05);
kohacraft 0:310cbbca646a 86 tone( 523.3 , 0.4 );
kohacraft 0:310cbbca646a 87
kohacraft 0:310cbbca646a 88 tone( 880 , 0.4 );
kohacraft 0:310cbbca646a 89 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 90 tone( 784 , 0.2 );
kohacraft 0:310cbbca646a 91 tone( 880 , 0.2 );
kohacraft 0:310cbbca646a 92 tone( 987.8 , 0.2 );
kohacraft 0:310cbbca646a 93
kohacraft 0:310cbbca646a 94 tone( 1047 , 0.4 );
kohacraft 0:310cbbca646a 95 tone( 523.3 , 0.35 );
kohacraft 0:310cbbca646a 96 wait(0.05);
kohacraft 0:310cbbca646a 97 tone( 523.3 , 0.4 );
kohacraft 0:310cbbca646a 98
kohacraft 0:310cbbca646a 99 tone( 698.5 , 0.4 );
kohacraft 0:310cbbca646a 100 tone( 784 , 0.2 );
kohacraft 0:310cbbca646a 101 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 102 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 103 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 104
kohacraft 0:310cbbca646a 105 tone( 659.3 , 0.4 );
kohacraft 0:310cbbca646a 106 tone( 698.5 , 0.2 );
kohacraft 0:310cbbca646a 107 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 108 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 109 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 110
kohacraft 0:310cbbca646a 111 tone( 587.3 , 0.4 );
kohacraft 0:310cbbca646a 112 tone( 659.3 , 0.2 );
kohacraft 0:310cbbca646a 113 tone( 587.3 , 0.2 );
kohacraft 0:310cbbca646a 114 tone( 523.3 , 0.2 );
kohacraft 0:310cbbca646a 115 tone( 493.9 , 0.2 );
kohacraft 0:310cbbca646a 116 tone( 523.3 , 1.2 );
kohacraft 0:310cbbca646a 117
kohacraft 0:310cbbca646a 118 wait(0.4);
kohacraft 0:310cbbca646a 119 }
kohacraft 0:310cbbca646a 120 }