_ Serial.begin(9600); * Esc_Set(); * } void loop() {
* int v;_ Motor_Set(v, “A”); //Muovo il motore A* * Motor_Set(v, “B”); //Muovo il motore B* * Motor_Set(v, “C”); //Muovo il motore C* } [/quote] ho notato che comandando un motore alla volta o tutti e 3 dalla stessa funzione, il programma funziona. Ma se provo a controllare i 3 motori in modo indipendente, questi non funzionano contemporaneamente. Dove sbaglio? Grazie per la vostra collaborazione
se nel loop() inserisco la funzione MotorSet(v, "A"), parte il motore A a velocità v.
se nel loop() inserisco la funzione MotorSet(v, "ABC"), parte il motore A, il motore B e il motore C tutti a velocità v.
se voglio controllare la velocità di ogni singolo motore mettendo nel loop():
Motor_Set(90, "A"); //Muovo il motore A
Motor_Set(70, "B"); //Muovo il motore B
Motor_Set(30, "C"); //Muovo il motore C
per poter fa girare contemporaneamente i motori a velocità diverse, in realtà si accende prima il motore A e si spegne, poi e si accende il B e si spegne, infine il motore C...
Per primo non so se puoi dare alla funziona come parametro un array e non devi dare il puntatore al array.
Per secondo hai dimenticato l’ indice sulla variabile m.
Ti consiglio di non lavorare coi char ma con numeri per identificare il motore e fatti 2 funzioni: una che setta singolarmente un motore dando come parametro sia numero motore che velocitá e una che setta tutti i motore in contemporanea alla stessa velocitá