Citazione:
Originalmente inviato da nicolap Ciao, mi sono fatto un'idea di quali potrebbe essere il problema... Riassumo: il valore dei canali letto dalla rx è un valore espresso in microsecondi mentre il comando "myservo.write()" richiede di passare un valore espresso in gradi di rotazione. Prova a lavorare solo con valori in microsecondi e utilizza il comando "myservo.wtitemicroseconds(newPos).
Inviato dal mio PRA-LX1 utilizzando Tapatalk |
aspetta mi manca un passaggio: cosa significa "lavorare solo con valori in microsecondi"?
devo sostituire quali valori? Postdx Postsx che adesso sono 5 -175 ? con ( a caso 1100-1900) ? ce ne sono altri che mi sfuggono? max_gain?
il nodo che non riesco a sciogliere è:
se io uso un define significa che Postsx e Postdx sono definiti, non si toccano. non sono variabili in gioco ma valori definiti.
allora perchè cambiando i valori di Slowlimit e Max_gain ( altri 2 valori definiti ) vedo accorciarsi o allungarsi la corsa del servo appena carico il programma con la radio in neutro?
cambiando Slowlimit mi aspetterei di avere solo maggiore corsa del gas a disposizione per usare lo sterzo posteriore con tutta la corsa definita da Postsx Postdx
cambiando Max_gain mi aspetterei di veder cambiare l'ampiezza della corsa disponibile del servo quando arriva a maxspeed ovvero tutto gas, serve solo a scegliere se arrivati a tutto gas avere chiusa tutta la corsa o lasciarne una parte utilizzabile.
non mi aspetto ed è spiacevole vedere scombinare il settaggio dei fine corsa che sono stati definiti con 2 valori precisi.
ho scritto male oppure manca qualcosa, magari anche solo un paio di { } ma non c'arrivo.
mi ingrippo sulla questione che i dati in define non dovrebbero venire cambiati dalle risultanti del void loop.
ti ringrazio, adesso provo a trasformare tutto in microseconds. vediamo se me la cavo.