LEDで自動車と歩行者の信号機を、ブザーでカッコーを再現したプログラムです。自由に改変して使ってください。

Dependencies:   mbed

Committer:
kohacraft
Date:
Sun Jul 26 03:48:30 2015 +0000
Revision:
1:020620966b3c
Parent:
0:75120f0bbd80
change pin position

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:75120f0bbd80 1 #include "mbed.h"
kohacraft 0:75120f0bbd80 2
kohacraft 1:020620966b3c 3 DigitalOut B(dp17); //自動車用信号 青
kohacraft 1:020620966b3c 4 DigitalOut Y(dp16); //       黄
kohacraft 1:020620966b3c 5 DigitalOut R(dp15); //       赤
kohacraft 1:020620966b3c 6 DigitalOut B2(dp13); //歩行者用信号 青
kohacraft 1:020620966b3c 7 DigitalOut R2(dp14); //       赤
kohacraft 1:020620966b3c 8 DigitalOut buzz(dp28); //スピーカー
kohacraft 0:75120f0bbd80 9
kohacraft 1:020620966b3c 10 int main() {
kohacraft 0:75120f0bbd80 11 while(1) {
kohacraft 0:75120f0bbd80 12
kohacraft 1:020620966b3c 13 B = 1; //自動車:5秒間青
kohacraft 1:020620966b3c 14 Y = 0; //1がLED ON 0がLED OFF
kohacraft 0:75120f0bbd80 15 R = 0;
kohacraft 1:020620966b3c 16 B2 = 0; //歩行者:赤
kohacraft 0:75120f0bbd80 17 R2 = 1;
kohacraft 1:020620966b3c 18 wait(5.0); //5秒間
kohacraft 0:75120f0bbd80 19
kohacraft 1:020620966b3c 20 B = 0; //自動車:1秒間黄色
kohacraft 0:75120f0bbd80 21 Y = 1;
kohacraft 0:75120f0bbd80 22 R = 0;
kohacraft 0:75120f0bbd80 23 B2 = 0;
kohacraft 0:75120f0bbd80 24 R2 = 1;
kohacraft 0:75120f0bbd80 25 wait(1.0);
kohacraft 0:75120f0bbd80 26
kohacraft 1:020620966b3c 27 B = 0; //自動車:2秒間赤
kohacraft 0:75120f0bbd80 28 Y = 0;
kohacraft 0:75120f0bbd80 29 R = 1;
kohacraft 1:020620966b3c 30 B2 = 0; //歩行者:赤のまま
kohacraft 0:75120f0bbd80 31 R2 = 1;
kohacraft 1:020620966b3c 32 wait(2.0);
kohacraft 0:75120f0bbd80 33
kohacraft 0:75120f0bbd80 34 //歩行者の信号を青にする
kohacraft 1:020620966b3c 35 B = 0; //自動車:赤のまま
kohacraft 0:75120f0bbd80 36 Y = 0;
kohacraft 0:75120f0bbd80 37 R = 1;
kohacraft 1:020620966b3c 38 B2 = 1; //歩行者:青にする
kohacraft 0:75120f0bbd80 39 R2 = 0;
kohacraft 0:75120f0bbd80 40
kohacraft 1:020620966b3c 41 //カッコーを5回鳴らす
kohacraft 1:020620966b3c 42 for( int i=0 ; i<5 ; i++ )
kohacraft 1:020620966b3c 43 {
kohacraft 1:020620966b3c 44 //ミの音を鳴らす
kohacraft 1:020620966b3c 45 for( int i=0 ; i<300 ; i++ )
kohacraft 1:020620966b3c 46 {
kohacraft 1:020620966b3c 47 buzz = 1; //スピーカーをON OFF させて音を作る
kohacraft 1:020620966b3c 48 wait(1.0/880.00/4); //1オクターブ上のミ 880*2Hz
kohacraft 1:020620966b3c 49 buzz = 0;
kohacraft 1:020620966b3c 50 wait(1.0/880.00/4);
kohacraft 1:020620966b3c 51
kohacraft 0:75120f0bbd80 52 }
kohacraft 1:020620966b3c 53 wait(0.2);
kohacraft 0:75120f0bbd80 54
kohacraft 1:020620966b3c 55 //ドの音を鳴らす
kohacraft 1:020620966b3c 56 for( int i=0 ; i<700 ; i++ )
kohacraft 1:020620966b3c 57 {
kohacraft 1:020620966b3c 58
kohacraft 1:020620966b3c 59 buzz = 0;
kohacraft 1:020620966b3c 60 wait(1.0/698.45/4); //1オクターブ上のド 698.45*2Hz
kohacraft 1:020620966b3c 61 buzz = 1;
kohacraft 1:020620966b3c 62 wait(1.0/698.45/4);
kohacraft 1:020620966b3c 63
kohacraft 1:020620966b3c 64 }
kohacraft 1:020620966b3c 65 wait(0.8);
kohacraft 1:020620966b3c 66 }
kohacraft 1:020620966b3c 67
kohacraft 0:75120f0bbd80 68 //歩行者用信号を点滅させる
kohacraft 1:020620966b3c 69 for( int i=0 ; i<5 ; i++ )
kohacraft 1:020620966b3c 70 {
kohacraft 1:020620966b3c 71 B = 0;
kohacraft 1:020620966b3c 72 Y = 0;
kohacraft 1:020620966b3c 73 R = 1;
kohacraft 1:020620966b3c 74 B2 = 1; //歩行者:青を消光らす
kohacraft 1:020620966b3c 75 R2 = 0;
kohacraft 1:020620966b3c 76 wait(0.3);
kohacraft 1:020620966b3c 77
kohacraft 1:020620966b3c 78 B = 0;
kohacraft 1:020620966b3c 79 Y = 0;
kohacraft 1:020620966b3c 80 R = 1;
kohacraft 1:020620966b3c 81 B2 = 0; //歩行者:青を消す
kohacraft 1:020620966b3c 82 R2 = 0;
kohacraft 1:020620966b3c 83 wait(0.3);
kohacraft 1:020620966b3c 84 }
kohacraft 1:020620966b3c 85
kohacraft 0:75120f0bbd80 86 B = 0;
kohacraft 0:75120f0bbd80 87 Y = 0;
kohacraft 0:75120f0bbd80 88 R = 1;
kohacraft 0:75120f0bbd80 89 B2 = 0;
kohacraft 1:020620966b3c 90 R2 = 1; //歩行者:赤を消光らす
kohacraft 1:020620966b3c 91 wait(2.0);
kohacraft 0:75120f0bbd80 92
kohacraft 0:75120f0bbd80 93
kohacraft 0:75120f0bbd80 94 }
kohacraft 0:75120f0bbd80 95 }