Visualizza messaggio singolo
Vecchio 05 maggio 20, 16:59   #113 (permalink)  Top
nicolap
User
 
L'avatar di nicolap
 
Data registr.: 02-10-2019
Residenza: Orvieto
Messaggi: 388
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Chris, quello che fai è appunto una media mobile, in un altro post l'avevo consigliata mi pare a Minestrone per un suo problema di acquisizione dati, viene usata assai spesso per filtrare dati provenienti da convertitori A/D, sensori I2C, SPI che possono essere sporchi, però in genere la si applica in routine che non dipendono dal main loop, in genere o si lavora sotto interrupt od in DMA che blocca il micro per pochissimi microsecondi.



Come ha scritto Smsteves avrai un ritardo di, a mio avviso, 40 x 8 = 320ms più forse altri ms per calcoli e varie, non è sicuramente un sistema reattivo e forse al limite anche per il tuo camion ( a proposito: complimenti veramente molto bello e ben fatto).



Il problema di Arduino è che molte librerie sono bloccanti, cioè quando ne viene richiamata una funzione il micro resta in attesa fino alla fine della stessa, hai provato a vedere cosa succede se spegni il Tx dopo aver mosso lo stick del gas o dello sterzo ? Se la routine resta impallata in attesa degli impulsi il camion diventa incontrollabile, andrebbe perlomeno inserito un timeout che metta tutto in stato di sicurezza.



IMHO



La funzione di timeout già esiste..
pulsein(pin, HIGH, 20000)

Dove l'ultima cifra è appunto il timeout espresso in microsecondi, se non riceve segnali in quel lasso di tempo restituisce 0. 20000 corrisponde al tempo che intercorre tra due impulsi successivi

Inviato dal mio PRA-LX1 utilizzando Tapatalk
nicolap non è collegato   Rispondi citando