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

Dependencies:   mbed

Committer:
CarmineSql
Date:
Sun Mar 31 15:20:36 2019 +0000
Revision:
0:9d0868154c29
Child:
1:abfbb7c52052
prova

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CarmineSql 0:9d0868154c29 1
CarmineSql 0:9d0868154c29 2 #include "mbed.h"
CarmineSql 0:9d0868154c29 3
CarmineSql 0:9d0868154c29 4 DigitalOut r_m(D12);
CarmineSql 0:9d0868154c29 5 DigitalOut g_m(D10);
CarmineSql 0:9d0868154c29 6 DigitalOut v_m(D9);
CarmineSql 0:9d0868154c29 7
CarmineSql 0:9d0868154c29 8 DigitalOut r_p(D2);
CarmineSql 0:9d0868154c29 9 DigitalOut g_p(D4);
CarmineSql 0:9d0868154c29 10 DigitalOut v_p(D6);
CarmineSql 0:9d0868154c29 11
CarmineSql 0:9d0868154c29 12 DigitalIn button(D3);
CarmineSql 0:9d0868154c29 13 DigitalOut mybuzzer(D11);
CarmineSql 0:9d0868154c29 14
CarmineSql 0:9d0868154c29 15
CarmineSql 0:9d0868154c29 16 int i,a;
CarmineSql 0:9d0868154c29 17
CarmineSql 0:9d0868154c29 18 void pwm_buzzer(double frequenza){
CarmineSql 0:9d0868154c29 19
CarmineSql 0:9d0868154c29 20 int i;
CarmineSql 0:9d0868154c29 21
CarmineSql 0:9d0868154c29 22 for(i=0; i<frequenza/10; i++) {
CarmineSql 0:9d0868154c29 23 mybuzzer=1;
CarmineSql 0:9d0868154c29 24 wait(0.5/frequenza);
CarmineSql 0:9d0868154c29 25 mybuzzer=0;
CarmineSql 0:9d0868154c29 26 wait(0.5/frequenza);
CarmineSql 0:9d0868154c29 27 }
CarmineSql 0:9d0868154c29 28 }
CarmineSql 0:9d0868154c29 29 int main()
CarmineSql 0:9d0868154c29 30 {
CarmineSql 0:9d0868154c29 31 while(1){
CarmineSql 0:9d0868154c29 32 if(button==1){ //BOTTONE PREMUTO
CarmineSql 0:9d0868154c29 33 v_m=0; //SPEGNI VERDE MACCHINA
CarmineSql 0:9d0868154c29 34 r_p=0; //SPEGNI ROSSO PEDONE
CarmineSql 0:9d0868154c29 35 wait(1.0);
CarmineSql 0:9d0868154c29 36 g_m=1; //ACCENDI GIALLO MACCHINA
CarmineSql 0:9d0868154c29 37 wait(1.5);
CarmineSql 0:9d0868154c29 38 r_m=1; //ACCENDI ROSSO MACCHINA
CarmineSql 0:9d0868154c29 39 g_m=0; //SPEGNI GIALLO MACCHINA
CarmineSql 0:9d0868154c29 40 g_p=1; //ACCENDI GIALLO PEDONI
CarmineSql 0:9d0868154c29 41 wait(1.0);
CarmineSql 0:9d0868154c29 42 v_p=1; //ACCENDI VERDE PEDONE
CarmineSql 0:9d0868154c29 43 g_p=0; //SPEGNI GIALLO PEDONE
CarmineSql 0:9d0868154c29 44 for(a=0; a<100; a++){
CarmineSql 0:9d0868154c29 45 pwm_buzzer(3000);
CarmineSql 0:9d0868154c29 46 }
CarmineSql 0:9d0868154c29 47 wait(1); //EMETTI SUONI
CarmineSql 0:9d0868154c29 48 i=1;
CarmineSql 0:9d0868154c29 49 }
CarmineSql 0:9d0868154c29 50 if(i==1){
CarmineSql 0:9d0868154c29 51 r_m=0;
CarmineSql 0:9d0868154c29 52 g_m=0;
CarmineSql 0:9d0868154c29 53 v_m=1;
CarmineSql 0:9d0868154c29 54
CarmineSql 0:9d0868154c29 55 r_p=1;
CarmineSql 0:9d0868154c29 56 g_p=0;
CarmineSql 0:9d0868154c29 57 v_p=0;
CarmineSql 0:9d0868154c29 58 }
CarmineSql 0:9d0868154c29 59
CarmineSql 0:9d0868154c29 60 }
CarmineSql 0:9d0868154c29 61 }