Ma in Arduino per iniziallizzare un array a 0 occore fare così:
for ( int i=0; i<N_STORIASTERZO; i++ ) storiaSterzo[ i ] = 0;
for ( int i=0; i<N_STORIAGAS; i++ ) storiaGas[ i ] = 0;
Per il resto la soluzione adottata è una semplice media mobile (credo si potrebbe fare meglio anche in Wire) sul segnale d'ingresso che è evidentemente "ballerino", sarebbe da verificare il tempo di risposta all'impulso di tali filtri, considerando che il mezzo è lento non dovrebbe dare problemi.
Se i campionamenti sono multipli di 2 (ed è bene che lo siano) anzichè usare la divisione spesso conviene usare lo spostamento a dx di n bit, mentre la divisone richiede diversi cicli del microprocessore lo shifright ne usa uno solo.