Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Servo mbed-rtos beep hcsr04 TextLCD
Diff: main.cpp
- Revision:
- 6:0088253be231
- Parent:
- 5:8eb27286a3e3
- Child:
- 7:8ad50e27d002
--- 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() {
-
}