int captG=02;// capteur gauche sur pin 2
int captD=03;// capteur  droit sur 3
int M1=12;// sens de rotation moteur droit
int M2=13;// sens de rotation moteur gauche
int E1=10;// vitesse du moteur droit sur 10 (pas le choix car shield L298P)
int E2=11;// vitesse du moteur gauche sur 11
int valcaptG; // valeur reçu par le capteur Gauche 
int valcaptD; // valeur reçu par le capteur Droit 
int value = 120; // 0<value<255 NB: au dessous de 50 il n'y pas de réactions car la veleur est faible 
 
void setup()
{

pinMode(M1,OUTPUT);//sortie sur moteur 1
pinMode(M2,OUTPUT);// sortie sur  moteur 2
pinMode(captD, INPUT); // entrée capteur Droit 
pinMode(captG, INPUT); // entrée capteur Gauche
 
}

void loop() {

  valcaptD = digitalRead(captD);
  valcaptG = digitalRead(captG);


  if (valcaptG == 0 && valcaptD == 0) {
  digitalWrite(M1, HIGH);//1 allumé
  digitalWrite(M2, HIGH);//2 allumé
  analogWrite(E1,value);//on gére la vitesse du moteur droit
  analogWrite(E2,value);//on gére la vitesse du moteur gauche
  }
 
  
   else if (valcaptG == 1 && valcaptD == 0) {
 digitalWrite(M1, HIGH);// alors 1 allumé 
  digitalWrite(M2, HIGH);// 2 tourne moins vite -> on tourne vers la gauche
  analogWrite(E1,value);//on gére la vitesse du moteur droit
  analogWrite(E2,0);//vitesse du moteur Gauche=0 car on tourne à gauche 
  }
  else if (valcaptG == 0 && valcaptD == 1) {
  digitalWrite(M1, HIGH);//alors moteur 1 tourne moins vite
  digitalWrite(M2, HIGH);// et 2 allumé -> on tourne vers la droite
  analogWrite(E1,0);//vitesse du moteur Droit=0 car on tourne à droite 
  analogWrite(E2,value);// on gère la vitesse du moteur gauche
  }
  else { 
  digitalWrite(M1, HIGH);// alors moteur 1 éteint
  digitalWrite(M2, HIGH);// alors moteur 2 éteint
  analogWrite(E1,0);//vitesse du moteur=0  
  analogWrite(E2,0);// vitesse du moteur=0
  } 

}
