kohacraft Lab
/
kc_6_syobosya
LEDが点滅しながらうーうーと鳴る消防車のプログラムです 改変等自由にご利用ください
main.cpp@0:a948b8ba1054, 2016-07-16 (annotated)
- Committer:
- kohacraft
- Date:
- Sat Jul 16 05:55:19 2016 +0000
- Revision:
- 0:a948b8ba1054
ver1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kohacraft | 0:a948b8ba1054 | 1 | /* 消防車のプログラムです */ |
kohacraft | 0:a948b8ba1054 | 2 | #include "mbed.h" |
kohacraft | 0:a948b8ba1054 | 3 | |
kohacraft | 0:a948b8ba1054 | 4 | DigitalOut sp(dp1); //スピーカーのピンを設定します |
kohacraft | 0:a948b8ba1054 | 5 | DigitalOut l1(dp13);//1つ目のLEDのピンを設定します |
kohacraft | 0:a948b8ba1054 | 6 | DigitalOut l2(dp14);//2つ目のLEDのピンを設定します |
kohacraft | 0:a948b8ba1054 | 7 | Ticker flipper; //タイマー割り込みを利用します |
kohacraft | 0:a948b8ba1054 | 8 | |
kohacraft | 0:a948b8ba1054 | 9 | void flip() { //定期的にここのプログラ実行されます |
kohacraft | 0:a948b8ba1054 | 10 | l1 = !l1; //LED1がONだったら反対のOFFに、OFFだったら反対のONにします |
kohacraft | 0:a948b8ba1054 | 11 | l2 = !l2; |
kohacraft | 0:a948b8ba1054 | 12 | } |
kohacraft | 0:a948b8ba1054 | 13 | |
kohacraft | 0:a948b8ba1054 | 14 | int main() { |
kohacraft | 0:a948b8ba1054 | 15 | |
kohacraft | 0:a948b8ba1054 | 16 | l1 = 0; |
kohacraft | 0:a948b8ba1054 | 17 | l2 = 1; //片方のLEDだけを光らせておく |
kohacraft | 0:a948b8ba1054 | 18 | flipper.attach(&flip, 0.5); //0.5秒ごとにflipというプログラムを実行する |
kohacraft | 0:a948b8ba1054 | 19 | |
kohacraft | 0:a948b8ba1054 | 20 | while(1) { |
kohacraft | 0:a948b8ba1054 | 21 | |
kohacraft | 0:a948b8ba1054 | 22 | //250~750Hzへ周波数を上げていく |
kohacraft | 0:a948b8ba1054 | 23 | for(float p1 = 250.0; p1 <= 750.0 ; p1 += 0.5) { |
kohacraft | 0:a948b8ba1054 | 24 | sp = 1; |
kohacraft | 0:a948b8ba1054 | 25 | wait(1.0/p1/2); |
kohacraft | 0:a948b8ba1054 | 26 | sp= 0; |
kohacraft | 0:a948b8ba1054 | 27 | wait(0.2/p1/2); |
kohacraft | 0:a948b8ba1054 | 28 | } |
kohacraft | 0:a948b8ba1054 | 29 | |
kohacraft | 0:a948b8ba1054 | 30 | //750~250Hzへ周波数を下げていく |
kohacraft | 0:a948b8ba1054 | 31 | for(float p1 = 750.0; p1 >= 250.0 ; p1 -= 0.5) { |
kohacraft | 0:a948b8ba1054 | 32 | sp = 1; |
kohacraft | 0:a948b8ba1054 | 33 | wait(1.0/p1/2); |
kohacraft | 0:a948b8ba1054 | 34 | sp= 0; |
kohacraft | 0:a948b8ba1054 | 35 | wait(0.2/p1/2); |
kohacraft | 0:a948b8ba1054 | 36 | } |
kohacraft | 0:a948b8ba1054 | 37 | |
kohacraft | 0:a948b8ba1054 | 38 | } |
kohacraft | 0:a948b8ba1054 | 39 | } |