voici le code du robot si vous voyer des erreur que le compilateur na pas vue sa serait gentil de me les dire

#include <Servo.h>
int vitesse1 = 6;
int vitesse2 = 5;
int direction1 = 7;
int direction2 = 4;
Servo myservo; // créer un objet de servo pour contrôler un servomoteur
int capteur;
int potpin = 0; // broche analogique utilisé pour connecter le capteur infrarouge SHARP
int val; // variable pour lire la valeur de la broche analogique
void Moteur1(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse1,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction1,HIGH);
}
else
{
digitalWrite(direction1,LOW);
}
}
void Moteur2(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse2,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction2,HIGH);
}
else
{
digitalWrite(direction2,LOW);
}
}
const int POS_MIN=550;
const int POS_MAX=2330;
const int SERVO_0=2; //declaration constante de broche
const int SERVO_1=3; //declaration constante de broche
const int SERVO_2=4; //declaration constante de broche
const int SERVO_3=5; // declaration constante de broche
const int SERVO_4=6; // declaration constante de broche
const int SERVO_5=7; // declaration constante de broche
const int Voie_0=0; //declaration constante de broche analogique
const int Voie_1=1; //declaration constante de broche analogique
const int Voie_2=2; //declaration constante de broche analogique
const int Voie_3=3;//declaration constante de broche analogique
const int Voie_4=4; //declaration constante de broche analogique
const int Voie_5=5; //declaration constante de broche analogique
// --- Déclaration des variables globales ---
int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique
float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique
int angle_servo_0=0; // variable pour angle du servomoteur
int angle_servo_1=0; // variable pour angle du servomoteur
int angle_servo_2=0; // variable pour angle du servomoteur
int angle_servo_3=0; // variable pour angle du servomoteur
int angle_servo_4=0; // variable pour angle du servomoteur
int angle_servo_5=0; // variable pour angle du servomoteur
Servo mon_servo_0; // je crée un objet servo pour contrôler le servomoteur
Servo mon_servo_1; // je crée un objet servo pour contrôler le servomoteur
Servo mon_servo_2; // je crée un objet servo pour contrôler le servomoteur
Servo mon_servo_3; // je crée un objet servo pour contrôler le servomoteur
Servo mon_servo_4; // je crée un objet servo pour contrôler le servomoteur
Servo mon_servo_5; // je crée un objet servo pour contrôler le servomoteur
void setup() {
myservo.attach(3); // attache le servo sur la broche 3 à l'objet servo
int i;
for(i=5;i<=8;i++)
pinMode(i, OUTPUT); //met les pin 4,5,6,7 en mode sortie
mon_servo_0.attach(SERVO_0, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
mon_servo_1.attach(SERVO_1, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
mon_servo_2.attach(SERVO_2, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
mon_servo_3.attach(SERVO_3, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
mon_servo_4.attach(SERVO_4, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
mon_servo_5.attach(SERVO_5, POS_MIN, POS_MAX); // j'attache l'objet servo à la broche de commande du servomoteur
// ------- Broches en sortie -------
pinMode(SERVO_0, OUTPUT); //jz met la broche en sortie
pinMode(SERVO_1, OUTPUT); //je met la broche en sortie
pinMode(SERVO_2, OUTPUT); //je met la broche en sortie
pinMode(SERVO_3, OUTPUT); //je met la broche en sortie
pinMode(SERVO_4, OUTPUT); //je met la broche en sortie
pinMode(SERVO_5, OUTPUT); //je met la broche en sortie
}
void loop() {
//========== SERVO_0 ===============
mesure_brute=analogRead(Voie_0);
angle_servo_0=map(mesure_brute,0,1023,0,180);
mon_servo_0.write(angle_servo_0); // positionne le servo à l'angle que je veux
//========== SERVO_1 ===============
mesure_brute=analogRead(Voie_1);
angle_servo_1=map(mesure_brute,0,1023,0,180);
mon_servo_1.write(angle_servo_1);
//========== SERVO_2 ===============
mesure_brute=analogRead(Voie_2);
angle_servo_2=map(mesure_brute,0,1023,0,180);
mon_servo_2.write(angle_servo_2);
//========== SERVO_3 ===============
mesure_brute=analogRead(Voie_3);
angle_servo_3=map(mesure_brute,0,1023,0,180);
mon_servo_3.write(angle_servo_3);
//========== SERVO_4 ===============
mesure_brute=analogRead(Voie_4);
angle_servo_4=map(mesure_brute,0,1023,0,180);
mon_servo_4.write(angle_servo_4);
//========== SERVO_5================
mesure_brute=analogRead(Voie_5);
angle_servo_5=map(mesure_brute,0,1023,0,180);
mon_servo_5.write(angle_servo_5);
val = analogRead(capteur); // lit la valeur du capteur
val = map(val, 0, 115, 0, 300); // l'échelle pour l'utiliser avec le servo (valeur entre 0 et 300)
myservo.write(val); // définit la position d'asservissement en fonction de la valeur à l'échelle
delay(400); // attend que le servo pour y arriver
if (val >= 180) // si on est à moins de 10 cm d'un obstacle
{
Moteur1(0,true); //j'arrete le moteur 1
Moteur2(0,true); // j'arrete le moteur 2
delay(200); //j'attend 2 seconde
Moteur1(255,true); //J'avance tout droit
Moteur2(0,true); // j'arrete le moteur 2
delay(400); //la valeur à mettre reste à définir en fonction de la vitesse du robot
Moteur1(255,true); //J'avance tout droit en metant les 2 moteurs à fond
Moteur2(255,false); //J'avance tout droit en metant les 2 moteurs à fond
}
else
{
Moteur1(255,false);
Moteur2(255,true);
}
}
cordialement Maxou