
Doppio Semaforo pedoni/auto con pulsante + segnalatore acustico per non vedenti (buzzer)
main.cpp
- Committer:
- CarmineSql
- Date:
- 2019-03-31
- Revision:
- 1:abfbb7c52052
- Parent:
- 0:9d0868154c29
File content as of revision 1:abfbb7c52052:
/*DOPPIO SEMAFORO CON PULSANTE E BUZZER*/ //CAIAZZO ROMANO e SQUILLACE 3Ai #include "mbed.h" 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); //LED ROSSO PEDONI DigitalOut g_p(D4); //LED GIALLO PEDONI DigitalOut v_p(D6); //LED VERDE PEDONI DigitalIn button(D3); //BOTTONE PEDONI DigitalOut mybuzzer(D11);//BUZZER int i,a; /* BUZZER: */ void pwm_buzzer(double frequenza){ //SUONO DEL BUZZER: int 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){ //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); //ASPETTA g_m=1; //ACCENDI GIALLO MACCHINA 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); //ASPETTA v_p=1; //ACCENDI VERDE PEDONE g_p=0; //SPEGNI GIALLO PEDONE for(a=0; a<100; a++){ //SUONO BUZZER pwm_buzzer(3000); } wait(1); //ASPETTA i=1; //SPEGNIMENTO VERDE PEDONE E ACCENSIONE ROSSO MACCHINE } 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; } } }