Programa de MIP
Dependencies: bloques ball mbed WS2812 PixelArray tsi_sensor TSI bloque MMA8451Q
Diff: main.cpp
- 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); - }*/ + } }