Buonasera a tutti. Riscontro delle anomalie da parte dei servomotori 3 e 4 collocati rispettivamente sui pin 10 e 11. Quest'ultimi, una volta data energia all'intero sistema, a differenza dei servomotori 1 e 2 iniziano a muoversi senza alcun rigore logico, in particolar modo iniziano a tremare e a non rispondere all'effettivo comando.
Lo sketch ha la funzione di muovere i servomotori 1 e 2 in modo speculare con i pulsanti 1 che li muove di 150° in verso opposto e pulsante 2 che li fa tornare a 0°.
Analogamente dovrebbe avvenire con i servomotori 3 e 4 con i pulsanti 3 e 4
Lascio lo Sketch
#include <Servo.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
int button2 = 5; //button pin, connect to ground to move servo
int press2 = 0;
int button3 = 6; //button pin, connect to ground to move servo
int press3 = 0;
int button4 = 7; //button pin, connect to ground to move servo
int press4 = 0;
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
int pos = 0;
void setup()
{
pinMode(button1, INPUT);
pinMode(button2, INPUT);
servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
servo4.attach(11);
digitalWrite(4, HIGH); //enable pullups to make pin high
digitalWrite(5, HIGH); //enable pullups to make pin high
servo1.write(0);
servo2.write(150);
servo3.write(0);
servo4.write(180);
}
void loop()
{
press1 = digitalRead(button1);
if (press1 == LOW)
{
servo1.write(150);
servo2.write(0);
}
press2 = digitalRead(button2);
if (press2 == LOW)
{
servo1.write(0);
servo2.write(150);
}
press3 = digitalRead(button3);
if (press3 == LOW)
{
servo3.write(180);
servo4.write(0);
}
press4 = digitalRead(button3);
if (press4 == LOW)
{
servo3.write(0);
servo4.write(180);
}
}