
Doppio Semaforo pedoni/auto con pulsante + segnalatore acustico per non vedenti (buzzer)
Diff: main.cpp
- Revision:
- 1:abfbb7c52052
- Parent:
- 0:9d0868154c29
--- a/main.cpp Sun Mar 31 15:20:36 2019 +0000 +++ b/main.cpp Sun Mar 31 15:35:17 2019 +0000 @@ -1,57 +1,69 @@ - + /*DOPPIO SEMAFORO CON PULSANTE E BUZZER*/ + //CAIAZZO ROMANO e SQUILLACE 3Ai + #include "mbed.h" -DigitalOut r_m(D12); -DigitalOut g_m(D10); -DigitalOut v_m(D9); +DigitalOut r_m(D12); //LED ROSSO MACCHINE +DigitalOut g_m(D10); //LED GIALLO MACCHINE +DigitalOut v_m(D9); //LED VERDE MACCHINE -DigitalOut r_p(D2); -DigitalOut g_p(D4); -DigitalOut v_p(D6); +DigitalOut r_p(D2); //LED ROSSO PEDONI +DigitalOut g_p(D4); //LED GIALLO PEDONI +DigitalOut v_p(D6); //LED VERDE PEDONI -DigitalIn button(D3); -DigitalOut mybuzzer(D11); - +DigitalIn button(D3); //BOTTONE PEDONI +DigitalOut mybuzzer(D11);//BUZZER -int i,a; +int i,a; -void pwm_buzzer(double frequenza){ + /* BUZZER: */ +void pwm_buzzer(double frequenza){ //SUONO DEL BUZZER: int i; - for(i=0; i<frequenza/10; i++) { + for(i=0; i<frequenza/10; i++) { mybuzzer=1; wait(0.5/frequenza); mybuzzer=0; wait(0.5/frequenza); } } + /* PROGRAMMA PRINCIPALE*/ int main() { - while(1){ - if(button==1){ //BOTTONE PREMUTO + while(1){ //CICLO INFINITO: + if(button==1){ //QUANDO VIENE PREMUTO IL BOTTONE ESEGUI: + v_m=0; //SPEGNI VERDE MACCHINA r_p=0; //SPEGNI ROSSO PEDONE - wait(1.0); + + wait(1.0); //ASPETTA + g_m=1; //ACCENDI GIALLO MACCHINA - wait(1.5); + + wait(1.5); //ASPETTA + r_m=1; //ACCENDI ROSSO MACCHINA g_m=0; //SPEGNI GIALLO MACCHINA g_p=1; //ACCENDI GIALLO PEDONI - wait(1.0); + + wait(1.0); //ASPETTA + v_p=1; //ACCENDI VERDE PEDONE g_p=0; //SPEGNI GIALLO PEDONE - for(a=0; a<100; a++){ + + for(a=0; a<100; a++){ //SUONO BUZZER pwm_buzzer(3000); } - wait(1); //EMETTI SUONI - i=1; + wait(1); //ASPETTA + i=1; //SPEGNIMENTO VERDE PEDONE E ACCENSIONE ROSSO MACCHINE } - if(i==1){ - r_m=0; - g_m=0; - v_m=1; - + if(i==1){ //SE IL BOTTONE NON E' PREMUTO: + //ACCENDI VERDE MACCHINE + r_m=0; + g_m=0; + v_m=1; + //ACCENDI ROSSO PEDONI r_p=1; g_p=0; v_p=0;