aggiornato con servomotore e display

Dependencies:   mbed Servo mbed-rtos beep hcsr04 TextLCD

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() {
-
 }