Niente da fare ragazzi, posto il codice comunque ma c'è troppo rumore e qualcosa non mi convince:
if (micros()>=tempoOp1) {
tempoOp1=micros()+1000;
stopm1++;
if (hl1 == 0)
{
digitalWrite(7, HIGH);
hl1=1;
} else {
digitalWrite(7, LOW);
hl1=0;
}
}
con il ciclo for e delay è piu semplice controllare il numero di step e il delay per la velocità.
Se collego un arduino per ogni motore dove al suo interno cè una funzione che accetta come parametri il numero di step e il delay per la velocità?
E con un arduino globale manda i parametri ai arduini in modo che funzionino indipendentemente e quindi multithread... un sistema a 3 core??
Per quanto riguarda il test della linea retta avevate ragione, non riesce a farla, crea un 'arco' proprio perche a step diversi crea angolazioni diverse.... OMG