kohacraft Lab
/
kc_1_ningyo_classic
クラシック音楽が鳴りながらLEDが点滅するプログラムです 改変等自由にご利用ください
Revision 0:310cbbca646a, committed 2016-07-16
- Comitter:
- kohacraft
- Date:
- Sat Jul 16 05:54:31 2016 +0000
- Commit message:
- ver1.0
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 310cbbca646a main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Jul 16 05:54:31 2016 +0000 @@ -0,0 +1,120 @@ +/* クラシック音楽の鳴る人形のプログラムです */ +#include "mbed.h" + +PwmOut sp(dp1); //スピーカーのピンを設定します +DigitalOut l1(dp13);//1つ目のLEDのピンを設定します +DigitalOut l2(dp14);//2つ目のLEDのピンを設定します +Ticker flipper; //タイマー割り込みを利用します + +void flip() { //定期的にここのプログラ実行されます + l1 = !l1; //LED1がONだったら反対のOFFに、OFFだったら反対のONにします + l2 = !l2; +} + +//指定した周波数の音を指定した時間鳴らします ヘルツ,秒 + void tone( float t , float n ){ + float na; + + na = 1 / n; + for( int i=0 ; i< t / na ; i++ ){ + sp = 1; + wait(1.0 / t / 2); + sp = 0; + wait(1.0 / t / 2); + } +} + +int main() { + sp.period(0.00001); //PWMの周期を細かくしておく + + l1 = 0; + l2 = 1; //片方のLEDだけを光らせておく + flipper.attach(&flip, 0.2); //0.2秒ごとにflipというプログラムを実行する + + while(1) { + // ヘルツ 秒 + tone( 784 , 0.4 ); + tone( 523.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 698.5 , 0.2 ); + + tone( 784 , 0.4 ); + tone( 523.3 , 0.35 ); + wait(0.05); + tone( 523.3 , 0.4 ); + + tone( 880 , 0.4 ); + tone( 698.5 , 0.2 ); + tone( 784 , 0.2 ); + tone( 880 , 0.2 ); + tone( 987.8 , 0.2 ); + + tone( 1047 , 0.4 ); + tone( 523.3 , 0.35 ); + wait(0.05); + tone( 523.3 , 0.4 ); + + tone( 698.5 , 0.4 ); + tone( 784 , 0.2 ); + tone( 698.5 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 587.3 , 0.2 ); + + tone( 659.3 , 0.4 ); + tone( 698.5 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 523.3 , 0.2 ); + + tone( 493.9 , 0.4 ); + tone( 523.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 523.3 , 0.2 ); + tone( 587.3 , 1.2 ); + + tone( 784 , 0.4 ); + tone( 523.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 698.5 , 0.2 ); + + tone( 784 , 0.4 ); + tone( 523.3 , 0.35 ); + wait(0.05); + tone( 523.3 , 0.4 ); + + tone( 880 , 0.4 ); + tone( 698.5 , 0.2 ); + tone( 784 , 0.2 ); + tone( 880 , 0.2 ); + tone( 987.8 , 0.2 ); + + tone( 1047 , 0.4 ); + tone( 523.3 , 0.35 ); + wait(0.05); + tone( 523.3 , 0.4 ); + + tone( 698.5 , 0.4 ); + tone( 784 , 0.2 ); + tone( 698.5 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 587.3 , 0.2 ); + + tone( 659.3 , 0.4 ); + tone( 698.5 , 0.2 ); + tone( 659.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 523.3 , 0.2 ); + + tone( 587.3 , 0.4 ); + tone( 659.3 , 0.2 ); + tone( 587.3 , 0.2 ); + tone( 523.3 , 0.2 ); + tone( 493.9 , 0.2 ); + tone( 523.3 , 1.2 ); + + wait(0.4); + } +} \ No newline at end of file
diff -r 000000000000 -r 310cbbca646a mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Jul 16 05:54:31 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34 \ No newline at end of file