oshibotan shingo

Dependencies:   mbed

main.cpp

Committer:
kohacraft
Date:
2015-08-06
Revision:
0:a9bfbb95c112

File content as of revision 0:a9bfbb95c112:

#include "mbed.h"

DigitalOut B(dp17);  //自動車用信号 青
DigitalOut Y(dp16);  //       黄
DigitalOut R(dp15);  //       赤
DigitalOut B2(dp13); //歩行者用信号 青
DigitalOut R2(dp14); //       赤
DigitalOut buzz(dp28);  //スピーカー

DigitalIn sw(dp26);  //押しボタンスイッチ

int main() { 
    while(1) {

        B = 1;  //自動車:5秒間青
        Y = 0;  //1がLED ON 0がLED OFF
        R = 0;
        B2 = 0; //歩行者:赤
        R2 = 1;
        wait(5.0);  //5秒間
        
        while( sw == 0 )
        {
        }
        
        B = 0;  //自動車:1秒間黄色
        Y = 1;
        R = 0;
        B2 = 0;
        R2 = 1;
        wait(1.0);
        
        B = 0;  //自動車:2秒間赤
        Y = 0;
        R = 1;
        B2 = 0; //歩行者:赤のまま
        R2 = 1;
        wait(2.0);
        
        //歩行者の信号を青にする
        B = 0;  //自動車:赤のまま
        Y = 0;
        R = 1;
        B2 = 1; //歩行者:青にする
        R2 = 0;
        
        //カッコーを5回鳴らす
        for( int i=0 ; i<5 ; i++ )
        {   
            //ミの音を鳴らす
            for( int i=0 ; i<300 ; i++ )
            {
                buzz = 1;   //スピーカーをON OFF させて音を作る
                wait(1.0/880.00/4); //1オクターブ上のミ 880*2Hz
                buzz = 0;
                wait(1.0/880.00/4);
            
            }
            wait(0.2);
            
            //ドの音を鳴らす
            for( int i=0 ; i<700 ; i++ )
            {
            
                buzz = 0;
                wait(1.0/698.45/4); //1オクターブ上のド 698.45*2Hz
                buzz = 1;
                wait(1.0/698.45/4);
            
            }
            wait(0.8);
        }
        
        //歩行者用信号を点滅させる
        for( int i=0 ; i<5 ; i++ )
        {
            B = 0;
            Y = 0;
            R = 1;
            B2 = 1; //歩行者:青を消光らす
            R2 = 0; 
            wait(0.3);
            
            B = 0;
            Y = 0;
            R = 1;
            B2 = 0; //歩行者:青を消す
            R2 = 0; 
            wait(0.3);
        }
        
        B = 0;
        Y = 0;
        R = 1;
        B2 = 0;
        R2 = 1; //歩行者:赤を消光らす
        wait(2.0);
        
      
    }
}