Programa de MIP

Dependencies:   bloques ball mbed WS2812 PixelArray tsi_sensor TSI bloque MMA8451Q

Committer:
anna_dot
Date:
Sat May 22 16:46:49 2021 +0000
Revision:
8:9e69e576d1be
Parent:
7:59efb2d370b3
Child:
9:777b0535d3bb
Print ball beta;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
anna_dot 0:eb102efc70ff 1 #include "mbed.h"
anna_dot 0:eb102efc70ff 2 #include "WS2812.h"
anna_dot 0:eb102efc70ff 3 #include "PixelArray.h"
anna_dot 0:eb102efc70ff 4 #include "TSISensor.h"
anna_dot 0:eb102efc70ff 5 #include "MMA8451Q.h"
anna_dot 0:eb102efc70ff 6
anna_dot 0:eb102efc70ff 7
anna_dot 0:eb102efc70ff 8 #define WS2812_BUF 256
anna_dot 0:eb102efc70ff 9 #define NUM_COLORS 6
anna_dot 0:eb102efc70ff 10 #define NUM_LEDS_PER_COLOR 10
anna_dot 0:eb102efc70ff 11 #define NUM_LEDS_BARRA 4
anna_dot 0:eb102efc70ff 12 #define ACCEL_ADRESS_I2C (0X1D<<1)
anna_dot 8:9e69e576d1be 13 #define DIMENSION_TABLERO 16
anna_dot 0:eb102efc70ff 14
anna_dot 0:eb102efc70ff 15 PixelArray px(WS2812_BUF);
anna_dot 0:eb102efc70ff 16
anna_dot 0:eb102efc70ff 17 // See the program page for information on the timing numbers
anna_dot 0:eb102efc70ff 18 // The given numbers are for the K64F
anna_dot 0:eb102efc70ff 19 WS2812 ws(D9, WS2812_BUF, 0, 5, 5, 0);
anna_dot 4:3f515bbfd20c 20 MMA8451Q acc(PTE25, PTE24, ACCEL_ADRESS_I2C );
anna_dot 4:3f515bbfd20c 21
anna_dot 4:3f515bbfd20c 22 ///////
anna_dot 4:3f515bbfd20c 23 Serial pc(USBTX, USBRX);
anna_dot 4:3f515bbfd20c 24 //////
anna_dot 0:eb102efc70ff 25
anna_dot 0:eb102efc70ff 26 TSISensor tsi;
anna_dot 0:eb102efc70ff 27 int barra[NUM_LEDS_BARRA]={6,7,8,9};
anna_dot 0:eb102efc70ff 28 float tsi_oldRead=0;
anna_dot 0:eb102efc70ff 29 int counter_tsi=0;
anna_dot 4:3f515bbfd20c 30 int posAcelerometerTemp, posAcelerometer=0, posAcelerometerOLD=0, posAcelerometerOLD1=0, contadorReboteA=0;
aarmdlr 7:59efb2d370b3 31 int posSliderTouchTemp, posSliderTouch=0, posSliderTouchOLD=0, posSliderTouchOLD1=0, contadorRebote=0;
anna_dot 8:9e69e576d1be 32 int matrix_tablero[DIMENSION_TABLERO][DIMENSION_TABLERO]={};
anna_dot 8:9e69e576d1be 33 int pelota[2]={8,8}; //valor x en posicion 0 y valor y en posicion 1
anna_dot 0:eb102efc70ff 34
anna_dot 0:eb102efc70ff 35 //int pixel=8;
anna_dot 0:eb102efc70ff 36
anna_dot 0:eb102efc70ff 37 //void control_tsi(float tsi_newRead);
anna_dot 4:3f515bbfd20c 38 //void control_accel();
anna_dot 0:eb102efc70ff 39 void update_barra(int led_apagar, int led_encender, int act_barra );
anna_dot 0:eb102efc70ff 40 void tsi_ctr_modeBtn(float tsi_newRead);
aarmdlr 7:59efb2d370b3 41 void tsi_ctr_modeSlider(float tsi_newRead);
anna_dot 4:3f515bbfd20c 42 void accel_ctr();
anna_dot 0:eb102efc70ff 43
anna_dot 8:9e69e576d1be 44 void setPixelColor(int numPixelMatrix, int r, int g, int b){
anna_dot 8:9e69e576d1be 45 px.SetI(numPixelMatrix,255);
anna_dot 8:9e69e576d1be 46 px.SetR(numPixelMatrix,r);
anna_dot 8:9e69e576d1be 47 px.SetG(numPixelMatrix,g);
anna_dot 8:9e69e576d1be 48 px.SetB(numPixelMatrix,b);
anna_dot 8:9e69e576d1be 49 }
anna_dot 0:eb102efc70ff 50
anna_dot 0:eb102efc70ff 51 int main()
anna_dot 8:9e69e576d1be 52 { int sel_opcio=7;
anna_dot 4:3f515bbfd20c 53 pc.baud(115200);
anna_dot 4:3f515bbfd20c 54 pc.printf("\r\n\r\nHola!\r\ncompilado el " __DATE__ ", " __TIME__ "\r\n");
anna_dot 4:3f515bbfd20c 55
anna_dot 0:eb102efc70ff 56 ws.useII(WS2812::PER_PIXEL); // use per-pixel intensity scaling
anna_dot 0:eb102efc70ff 57
anna_dot 0:eb102efc70ff 58 // set up the colours we want to draw with
anna_dot 4:3f515bbfd20c 59 //int colorbuf[NUM_COLORS] = {0x2f0000,0x2f2f00,0x002f00,0x002f2f,0x00002f,0x2f002f};
anna_dot 0:eb102efc70ff 60
anna_dot 0:eb102efc70ff 61 // for each of the colours (j) write out 10 of them
anna_dot 0:eb102efc70ff 62 // the pixels are written at the colour*10, plus the colour position
anna_dot 0:eb102efc70ff 63 // all modulus 60 so it wraps around
anna_dot 0:eb102efc70ff 64 /*for (int i = 0; i < WS2812_BUF; i++) {
anna_dot 0:eb102efc70ff 65 px.Set(i, colorbuf[(i / NUM_LEDS_PER_COLOR) % NUM_COLORS]);
anna_dot 0:eb102efc70ff 66 }*/
anna_dot 0:eb102efc70ff 67 for(int i=0; i<NUM_LEDS_BARRA; i++){
anna_dot 0:eb102efc70ff 68 px.Set(barra[i], 0x2f0000);
anna_dot 0:eb102efc70ff 69 }
anna_dot 8:9e69e576d1be 70 //px.SetR(64, 0);
anna_dot 8:9e69e576d1be 71 //px.SetG(64, 255);
anna_dot 8:9e69e576d1be 72 //px.SetB(64, 0);
anna_dot 0:eb102efc70ff 73 for(int i=0; i<NUM_LEDS_BARRA; i++){
anna_dot 8:9e69e576d1be 74 px.SetI(barra[i]%WS2812_BUF, 255); //0xff
anna_dot 8:9e69e576d1be 75 }
anna_dot 8:9e69e576d1be 76 //px.SetI(64, 255);
anna_dot 8:9e69e576d1be 77
anna_dot 8:9e69e576d1be 78 for(int i=0; i<NUM_LEDS_BARRA; i++){
anna_dot 8:9e69e576d1be 79 matrix_tablero[0][barra[i]]=1;
anna_dot 0:eb102efc70ff 80 }
anna_dot 0:eb102efc70ff 81
anna_dot 8:9e69e576d1be 82 setPixelColor(64,0,255,0);
anna_dot 0:eb102efc70ff 83 // now all the colours are computed, add a fade effect using intensity scaling
anna_dot 0:eb102efc70ff 84 // compute and write the II value for each pixel
anna_dot 0:eb102efc70ff 85 /*for (int j=0; j<WS2812_BUF; j++) {
anna_dot 0:eb102efc70ff 86 // px.SetI(pixel position, II value)
anna_dot 0:eb102efc70ff 87 px.SetI(j%WS2812_BUF, 0xf+(0xf*(j%NUM_LEDS_PER_COLOR)));
anna_dot 0:eb102efc70ff 88 }
anna_dot 0:eb102efc70ff 89
anna_dot 0:eb102efc70ff 90 */
anna_dot 0:eb102efc70ff 91 // Now the buffer is written, rotate it
anna_dot 0:eb102efc70ff 92 // by writing it out with an increasing offset
anna_dot 0:eb102efc70ff 93 ws.write(px.getBuf());
anna_dot 0:eb102efc70ff 94 while (1) {
anna_dot 0:eb102efc70ff 95 /*for (int z=WS2812_BUF; z >= 0 ; z--) {
anna_dot 0:eb102efc70ff 96 ws.write_offsets(px.getBuf(),z,z,z);
anna_dot 0:eb102efc70ff 97 wait(0.075);
anna_dot 0:eb102efc70ff 98 }*/
anna_dot 6:0004357c1faa 99 if(sel_opcio==0){
anna_dot 6:0004357c1faa 100 tsi_ctr_modeBtn(tsi.readPercentage());
anna_dot 6:0004357c1faa 101 }
anna_dot 6:0004357c1faa 102 else{
anna_dot 6:0004357c1faa 103 if(sel_opcio==1){
aarmdlr 7:59efb2d370b3 104 tsi_ctr_modeSlider(tsi.readPercentage());
anna_dot 6:0004357c1faa 105 }
anna_dot 6:0004357c1faa 106 else if(sel_opcio==2){
anna_dot 6:0004357c1faa 107 accel_ctr();
anna_dot 6:0004357c1faa 108 }
anna_dot 6:0004357c1faa 109 }
anna_dot 0:eb102efc70ff 110
anna_dot 0:eb102efc70ff 111 }
anna_dot 0:eb102efc70ff 112
anna_dot 0:eb102efc70ff 113 }
anna_dot 0:eb102efc70ff 114
anna_dot 0:eb102efc70ff 115 void tsi_ctr_modeBtn(float tsi_newRead){
anna_dot 0:eb102efc70ff 116
anna_dot 0:eb102efc70ff 117 if(tsi_newRead!=0.0){
anna_dot 0:eb102efc70ff 118 if(tsi_newRead>0.6 and tsi_oldRead>0.6){
anna_dot 0:eb102efc70ff 119 counter_tsi++;
anna_dot 0:eb102efc70ff 120 }
anna_dot 0:eb102efc70ff 121 else {
anna_dot 0:eb102efc70ff 122 if(tsi_newRead<0.4 and tsi_oldRead<0.4){
anna_dot 0:eb102efc70ff 123 counter_tsi++;
anna_dot 0:eb102efc70ff 124 }
anna_dot 0:eb102efc70ff 125 else{
anna_dot 0:eb102efc70ff 126 counter_tsi=0;
anna_dot 0:eb102efc70ff 127 }
anna_dot 0:eb102efc70ff 128 }
anna_dot 0:eb102efc70ff 129 tsi_oldRead=tsi_newRead;
anna_dot 0:eb102efc70ff 130
anna_dot 0:eb102efc70ff 131
anna_dot 0:eb102efc70ff 132 if(counter_tsi == 250){
anna_dot 0:eb102efc70ff 133 if( (tsi_newRead < 0.4) && tsi_newRead!=0 ){ //if left
anna_dot 0:eb102efc70ff 134 if(barra[0]>0){
anna_dot 0:eb102efc70ff 135 update_barra((NUM_LEDS_BARRA-1),0, -1 );
anna_dot 0:eb102efc70ff 136 }
anna_dot 0:eb102efc70ff 137 }
anna_dot 0:eb102efc70ff 138 else{
anna_dot 0:eb102efc70ff 139 if(tsi_newRead > 0.6){ //if right
anna_dot 0:eb102efc70ff 140 if(barra[NUM_LEDS_BARRA-1]<15){
anna_dot 0:eb102efc70ff 141 update_barra(0,(NUM_LEDS_BARRA-1), 1 );
anna_dot 0:eb102efc70ff 142 }
anna_dot 0:eb102efc70ff 143 }
anna_dot 0:eb102efc70ff 144 }
anna_dot 0:eb102efc70ff 145 //control_tsi(tsi_newRead);
anna_dot 0:eb102efc70ff 146 ws.write(px.getBuf());
anna_dot 0:eb102efc70ff 147 counter_tsi=0;
anna_dot 0:eb102efc70ff 148 }
anna_dot 0:eb102efc70ff 149 }
anna_dot 0:eb102efc70ff 150 else{
anna_dot 0:eb102efc70ff 151 counter_tsi=0;
anna_dot 0:eb102efc70ff 152 }
anna_dot 0:eb102efc70ff 153
anna_dot 0:eb102efc70ff 154
anna_dot 0:eb102efc70ff 155 //tsi_oldRead=tsi_newRead;
anna_dot 0:eb102efc70ff 156 }
anna_dot 0:eb102efc70ff 157
aarmdlr 7:59efb2d370b3 158 void tsi_ctr_modeSlider(float tsi_newRead){
aarmdlr 7:59efb2d370b3 159 //Multiplicamos lo que lee el tsi.readPercentage() por 100 para tener un porcentaje del 0 al 100% en lugar del 0 al 1 que devuelve dicha función tsi.readPercentage().
aarmdlr 7:59efb2d370b3 160 //Lo multiplicamos por 1.4 para obtener un ranto de entre 0 y 140.
aarmdlr 7:59efb2d370b3 161 //Le restamos 70 para que el 50% leido por el tsi represente el 0, de esta forma ahora el rango es de -70 a +70.
aarmdlr 7:59efb2d370b3 162 //Dividimos entre 10 para obtener unos valores entre -7 y +7 que son las posiciones que puede tomar la barra inferior si se trata de una barra de 4 pixeles como es el caso.
aarmdlr 7:59efb2d370b3 163 posSliderTouchTemp=(((tsi_newRead*100)*1.4)-70)/10;
aarmdlr 7:59efb2d370b3 164
aarmdlr 7:59efb2d370b3 165 //Controlamos que no se salga de las posiciones posibles de la barra inferior.
aarmdlr 7:59efb2d370b3 166 if(posSliderTouchTemp>-7 and posSliderTouchTemp<7){
aarmdlr 7:59efb2d370b3 167 //pc.printf("\r\n Porcentaje=%d",posSliderTouchTemp);
aarmdlr 7:59efb2d370b3 168
aarmdlr 7:59efb2d370b3 169 //Se controla los rebotes del TSI ya que sino da saltos, por eso se incrementa un contador cuando detecta una misma posicion mas de una vez seguida.
aarmdlr 7:59efb2d370b3 170 if(posSliderTouchTemp==posSliderTouchOLD1){
aarmdlr 7:59efb2d370b3 171 contadorRebote=contadorRebote+1;
aarmdlr 7:59efb2d370b3 172 }else{
aarmdlr 7:59efb2d370b3 173 contadorRebote=0;
aarmdlr 7:59efb2d370b3 174 }
aarmdlr 7:59efb2d370b3 175 posSliderTouchOLD1=posSliderTouchTemp;
aarmdlr 7:59efb2d370b3 176
aarmdlr 7:59efb2d370b3 177
anna_dot 8:9e69e576d1be 178 if(contadorRebote>=70){
aarmdlr 7:59efb2d370b3 179 posSliderTouch=posSliderTouchTemp;
aarmdlr 7:59efb2d370b3 180 }
aarmdlr 7:59efb2d370b3 181
aarmdlr 7:59efb2d370b3 182
aarmdlr 7:59efb2d370b3 183 }
aarmdlr 7:59efb2d370b3 184
aarmdlr 7:59efb2d370b3 185 if(posSliderTouch!=posSliderTouchOLD){
aarmdlr 7:59efb2d370b3 186 //Se suaviza el movimiento de la barra inferior para que de un efecto de scroll mas bonito y no tan brusco,
aarmdlr 7:59efb2d370b3 187 //por eso se realiza un for para que pase por todas las posiciones hasta la posicoon de la barra objetivo.
aarmdlr 7:59efb2d370b3 188 if(posSliderTouch>posSliderTouchOLD){
aarmdlr 7:59efb2d370b3 189 for(int p=posSliderTouchOLD; p<posSliderTouch; p++){
aarmdlr 7:59efb2d370b3 190 update_barra(0,(NUM_LEDS_BARRA-1), 1 ); //if rigth
aarmdlr 7:59efb2d370b3 191 ws.write(px.getBuf());
aarmdlr 7:59efb2d370b3 192 //printBar( 249, 0, 0, p);
aarmdlr 7:59efb2d370b3 193 }
aarmdlr 7:59efb2d370b3 194 }else if(posSliderTouch<posSliderTouchOLD){
aarmdlr 7:59efb2d370b3 195 for(int p=posSliderTouchOLD; p>posSliderTouch; p--){
aarmdlr 7:59efb2d370b3 196 update_barra((NUM_LEDS_BARRA-1), 0, -1 ); //if left
aarmdlr 7:59efb2d370b3 197 ws.write(px.getBuf());
aarmdlr 7:59efb2d370b3 198 //printBar( 249, 0, 0, p);
aarmdlr 7:59efb2d370b3 199 }
aarmdlr 7:59efb2d370b3 200 }
aarmdlr 7:59efb2d370b3 201 posSliderTouchOLD=posSliderTouch;
aarmdlr 7:59efb2d370b3 202 //pc.printf("\r\n Touch");
aarmdlr 7:59efb2d370b3 203
aarmdlr 7:59efb2d370b3 204 }
aarmdlr 7:59efb2d370b3 205
aarmdlr 7:59efb2d370b3 206 }
aarmdlr 7:59efb2d370b3 207
anna_dot 0:eb102efc70ff 208 /*void control_tsi(float tsi_newRead){
anna_dot 0:eb102efc70ff 209 float percent= tsi_newRead; //tsi.readPercentage();
anna_dot 0:eb102efc70ff 210 if( (percent < 0.4) && percent!=0 ){ //if left
anna_dot 0:eb102efc70ff 211 if(barra[0]>0){
anna_dot 0:eb102efc70ff 212 px.Set(barra[NUM_LEDS_BARRA-1], 0x0); //apagamos el último led
anna_dot 0:eb102efc70ff 213 //px.SetI(barra[NUM_LEDS_BARRA-1]%WS2812_BUF, 0x0);
anna_dot 0:eb102efc70ff 214
anna_dot 0:eb102efc70ff 215 for(int i=0; i<NUM_LEDS_BARRA; i++){ //actualizamos valor del array
anna_dot 0:eb102efc70ff 216 barra[i]=barra[i]-1;
anna_dot 0:eb102efc70ff 217 }
anna_dot 0:eb102efc70ff 218
anna_dot 0:eb102efc70ff 219 px.Set(barra[0], 0x2f0000); //encendemos el siguiente led a la izquierda
anna_dot 0:eb102efc70ff 220 px.SetI(barra[0]%WS2812_BUF, 0xff);
anna_dot 0:eb102efc70ff 221
anna_dot 0:eb102efc70ff 222 //update_barra((NUM_LEDS_BARRA-1),0, -1 );
anna_dot 0:eb102efc70ff 223 }
anna_dot 0:eb102efc70ff 224 }
anna_dot 0:eb102efc70ff 225 else{
anna_dot 0:eb102efc70ff 226 if(percent > 0.6){ //if right
anna_dot 0:eb102efc70ff 227 if(barra[NUM_LEDS_BARRA-1]<15){
anna_dot 0:eb102efc70ff 228 px.Set(barra[0], 0x0); //apagamos el primer led
anna_dot 0:eb102efc70ff 229 //px.SetI(barra[0]%WS2812_BUF, 0x0);
anna_dot 0:eb102efc70ff 230
anna_dot 0:eb102efc70ff 231 for(int i=0; i<NUM_LEDS_BARRA; i++){ //actualizamos valor del array
anna_dot 0:eb102efc70ff 232 barra[i]=barra[i]+1;
anna_dot 0:eb102efc70ff 233 }
anna_dot 0:eb102efc70ff 234
anna_dot 0:eb102efc70ff 235 px.Set(barra[NUM_LEDS_BARRA-1], 0x2f0000); //encendemos el siguiente led a la derecha
anna_dot 0:eb102efc70ff 236 px.SetI(barra[NUM_LEDS_BARRA-1]%WS2812_BUF, 0xff);
anna_dot 0:eb102efc70ff 237
anna_dot 0:eb102efc70ff 238 //update_barra(0,(NUM_LEDS_BARRA-1), 1 );
anna_dot 0:eb102efc70ff 239 }
anna_dot 0:eb102efc70ff 240
anna_dot 0:eb102efc70ff 241 }
anna_dot 0:eb102efc70ff 242 }
anna_dot 0:eb102efc70ff 243
anna_dot 0:eb102efc70ff 244 //ws.write(px.getBuf());
anna_dot 0:eb102efc70ff 245 }*/
anna_dot 0:eb102efc70ff 246 void update_barra(int led_apagar, int led_encender, int act_barra ){
anna_dot 4:3f515bbfd20c 247 px.Set(barra[led_apagar], 0x0); //apagamos el led
anna_dot 0:eb102efc70ff 248
anna_dot 0:eb102efc70ff 249 for(int i=0; i<NUM_LEDS_BARRA; i++){ //actualizamos valor del array
anna_dot 0:eb102efc70ff 250 barra[i]=barra[i]+act_barra;
anna_dot 4:3f515bbfd20c 251 pc.printf("\r\n UPDATEEE ------- =%d", barra[i]);
anna_dot 0:eb102efc70ff 252 }
anna_dot 0:eb102efc70ff 253
anna_dot 4:3f515bbfd20c 254 px.Set(barra[led_encender], 0x2f0000); //encendemos el siguiente led
anna_dot 8:9e69e576d1be 255 px.SetI(barra[led_encender]%WS2812_BUF, 255); //0xff
anna_dot 0:eb102efc70ff 256 }
anna_dot 0:eb102efc70ff 257
anna_dot 4:3f515bbfd20c 258
anna_dot 4:3f515bbfd20c 259 void accel_ctr(){
anna_dot 4:3f515bbfd20c 260 float nearest = floor(abs(((acc.getAccY()+1)*100)/2)); //para obtener un valor 0 y 100
anna_dot 4:3f515bbfd20c 261 posAcelerometerTemp=(((nearest)*2.8)-140)/10;
anna_dot 4:3f515bbfd20c 262 //pc.printf("\r\n Porcentaje=%d",posAcelerometerTemp);
anna_dot 4:3f515bbfd20c 263 if(posAcelerometerTemp<=-7){
anna_dot 4:3f515bbfd20c 264 posAcelerometerTemp=-6;
anna_dot 4:3f515bbfd20c 265 }else if(posAcelerometerTemp>=7){
anna_dot 4:3f515bbfd20c 266 posAcelerometerTemp=6;
anna_dot 4:3f515bbfd20c 267 }
anna_dot 4:3f515bbfd20c 268 if(posAcelerometerTemp>-7 and posAcelerometerTemp<7){
anna_dot 6:0004357c1faa 269 //pc.printf("\r\n Porcentaje=%d",posAcelerometerTemp);
anna_dot 4:3f515bbfd20c 270 //pc.printf("\r\n Ha entrat");
anna_dot 4:3f515bbfd20c 271 if(posAcelerometerTemp==posAcelerometerOLD1){
anna_dot 4:3f515bbfd20c 272 contadorReboteA=contadorReboteA+1;
anna_dot 4:3f515bbfd20c 273 }else{
anna_dot 4:3f515bbfd20c 274 contadorReboteA=0;
anna_dot 4:3f515bbfd20c 275 }
anna_dot 4:3f515bbfd20c 276 posAcelerometerOLD1=posAcelerometerTemp;
anna_dot 6:0004357c1faa 277 if(contadorReboteA>=10){
anna_dot 4:3f515bbfd20c 278 posAcelerometer=posAcelerometerTemp;
anna_dot 4:3f515bbfd20c 279 }
anna_dot 4:3f515bbfd20c 280
anna_dot 4:3f515bbfd20c 281 }
anna_dot 4:3f515bbfd20c 282 if(posAcelerometer!=posAcelerometerOLD){
anna_dot 4:3f515bbfd20c 283 if(posAcelerometer>posAcelerometerOLD){
anna_dot 6:0004357c1faa 284 for(int p=posAcelerometerOLD; p<posAcelerometer; p++){ //movemos la barrita hasta la posición actual, mostrando la animación
anna_dot 6:0004357c1faa 285 update_barra(0,(NUM_LEDS_BARRA-1), 1 ); //if rigth
anna_dot 6:0004357c1faa 286 ws.write(px.getBuf());
anna_dot 4:3f515bbfd20c 287 //pc.printf("\r\n HOLAAAA DRETA=%d",p);
anna_dot 4:3f515bbfd20c 288
anna_dot 6:0004357c1faa 289 }
anna_dot 4:3f515bbfd20c 290 }else if(posAcelerometer<posAcelerometerOLD){
anna_dot 6:0004357c1faa 291 //pc.printf("\r\n HOLAAAA ESQUERRA");
anna_dot 6:0004357c1faa 292 for(int p=posAcelerometerOLD; p>posAcelerometer; p--){
anna_dot 6:0004357c1faa 293 update_barra((NUM_LEDS_BARRA-1), 0, -1 ); //if left
anna_dot 6:0004357c1faa 294 ws.write(px.getBuf());
anna_dot 6:0004357c1faa 295 //pc.printf("\r\n HOLAAAA ESQUERRA=%d",p);
anna_dot 4:3f515bbfd20c 296
anna_dot 6:0004357c1faa 297 }
anna_dot 4:3f515bbfd20c 298
anna_dot 4:3f515bbfd20c 299 }
anna_dot 4:3f515bbfd20c 300
anna_dot 4:3f515bbfd20c 301 posAcelerometerOLD=posAcelerometer;
anna_dot 4:3f515bbfd20c 302
anna_dot 4:3f515bbfd20c 303 //pc.printf("\r\n Acelerometer");
anna_dot 4:3f515bbfd20c 304 }
anna_dot 0:eb102efc70ff 305 }
anna_dot 0:eb102efc70ff 306
anna_dot 0:eb102efc70ff 307