kohacraft Lab
/
oshibotan
oshibotan shingo
main.cpp@0:a9bfbb95c112, 2015-08-06 (annotated)
- Committer:
- kohacraft
- Date:
- Thu Aug 06 00:05:29 2015 +0000
- Revision:
- 0:a9bfbb95c112
ver1.0 traffic signal
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kohacraft | 0:a9bfbb95c112 | 1 | #include "mbed.h" |
kohacraft | 0:a9bfbb95c112 | 2 | |
kohacraft | 0:a9bfbb95c112 | 3 | DigitalOut B(dp17); //自動車用信号 青 |
kohacraft | 0:a9bfbb95c112 | 4 | DigitalOut Y(dp16); // 黄 |
kohacraft | 0:a9bfbb95c112 | 5 | DigitalOut R(dp15); // 赤 |
kohacraft | 0:a9bfbb95c112 | 6 | DigitalOut B2(dp13); //歩行者用信号 青 |
kohacraft | 0:a9bfbb95c112 | 7 | DigitalOut R2(dp14); // 赤 |
kohacraft | 0:a9bfbb95c112 | 8 | DigitalOut buzz(dp28); //スピーカー |
kohacraft | 0:a9bfbb95c112 | 9 | |
kohacraft | 0:a9bfbb95c112 | 10 | DigitalIn sw(dp26); //押しボタンスイッチ |
kohacraft | 0:a9bfbb95c112 | 11 | |
kohacraft | 0:a9bfbb95c112 | 12 | int main() { |
kohacraft | 0:a9bfbb95c112 | 13 | while(1) { |
kohacraft | 0:a9bfbb95c112 | 14 | |
kohacraft | 0:a9bfbb95c112 | 15 | B = 1; //自動車:5秒間青 |
kohacraft | 0:a9bfbb95c112 | 16 | Y = 0; //1がLED ON 0がLED OFF |
kohacraft | 0:a9bfbb95c112 | 17 | R = 0; |
kohacraft | 0:a9bfbb95c112 | 18 | B2 = 0; //歩行者:赤 |
kohacraft | 0:a9bfbb95c112 | 19 | R2 = 1; |
kohacraft | 0:a9bfbb95c112 | 20 | wait(5.0); //5秒間 |
kohacraft | 0:a9bfbb95c112 | 21 | |
kohacraft | 0:a9bfbb95c112 | 22 | while( sw == 0 ) |
kohacraft | 0:a9bfbb95c112 | 23 | { |
kohacraft | 0:a9bfbb95c112 | 24 | } |
kohacraft | 0:a9bfbb95c112 | 25 | |
kohacraft | 0:a9bfbb95c112 | 26 | B = 0; //自動車:1秒間黄色 |
kohacraft | 0:a9bfbb95c112 | 27 | Y = 1; |
kohacraft | 0:a9bfbb95c112 | 28 | R = 0; |
kohacraft | 0:a9bfbb95c112 | 29 | B2 = 0; |
kohacraft | 0:a9bfbb95c112 | 30 | R2 = 1; |
kohacraft | 0:a9bfbb95c112 | 31 | wait(1.0); |
kohacraft | 0:a9bfbb95c112 | 32 | |
kohacraft | 0:a9bfbb95c112 | 33 | B = 0; //自動車:2秒間赤 |
kohacraft | 0:a9bfbb95c112 | 34 | Y = 0; |
kohacraft | 0:a9bfbb95c112 | 35 | R = 1; |
kohacraft | 0:a9bfbb95c112 | 36 | B2 = 0; //歩行者:赤のまま |
kohacraft | 0:a9bfbb95c112 | 37 | R2 = 1; |
kohacraft | 0:a9bfbb95c112 | 38 | wait(2.0); |
kohacraft | 0:a9bfbb95c112 | 39 | |
kohacraft | 0:a9bfbb95c112 | 40 | //歩行者の信号を青にする |
kohacraft | 0:a9bfbb95c112 | 41 | B = 0; //自動車:赤のまま |
kohacraft | 0:a9bfbb95c112 | 42 | Y = 0; |
kohacraft | 0:a9bfbb95c112 | 43 | R = 1; |
kohacraft | 0:a9bfbb95c112 | 44 | B2 = 1; //歩行者:青にする |
kohacraft | 0:a9bfbb95c112 | 45 | R2 = 0; |
kohacraft | 0:a9bfbb95c112 | 46 | |
kohacraft | 0:a9bfbb95c112 | 47 | //カッコーを5回鳴らす |
kohacraft | 0:a9bfbb95c112 | 48 | for( int i=0 ; i<5 ; i++ ) |
kohacraft | 0:a9bfbb95c112 | 49 | { |
kohacraft | 0:a9bfbb95c112 | 50 | //ミの音を鳴らす |
kohacraft | 0:a9bfbb95c112 | 51 | for( int i=0 ; i<300 ; i++ ) |
kohacraft | 0:a9bfbb95c112 | 52 | { |
kohacraft | 0:a9bfbb95c112 | 53 | buzz = 1; //スピーカーをON OFF させて音を作る |
kohacraft | 0:a9bfbb95c112 | 54 | wait(1.0/880.00/4); //1オクターブ上のミ 880*2Hz |
kohacraft | 0:a9bfbb95c112 | 55 | buzz = 0; |
kohacraft | 0:a9bfbb95c112 | 56 | wait(1.0/880.00/4); |
kohacraft | 0:a9bfbb95c112 | 57 | |
kohacraft | 0:a9bfbb95c112 | 58 | } |
kohacraft | 0:a9bfbb95c112 | 59 | wait(0.2); |
kohacraft | 0:a9bfbb95c112 | 60 | |
kohacraft | 0:a9bfbb95c112 | 61 | //ドの音を鳴らす |
kohacraft | 0:a9bfbb95c112 | 62 | for( int i=0 ; i<700 ; i++ ) |
kohacraft | 0:a9bfbb95c112 | 63 | { |
kohacraft | 0:a9bfbb95c112 | 64 | |
kohacraft | 0:a9bfbb95c112 | 65 | buzz = 0; |
kohacraft | 0:a9bfbb95c112 | 66 | wait(1.0/698.45/4); //1オクターブ上のド 698.45*2Hz |
kohacraft | 0:a9bfbb95c112 | 67 | buzz = 1; |
kohacraft | 0:a9bfbb95c112 | 68 | wait(1.0/698.45/4); |
kohacraft | 0:a9bfbb95c112 | 69 | |
kohacraft | 0:a9bfbb95c112 | 70 | } |
kohacraft | 0:a9bfbb95c112 | 71 | wait(0.8); |
kohacraft | 0:a9bfbb95c112 | 72 | } |
kohacraft | 0:a9bfbb95c112 | 73 | |
kohacraft | 0:a9bfbb95c112 | 74 | //歩行者用信号を点滅させる |
kohacraft | 0:a9bfbb95c112 | 75 | for( int i=0 ; i<5 ; i++ ) |
kohacraft | 0:a9bfbb95c112 | 76 | { |
kohacraft | 0:a9bfbb95c112 | 77 | B = 0; |
kohacraft | 0:a9bfbb95c112 | 78 | Y = 0; |
kohacraft | 0:a9bfbb95c112 | 79 | R = 1; |
kohacraft | 0:a9bfbb95c112 | 80 | B2 = 1; //歩行者:青を消光らす |
kohacraft | 0:a9bfbb95c112 | 81 | R2 = 0; |
kohacraft | 0:a9bfbb95c112 | 82 | wait(0.3); |
kohacraft | 0:a9bfbb95c112 | 83 | |
kohacraft | 0:a9bfbb95c112 | 84 | B = 0; |
kohacraft | 0:a9bfbb95c112 | 85 | Y = 0; |
kohacraft | 0:a9bfbb95c112 | 86 | R = 1; |
kohacraft | 0:a9bfbb95c112 | 87 | B2 = 0; //歩行者:青を消す |
kohacraft | 0:a9bfbb95c112 | 88 | R2 = 0; |
kohacraft | 0:a9bfbb95c112 | 89 | wait(0.3); |
kohacraft | 0:a9bfbb95c112 | 90 | } |
kohacraft | 0:a9bfbb95c112 | 91 | |
kohacraft | 0:a9bfbb95c112 | 92 | B = 0; |
kohacraft | 0:a9bfbb95c112 | 93 | Y = 0; |
kohacraft | 0:a9bfbb95c112 | 94 | R = 1; |
kohacraft | 0:a9bfbb95c112 | 95 | B2 = 0; |
kohacraft | 0:a9bfbb95c112 | 96 | R2 = 1; //歩行者:赤を消光らす |
kohacraft | 0:a9bfbb95c112 | 97 | wait(2.0); |
kohacraft | 0:a9bfbb95c112 | 98 | |
kohacraft | 0:a9bfbb95c112 | 99 | |
kohacraft | 0:a9bfbb95c112 | 100 | } |
kohacraft | 0:a9bfbb95c112 | 101 | } |