Lo que estás teniendo en la cabeza es otra idea, eso es de halterofilia, los levantamientos que yo digo se recogen en este video que puse antes Sentadilla, press banca y peso muerto RAW total - YouTube
Lo que hago es medir la fase concentrica, es decir, al principio tendré una aceleración de 9.8 (+-un margen), en el momento en que hago la fase excentrica (bajo) la aceleración se modifica, cuando acabo la fase excéntrica empieza la concéntrica (subo, hago fuerza) y el movimiento acabaría cuando dejo de hacer fuerza, es decir, la aceleración volvería a ser otra vez 9.8
Lo que se me ha ocurrido es decir que el vector tiene un valor muy grande, con un float por ejemplo 1000000, empiezo a almacenar valores, y cuando se sale del ciclo cambio el valor, pongo en codigo para ver si se podría hacer.
int i=1000000;
float acc[i];
int j=0;
while (mido aceleración){
acc= analogread(A0);
vector[j]=acc;
j++;
}
if (j<=i){
i=j;
}
De esta forma "reservaría" un montón de posiciones y al final si no las uso las cambio por el número de iteraciones que necesito en verdad. Es algo parecido a reservar memoria con malloc en código C, sólo que en plan chapuza, no se si en arduino existe esa función
Creeis que podría funcionar?