ok romoloman... ..ci tengo a sottolineare che è sempre un piacere scambiare opinioni e suggerimenti con te. Attraverso la funzione map ....
map( valore, range_min_in, range_max_in, 0, 180)
...posso smorzare l'effetto traballante.. agendo sui valori range_min_in e range_max_in loro realizzano una sorta di discretizzazione, ovvero se hai un valore che oscilla tra 1973uS 1970uS il sistema map lo discretizza comunque fermo a 1970 per questo ho dei servo piuttosto stabili, diciamo utilizzabili.
Tuttavia come suggerisci tu posso fare a meno della libreria Servo utilizzando la funzione DelayMicrosenconds, la libreria Servo utilizza Timer1, cosa che potrebbe essere utile
Per il momento voglio creare il sistema per convogliare i pin dei 4 canali della ricevente in un unico bus e farlo catturare ad Arduino in uno dei 5 pin predisposti con gli Interrupt come già visto negli esempi precedenti
Citazione:
Originalmente inviato da romoloman Ecco, permettimi pure di dirti che generare il PPM utilizzando myservo.write nel main loop non è comunque accettabile...
Anche la generazione del PPM verso i servi andrebbe fatta in un interrupt con una temporizzazione fissa, altrimenti il periodo complessivo dell'impulso ppm dipende troppo da quanto valgono i canali...
Con 4 canali ci sono 4ms che ballano. |