aggiornato con servomotore e display
Dependencies: mbed Servo mbed-rtos beep hcsr04 TextLCD
Diff: main.cpp
- Revision:
- 6:0088253be231
- Parent:
- 5:8eb27286a3e3
- Child:
- 7:8ad50e27d002
diff -r 8eb27286a3e3 -r 0088253be231 main.cpp --- a/main.cpp Thu Mar 28 14:17:45 2019 +0000 +++ b/main.cpp Thu Mar 28 16:03:20 2019 +0000 @@ -21,18 +21,30 @@ bool occupata[3] = {false,false,false}; /******************************/ void button_thread(void const *args){ - + bool sos= false; +//false== libero +//true== occupato while(1){ if (mybutton==0){ + + int i=0; + sos = false; do{ i++; if(occupata[i]== false){ - pc.printf("il parcheggio numero %d e libero\n",i); - - }//else if(occupata[1]==true && occupata[2]==true) pc.printf("tutti i parcheggi sono occupati"); - - }while(occupata[i]== true && i<2); + pc.printf("il parcheggio numero %d e libero\t",i); + sos=true; + // if(occupata[1]==true && occupata[2]==true) //sos = !sos; + }/*else if(sos==false && i==2){ + pc.printf("tutti i parcheggi sono occupati"); + break; + }//else if(occupata[1]==true && occupata[2]==true) pc.printf("tutti i parcheggi sono occupati"); + */ + }while(i<2); + // if(occupata[1]==true && occupata[2]==true) pc.printf("tutti i parcheggi sono occupati"); + if(sos==false) pc.printf("tutti i parcheggi sono occupati"); + } @@ -49,13 +61,13 @@ wait_ms(100); distanza1= sensor1.get_dist_cm() ; distanza2=sensor2.get_dist_cm(); - pc.printf("%.0fcm\r\n%.0fcm\r\n", distanza1,distanza2); - if(sensor1.get_dist_cm() < 5 && occupata[1] == false) //se uno dei sensori capta una distanza minore 10 + //pc.printf("%.0fcm\r\n%.0fcm\r\n", distanza1,distanza2); + if(sensor1.get_dist_cm() < 10.0 && occupata[1] == false) //se uno dei sensori capta una distanza minore 10 occupata[1] = true; else occupata[1] = false; - if(sensor2.get_dist_cm() < 5 && occupata[2] == false) //se uno dei sensori capta una distanza minore a 10 e gianello è false + if(sensor2.get_dist_cm() < 10.0 && occupata[2] == false) //se uno dei sensori capta una distanza minore a 10 e gianello è false occupata[2] = true; else occupata[2] = false; @@ -71,43 +83,5 @@ while(1){ sensori(); } - - // blue.printf("prova"); - // if (mybutton==0) { - /* - do{ - i++; - if(occupata[i]== false){ - pc.printf("il parcheggio numero %d è libero\n",i); - - } - - - }while(occupata[i]== true && i<2); - - */ - /*if(occupata[i]== false && occupata[2]== false) pc.printf("il parcheggio numero %d è libero\n", i + 1 ); - else if(occupata[0]== false && occupata[1]== true){ - pc.printf("il parcheggio numero %d è libero\n", i + 1 ); - break; - } else if(occupata[0]== true && occupata[1]== false){ - pc.printf("il parcheggio numero %d è libero\n", i + 2 ); - break; - }else{ - pc.printf("appiennt\n"); - break; - }*/ - // break; - // } - - - //} - - - - - -//void thread sensori() { - }