Doppio Semaforo pedoni/auto con pulsante + segnalatore acustico per non vedenti (buzzer)

Dependencies:   mbed

main.cpp

Committer:
CarmineSql
Date:
2019-03-31
Revision:
0:9d0868154c29
Child:
1:abfbb7c52052

File content as of revision 0:9d0868154c29:


#include "mbed.h"     
  
DigitalOut r_m(D12);     
DigitalOut g_m(D10);
DigitalOut v_m(D9);  

DigitalOut r_p(D2);
DigitalOut g_p(D4);
DigitalOut v_p(D6);

DigitalIn button(D3);
DigitalOut mybuzzer(D11);


int i,a;

void pwm_buzzer(double frequenza){

   int i;

   for(i=0; i<frequenza/10; i++) {
           mybuzzer=1;
           wait(0.5/frequenza);
           mybuzzer=0;
           wait(0.5/frequenza);
    }
}
int main()
{
    while(1){
        if(button==1){  //BOTTONE PREMUTO
            v_m=0;  //SPEGNI VERDE MACCHINA
            r_p=0;  //SPEGNI ROSSO PEDONE
            wait(1.0);
            g_m=1;  //ACCENDI GIALLO MACCHINA
            wait(1.5);
            r_m=1;  //ACCENDI ROSSO MACCHINA
            g_m=0;  //SPEGNI GIALLO MACCHINA
            g_p=1;  //ACCENDI GIALLO PEDONI
            wait(1.0);
            v_p=1;  //ACCENDI VERDE PEDONE
            g_p=0;  //SPEGNI GIALLO PEDONE
            for(a=0; a<100; a++){
            pwm_buzzer(3000);
            }
            wait(1); //EMETTI SUONI
            i=1;
         }
         if(i==1){
             r_m=0;
             g_m=0;
             v_m=1;
    
             r_p=1;
             g_p=0;
             v_p=0;
             }

    }
}