Grazie mille a entrambi per i preziosi consigli, pian piano cercherò di capire al meglio tutto quanto in modo in futuro da applicare tutto questo... per intanto ho provato a raddoppiare servo e pulsanti, e siccome nel circuito avevo già previsto resistenze da 10Kohm ho lasciato le istruzioni if(digitalRead(4)){ esegui la if se il pin è High...
ecco il codice.. può andare ragazzi?
#include <Servo.h>
//Dichiariamo le costanti e le variabili.
Servo myservoDx;//servomotore Dx con il nome myservoDx.
Servo myservoSx; //servomotore Sx con il nome myservoSx.
int Posizione_Servo=90;
void setup() {
myservoDx.attach(3);//Impostiamo il pin 3 come pin pwm per il controllo del servo dx.
pinMode(4, INPUT);//Impostiamo il pin 4 collegato al pulsante sinistro come ingresso.
pinMode(5, INPUT);//Impostiamo il pin 5 collegato al pulsante destro come ingresso.
myservoDx.write(Posizione_Servo);//Posiziona il servomotore ad ogni avvio nella posizione 90.
myservoSx.attach(6);//Impostiamo il pin 6 come pin pwm per il controllo del servo dx.
pinMode (7,INPUT);//Impostiamo il pin 7 collegato al pulsante sinistro come ingresso.
pinMode (8,INPUT);//Impostiamo il pin 8 collegato al pulsante destro come ingresso.
myservoSx.write(Posizione_Servo);//Posiziona il servomotore ad ogni avvio nella posizione 90.
}
//Il programma si ripete in un loop infinito.
void loop() {
if(digitalRead(4)){// Se pin pulsante è nello stato HIGH
Posizione_Servo--;
myservoDx.write(Posizione_Servo);
delay(200); // Attendo che il dito si sposti dal pulsante
// Tendendo premuto il pulsante incrementa con intervalli di 200 millisecondi
}else if(digitalRead(5)){// Se pin pulsante è nello stato HIGH
Posizione_Servo++;
myservoDx.write(Posizione_Servo);
delay(200); // Attendo che il dito si sposti dal pulsante
// Tendendo premuto il pulsante incrementa con intervalli di 200 millisecondi
// Aggiungo comandi per secondo servo
}
if(digitalRead(7)){// Se pin pulsante è nello stato HIGH
Posizione_Servo--;
myservoSx.write(Posizione_Servo);
delay(200); // Attendo che il dito si sposti dal pulsante
// Tendendo premuto il pulsante incrementa con intervalli di 200 millisecondi
}else if(digitalRead(8)){// Se pin pulsante è nello stato HIGH
Posizione_Servo++;
myservoSx.write(Posizione_Servo);
delay(200); // Attendo che il dito si sposti dal pulsante
// Tendendo premuto il pulsante incrementa con intervalli di 200 millisecondi
}else if( digitalRead(9)){ // Se premo un pin specifico
myservoDx.write(90); // porto a posizione 90 servo dx
myservoSx.write(90); // porto a posizione 90 servo sx
// se ho due servi copio la riga sopra con un nome diverso per il servo
delay(200); // Attendo che il dito si sposti dal pulsante
}
}