Ciao a tutti,
uso un L298N per far muovere 2 motori DC di una macchinina che accendo con un telecomando
(e gia' li sono diventato scemo per il fatto che la libreria IR che ho usato disabilita il PWM sul pin 3).
Quando a vado montare il mio servo e ne faccio l'attach(), il motore di sinistra smette di funzionare.
Anche senza motore collegato; e' proprio la riga:
myServo.attach(pinServo);
che fa smettere di funzionare il tutto.
La scheda motore e il servo sono alimentati da un 9V (per il servo ho usato un partitore 1k-2k) ma non credo sia un problema di alimentazione perche', come ho detto, il problema si presenta anche senza avere connesso fisicamente il motore.
Ok, trovato! Dalla documentazione:
"On boards other than the Mega, use of the library disables analogWrite() (PWM) functionality on pins 9 and 10, whether or not there is a Servo on those pins. "
La documentazione di ogni singola libreria fonisce, di solito, le varie limitazioni ...
... la IRremote usa un timer e quindi il pin PWM gestiti da quel timer non saranno utilizzabili, la Servo usa un timer e quindi i pin PWM relativi a quel timer non saranno utilizzabili, e così via.
Come sempre, prima di usare qualsiasi cosa ... studiare attentamente la documentazione e gli esempi forniti con la libreria e, se non basta, un'occhiatina ai sorgenti spesso rivela cosa la suddetta utilizza.
gpb01:
Come sempre, prima di usare qualsiasi cosa ... studiare attentamente la documentazione e gli esempi forniti con la libreria e, se non basta, un'occhiatina ai sorgenti spesso rivela cosa la suddetta utilizza.
Ti ringrazio, Gugliemo: lezione imparata!
Uno vede 10 tutorial e pensa di avere imparato abbastanza sull' argomento ma il vero sapere e' la documentazione.
Comunque, per i Servo, c'è una libreria che NON usa un timer dedicato ed è utilizzabile su tutti i pin di Arduino ... è vecchiotta, ma prova a vedere se ti può andare bene ... QUI