Projet portail autmotique avec moteur encodeur

Bonjour, je suis lycéen je travail sur un projet pour le bac et j'aimerais avoir un peu d'aide...
Je dois ouvrir et fermer un portail avec un bouton avec arduino je doit utiliser des capterus fin de course pour dire au portail de s'arréter, voici l'algo que j'ai fait:
-Si bouton1 est appuyé
Alors moteur1 et moteur2 tourne dans le sens anti-horaire
Tant que capteur1 et capteur2 sont à 0

-Si bouton2 est appuyé
Alors moteur3 et moteur4 tourne dans le sens horaire
Tant que capteur1 et capteur2 sont à 0
et le programme:
int E1 = 2;
int M1 = 3;
int E2 = 4;
int M2 = 5;
const int buttonPin = 6;
const int button2Pin = 7;
const int capteur1Pin = 8;
const int capteur2Pin = 9;
const int capteur3Pin = 10;
const int capteur4Pin = 11;
int buttonState = 0;
int button2State = 0;
int capteur1State = 0;
int capteur2State = 0;
int capteur3State = 0;
int capteur4State = 0;
void setup()
{
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(button2Pin, INPUT);
pinMode(capteur1Pin, INPUT);
pinMode(capteur2Pin, INPUT);
pinMode(capteur3Pin, INPUT);
pinMode(capteur4Pin, INPUT);

}

void loop()
{
buttonState = digitalRead(buttonPin);
button2State = digitalRead(button2Pin);
capteur1State = digitalRead(capteur1Pin);
capteur2State = digitalRead(capteur2Pin);
capteur3State = digitalRead(capteur3Pin);
capteur4State = digitalRead(capteur4Pin);
if (buttonState == HIGH)
{
while (capteur1State == HIGH & capteur3State == HIGH)
{ digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1, 255);
analogWrite(E2, 255);
}
}
if ( button2State == HIGH)
{
while (capteur2State == HIGH & capteur4State == HIGH)
{ digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1, -255);
analogWrite(E2, -255);
}
}
}
voila j'éspére que qq pourrasi m'aider pour le cablage et corriger ce programme... merci d'avance :slight_smile:

Deja , mets ton code dans les balises codes ! Ça sera plus lisible .

bonjour,
et l'encodeur, il est où?

pourquoi parler de 4 moteurs? tu en utilise que 2.

j'espère seulement que les moteurs tournent bien synchro, sinon ca va bloquer.

pour le cablage, propose déjà quelque chose.

et code entre balise code merci