Bonjour je commence la prog arduino. Je souhaiterai commander 2 servo l'aide d'un bouton:
je souhaiterai que lorsque j'appuie sur le bouton les 2 servo tournent en sens opposé.
Quelqu'un pourrait me dire comment procéder car je ne sais pas vraiment comment faire.
Je pense que tu devrais essayer déjà avec un seul servo avec un des exemples de l'IDE qui sont fournis et ensuite travailler dessus en modifiant le code et essayant de comprendre chaque ligne,
C'est souvent comme ca que je fais pour mes projets, je pars d'un exemple viable, que je bidouille ensuite.
Chacun sa technique ,-)
Servo gauche ; // creation de la variable gauche de type Servo
Servo droit ;
// connexion des boutons aux pins
int pinBouton_droit = 5;
int pinBouton_gauche = 4;
int pinBouton_bas = 6;
int pinBouton_haut = 7;
// valeurs pour les 4 boutons
int val1 = 0;
int val2 = 0;
// durée de pause du programme
const int t = 10;
// variable qui fixe la position du servomoteur
int pos1 = 0;
int pos2 = 0;
void setup() {
Serial.begin(9600);
// indiquent que les pins sont des entrées
pinMode(pinBouton_droit, INPUT);
pinMode(pinBouton_gauche, INPUT);
pinMode(pinBouton_bas, INPUT);
pinMode(pinBouton_haut, INPUT);
// sortie
gauche.attach(9); // servomoteur connecté au pin 9
droit.attach(10); // servomoteur connecté au pin 10
}
void loop()
{
// servo gauche
// état du bouton gauche
val1 = digitalRead(pinBouton_gauche);
if ((val1 == LOW) && (pos1 > 84))
{
pos1 -= 1;
// met le programme en pause
delay(t);
}
// état du bouton droit
val1 = digitalRead(pinBouton_droit);
if ((val1 == LOW) && (pos1 < 140))
{
pos1 += 1;
delay(t) ;
// // servo droit
val2 = digitalRead(pinBouton_gauche);
if ((val2 == LOW) && (pos2 > 50))
{
pos2 -= 1;
// met le programme en pause
delay(t);
Dans ce code j'ai 2 boutons qui commande les 2 servomoteurs qui tournent à droite en même temps ou à gauche en même temps. Je souhaiterai ajouter un 3 eme bouton pour que l'un tourne à droite et l'autre à gauche en même temps aussi