Proyecto Wifi ESP8266 Como Servidor WEB

surbyte:
Puedes describir el movimiento de la barra?
con un gráfico, por favor. Es una una superficie plana o en plano inclinado?

Me extraña que digas que vas a tomar un promedio. Puedes integrar velocidades, tomando las lecturas de aceleración y usando micros() para saber el tiempo transcurrido. Cada muestra a*t te dará una vi que podrás integrar, usando Simpson.

Lo del servidor Web es de facil resolución. Ya lo veremos. Ahora concéntrate en la medición de velocidad.

El movimiento de la barra es el del movimiento de un press de banca del gimnasio por ejemplo, es decir, es un empuje vertical completamente (idealmente perpendicular al suelo, sólo que hay alguna pequeña desviación que yo no tengo en cuenta).

A qué te refieres con lo de micros() y Simpson? Ya te digo que sólo llevo 1 mes trabajando con Arduino, me es mas o menos fácil porque he programado bastante en C y es supera parecido, te escribo un poco el código del calculo de la velocidad que he hecho:

medida=analogRead(A0);
acc= ((medida/1024.0) *vi -ceroG)/sensibilidad;
float acc2= acc*9.8066; 
acc2= abs(acc2);
int iter=0;
suma=0;
Serial.println("Paso1");
if (acc2> (9.8+margen) || acc2<(9.8-margen)){
 inicio=millis();  //Consulta los milisegundos desde que se inició el sketch
     
 while(acc2> (9.8+margen) || acc2<(9.8-margen) ){
   delay(1);
   medida=analogRead(A0);
   acc= ((medida/1024.0) *vi -ceroG)/sensibilidad;
   acc2= acc*9.8066; 
   acc2=abs(acc2);
   suma=acc2+suma;
   iter=iter+1;
   Serial.println(acc2);
   delay(1);
}
  
  fin=millis();  //Consulta los milisegundos desde que se inició el sketch
  transcurrido=(fin-inicio);
  Serial.println("tiempoA:");
  Serial.println(transcurrido);
  transcurrido=transcurrido*0.001;//Calcula el tiempo en segundos desde la última lectura
  Serial.println("tiempoB:");
  Serial.println(transcurrido);
  float vel= ((abs(suma-9.8066))/iter)*transcurrido; 
  float pos= vel*transcurrido;   
  Serial.println("Aceleración:");
  Serial.println(suma/iter);
  Serial.println("Velocidad:");
  Serial.println(vel);
  Serial.println("Posición:");
  Serial.println(pos);

  delay(2000);