//Ce programme fait avancer la voiture en marche avant ,puis , lorsque le télémètre branché a la plaque arduino détecte un obstacle, le programme va passer la direction de la voiture en marche arrière pour esquiver cet obstacle.
 
int dirmar=12;  //la direction du moteur arrière rattachée au pin numéro 12 du motorshield
int vitmar=3;   //la vitesse du moteur arrière rattachée au pin numéro 3 du motorshield
int dirmav=13;
int vitav=11;
int vitesse; //définition de la vitesse à laquelle les roues tournent
int vitesseav;
int telemetre=2; //pin digital du télémètre
int distance;   //distance de détection du telemetre
void setup()
{
   Serial.begin(9600);
  pinMode(dirmar,OUTPUT);  //définition en sortie du pin numéro 12
  pinMode(dirmav,OUTPUT);
}
void loop()
{
 
  distance=digitalRead(telemetre);   //le programme fait la lecture des données du telemetres
  delay(1);   //le programme lit les données du telemetre toutes les 1 millisecondes
 
  Serial.println(distance); //affichage de la distance dans la commande du moniteur série
 if (distance==1)      //si la donnée reçue du télémètre est "0"
 {
   vitesse=105;
   analogWrite(vitmar,vitesse);digitalWrite(dirmar,LOW);
   delay(500);
   vitesseav=250;
   vitesse=105;
   analogWrite (vitav,vitesseav);digitalWrite(dirmav,HIGH);
  analogWrite (vitmar, vitesse);digitalWrite(dirmar,LOW);  //le moteur arrière tourne à la vitesse donnée (80) , en marche arrière (low)
 delay(2000); //délai de 2 secondes : la voiture va reculer pendant 2 seconde obligatoirement
 vitesse=0;
 vitesseav=0;
 }
 else
 {
   vitesseav=0;
   vitesse=98;
   analogWrite(vitav,vitesseav);
 
  analogWrite (vitmar, vitesse);digitalWrite(dirmar,HIGH);  //le moteur arrière tourne à la vitesse donnée (80) , en marche avant (high)
 vitesse=0;
 }
}