Avancement du code arduino au 08/02/2015
//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;
}
}