Go Down

Topic: Conflitto Tone.h e ServoTimer2.h con arduino Nano (Read 671 times) previous topic - next topic

stefano_8805

Buongiorno, dell'argomento in oggetto ho trovato una montagna di materiale, ma nulla che risolva il mio problema. In particolare ho la necessita di inizializzare il Servomotore nello setup, successivemente usare la libreria Tone.h e alla fine ri-utilizzare il servo.

Se uso il servo prima di Tone.h tutto funziona, dopo avere usato Tone.h il servo non si muove più. Da quello che ho capito è un conflitto di timer, ma non ho idea su come risolverlo.

Qualcuno di voi ha qualche idea?
allego estratto del codice

Code: [Select]
#include

<Tone.h>
#include <ServoTimer2.h>

Tone speakerpin;
ServoTimer2 myServo;

void setup()
{

myServo.attach(A0);
myServo.write(2000);
delay(1000);
myServo.write(0);
delay(1000); 
Serial.begin(9600);
speakerpin.begin(12); // speaker is on pin 12

}
 
void loop()
{
//do somethings
finalOperations()
}
 
 

void finalOperations()
{

myServo.attach(A1);
myServo.write(2000);
delay(1000);
myServo.write(0);
delay(1000);


}

nid69ita

#1
May 23, 2017, 04:52 pm Last Edit: May 23, 2017, 04:52 pm by nid69ita
La tone usa il timer 2 mentre la servo standard usa il timer 1
Tu usi la servo_timer 2 quindi vanno in conflitto.
Qui info sui timer: https://arduino-info.wikispaces.com/Timers-Arduino

Qui uno pubblica libreria tone senza uso di timer, non l'ho provata ma mi sembra ne parlano bene:
http://forum.arduino.cc/index.php?topic=235774.0
my name is IGOR, not AIGOR

stefano_8805

Avevo trovato questa libreria. ora la provo e vedo. Ho dovuto usare la ServoTimer2 perchè la Servo originale va in conflitto e non compila nemmeno.

nid69ita

#3
May 23, 2017, 05:24 pm Last Edit: May 23, 2017, 05:26 pm by nid69ita
Avevo trovato questa libreria. ora la provo e vedo. Ho dovuto usare la ServoTimer2 perchè la Servo originale va in conflitto e non compila nemmeno.
Tone e Servo standard non hanno problemi. La Tone standard NON necessita di Tone.h  Tu usi libreria Tone.h presa da dove ?
my name is IGOR, not AIGOR

Go Up