Programa de MIP

Dependencies:   bloques ball mbed WS2812 PixelArray tsi_sensor TSI bloque MMA8451Q

Revision:
6:0004357c1faa
Parent:
5:a0c1625fae57
Child:
7:59efb2d370b3
--- a/main.cpp	Fri May 21 18:21:29 2021 +0000
+++ b/main.cpp	Fri May 21 18:44:58 2021 +0000
@@ -38,7 +38,7 @@
 
 
 int main()
-{
+{   int sel_opcio=1;
     pc.baud(115200);
     pc.printf("\r\n\r\nHola!\r\ncompilado el " __DATE__ ", " __TIME__ "\r\n");
     
@@ -80,10 +80,16 @@
             ws.write_offsets(px.getBuf(),z,z,z);
             wait(0.075);
         }*/
-         
-        //tsi_ctr_modeBtn(tsi.readPercentage());
-        
-        accel_ctr();
+        if(sel_opcio==0){
+            tsi_ctr_modeBtn(tsi.readPercentage());
+        }
+        else{
+            if(sel_opcio==1){
+            }
+            else if(sel_opcio==2){
+                accel_ctr();
+            }
+        }   
         
     }
  
@@ -182,70 +188,7 @@
     px.SetI(barra[led_encender]%WS2812_BUF, 0xff);
 }
 
-/*void control_accel(){
-    float acY= accel.getAccY();
-    if(acY>0.3){
-        if(barra[NUM_LEDS_BARRA-1]<15){
-            px.Set(barra[0], 0x0);  //apagamos el primer led
-            //px.SetI(barra[0]%WS2812_BUF, 0x0);
-            
-            for(int i=0; i<NUM_LEDS_BARRA; i++){ //actualizamos valor del array
-                barra[i]=barra[i]+1;
-            }
-            
-            px.Set(barra[NUM_LEDS_BARRA-1], 0x2f0000); //encendemos el siguiente led a la derecha
-            px.SetI(barra[NUM_LEDS_BARRA-1]%WS2812_BUF, 0xff);
-        }
-        
-    }
-    else{
-        if(acY<-0.3){ //if left
-            if(barra[0]>0){
-                px.Set(barra[NUM_LEDS_BARRA-1], 0x0);  //apagamos el último led
-                //px.SetI(barra[NUM_LEDS_BARRA-1]%WS2812_BUF, 0x0);
-                
-                for(int i=0; i<NUM_LEDS_BARRA; i++){ //actualizamos valor del array
-                    barra[i]=barra[i]-1;
-                }
-                
-                px.Set(barra[0], 0x2f0000); //encendemos el siguiente led a la izquierda
-                px.SetI(barra[0]%WS2812_BUF, 0xff);
-            }
-        }
-    }
-}*/
 
-/*    void setPixelColor(int numPixelMatrix, int r, int g, int b){
-        px.SetI(numPixelMatrix,255);
-        px.SetR(numPixelMatrix,r);
-        px.SetG(numPixelMatrix,g);
-        px.SetB(numPixelMatrix,b);
-    }
- 
-    void refreshLightStrips(){
-        ws.write(px.getBuf());  
-    }
-    
- void printBar(uint8_t valR, uint8_t valG, uint8_t valB, int pos) {
-    
-    printf ("\r\nRGB=> %ld, %ld, %ld \r\n", valR, valG, valB);
-    
-    if(pos>=-6 and pos<=6){
-        for (unsigned ii = 240; ii < 256; ii++) {
-            setPixelColor(ii, 0, 0, 0);
-        }
-        setPixelColor(256-10+pos, valR, valG, valB);
-        setPixelColor(256-9+pos, valR, valG, valB);
-        setPixelColor(256-8+pos, valR, valG, valB);
-        setPixelColor(256-7+pos, valR, valG, valB);
-
-    }
-    
-    refreshLightStrips();
-    
-}
-
-*/
 void accel_ctr(){
     float nearest = floor(abs(((acc.getAccY()+1)*100)/2)); //para obtener un valor 0 y 100 
     posAcelerometerTemp=(((nearest)*2.8)-140)/10;
@@ -256,8 +199,7 @@
         posAcelerometerTemp=6;
     }
     if(posAcelerometerTemp>-7 and posAcelerometerTemp<7){
-        pc.printf("\r\n Porcentaje=%d",posAcelerometerTemp);
-        
+        //pc.printf("\r\n Porcentaje=%d",posAcelerometerTemp);
         //pc.printf("\r\n Ha entrat");
         if(posAcelerometerTemp==posAcelerometerOLD1){
             contadorReboteA=contadorReboteA+1;
@@ -265,39 +207,27 @@
             contadorReboteA=0;
         }
         posAcelerometerOLD1=posAcelerometerTemp;
-        if(contadorReboteA>=38){
+        if(contadorReboteA>=10){
             posAcelerometer=posAcelerometerTemp;
-            pc.printf("\r\n NEWWWW =%d",posAcelerometer);
-            pc.printf("\r\n OOOLD =%d",posAcelerometerOLD);
         }
              
     }
     if(posAcelerometer!=posAcelerometerOLD){
         if(posAcelerometer>posAcelerometerOLD){
-            update_barra(0,(NUM_LEDS_BARRA-1), 1 ); //if rigth
-            ws.write(px.getBuf());
-            pc.printf("\r\n HOLAAAA DRETA");
-            /*for(int p=posAcelerometerOLD; p<=posAcelerometer; p++){ //movemos la barrita hasta la posición actual, mostrando la animación
-                if(barra[NUM_LEDS_BARRA-1]<15){
-                    update_barra(0,(NUM_LEDS_BARRA-1), 1 ); //if rigth
-                    ws.write(px.getBuf());
-                }
+            for(int p=posAcelerometerOLD; p<posAcelerometer; p++){ //movemos la barrita hasta la posición actual, mostrando la animación
+                update_barra(0,(NUM_LEDS_BARRA-1), 1 ); //if rigth
+                ws.write(px.getBuf());
                 //pc.printf("\r\n HOLAAAA DRETA=%d",p);
-                //printBar( 255, 0, 0, p);
                 
-            }*/
+            }
         }else if(posAcelerometer<posAcelerometerOLD){
-            update_barra((NUM_LEDS_BARRA-1), 0, -1 ); //if left
-            ws.write(px.getBuf());
-            pc.printf("\r\n HOLAAAA ESQUERRA");
-            /*for(int p=posAcelerometerOLD; p>=posAcelerometer; p--){
-                //printBar( 255, 0, 0, p);
-                if(barra[0]>0){
-                    
-                }
-                //
+            //pc.printf("\r\n HOLAAAA ESQUERRA");
+            for(int p=posAcelerometerOLD; p>posAcelerometer; p--){
+                update_barra((NUM_LEDS_BARRA-1), 0, -1 ); //if left
+                ws.write(px.getBuf());
+                //pc.printf("\r\n HOLAAAA ESQUERRA=%d",p);
                 
-            }*/
+            }
          
         }