bonjour je suis nouveau dans le domaine Arduino je commence il y a a penne dix jour donc très peu de connaissance
voici mon problème j ai fait un commande pour trois servomoteur le code c++ est correct lais lorsque je fais la simulation sur tinkercad ou sur la la carte il il y a défaut de fonctionnement le premier bouton déclenche deux servomoteur le second n en fait revenir qu un le troisième ne fait rien et le quatrièmement fait revenir le deuxième servomoteur le 5 et le 6 fonctionne parfaitement
voici le montage sur tinkercad en photo
et voici le code c++
// C++ code
//
#include <Servo.h>;
int direction1= 2;
int direction2= 3;
int hauteur1 = 4;
int hauteur2 = 5;
int longueur1=6;
int longueur2=7;
int position1=0;
int position2=0;
int position3=0;
int vitesse1=10;
int vitesse2=10;
int vitesse3=10;
Servo monservo1;
Servo monservo2;
Servo monservo3;
void setup(){
pinMode(direction1,INPUT_PULLUP);
pinMode(direction2,INPUT_PULLUP);
pinMode(hauteur1,INPUT_PULLUP);
pinMode(hauteur2,INPUT_PULLUP);
pinMode (longueur1,INPUT_PULLUP);
pinMode (longueur2,INPUT_PULLUP);
monservo1.attach (9,500,2500);
monservo2.attach(10,500,2500);
monservo3.attach(11,500,2500);
monservo1.write(0);
monservo2.write(0);
monservo3.write(0);
}
void loop(){
int droit = digitalRead (direction1);
int gauche = digitalRead (direction2);
int haut = digitalRead(hauteur1);
int bas = digitalRead(hauteur2);
int grand = digitalRead(longueur1);
int court = digitalRead(longueur2);
if (droit==LOW){
monservo1.write (position1);
position1=position1+1;
delay(vitesse1);
if (position1>180){
position1=180;
}
}
if (gauche==LOW){
monservo1.write (position1);
position1=position1-1;
delay(vitesse1);
if (position1<0){
position1=0;
}
}
if (droit==LOW){
monservo2.write (position2);
position2=position2+1;
delay(vitesse2);
if (position2>120){
position2=120;
}
}
if (bas==LOW){
monservo2.write (position2);
position2=position2-1;
delay(vitesse2);
if (position2<0){
position2=0;
}
}
if (grand==LOW){
monservo3.write (position3);
position3=position3+1;
delay(vitesse3);
if (position3>180){
position3=180;
}
}
if (grand==LOW){
monservo3.write (position3);
position3=position3-1;
delay(vitesse3);
if (position2<0){
position3=0;
}
}
delay(100);
}
la j avou je ne comprend pas merci de votre aide