Problème programme de Arduino

BlablacarBleu BlablacarBleu 1 Messages



Bonjours, j’aimerais savoir ce qui ne va pas dans mon code Arduino qui a pour programme :Programme suiveur de ligne pour robot sumo de 3 capteurs:Si capteur droit = 1 (=1 veut dire détecte une ligne noir) alors tourner à droite Si capteur gauche = 1 alors tourner à gauche Si capteur milieu = 1 alors avancer vers l’avant Si capteur droit = 0, capteur gauche = 0 et capteur milieu = 0 alors reculer Si capteur droit = 1, capteur gauche = 1 et capteur milieu = 1 alors s’arrêter Programme pour définir les moteurs de mes 2 roues motrices:Tourner à droite : allumer moteur roue gauche et allumer à 50% moteur roue droite Tourner à gauche : allumer moteur roue droit et allumer à 50% moteur roue gauche Avancer : allumer moteur roue droit et allumer moteur roue gauche Reculer : allumer moteur roue droit et inverser le sens de rotation de roue droit et allumer moteur roue gauche et inverser le sens de rotation de roue gauche S’arrêter : arrêter moteur roue droit et arrêter moteur roue gauche Voici le code Arduino :Programme suiveur de ligne pour robot sumo de 3 capteurs:Si capteur droit = 1 (=1 veut dire détecte une ligne noir) alors tourner à droite Si capteur gauche = 1 alors tourner à gauche Si capteur milieu = 1 alors avancer vers l’avant Si capteur droit = 0, capteur gauche = 0 et capteur milieu = 0 alors reculer Si capteur droit = 1, capteur gauche = 1 et capteur milieu = 1 alors s’arrêter Programme pour définir les moteurs de mes 2 roues motrices:#define led D6#define bouton D7int etatbouton = 0;int etatPrecedent = 0;#define IN1 = A0 //Pin pour Le Capteur Gauche#define IN4 = A1 //Pin pour Le Capteur Droite#define IN7 = A2 //Pin pour Le Capteur Milieuint GA=,GB=3,DA=13,DB=11; //Pin pour Deux moteurs (GA et GB pour le moteur Gauche, DA et DB pour le moteur de droite)void setup() {  Serial.begin(9600);  pinMode(led, INPUT);      // initialisation de la broche "led" en mode sortie  pinMode(bouton, INPUT);   // bouton en mode entrée  pinMode(IN1, INPUT);  pinMode(IN4, INPUT);  pinMode(IN7, INPUT);  pinMode(DA, OUTPUT);  pinMode(DB, OUTPUT);  pinMode(GA, OUTPUT);  pinMode(GB, OUTPUT);}// Fonctions pour contrôler les moteursvoid d() {  digitalWrite(DA, LOW);  analogWrite(DB, 127); // 50% de la vitesse  analogWrite(GA, 127); // 50% de la vitesse  digitalWrite(GB, LOW);}void g() {  analogWrite(DA, 127); // 50% de la vitesse  digitalWrite(DB, LOW);  digitalWrite(GA, LOW);  analogWrite(GB, 127); // 50% de la vitesse}void av() {  digitalWrite(DA, LOW);  analogWrite(DB, 127); // 50% de la vitesse  digitalWrite(GA, LOW);  analogWrite(GB, 127); // 50% de la vitesse}void rec() {  digitalWrite(DA, HIGH);  digitalWrite(DB, HIGH);  digitalWrite(GA, HIGH);  digitalWrite(GB, HIGH);}void loop() {  int in1_val = digitalRead(IN1);  int in4_val = digitalRead(IN4);  int in7_val = digitalRead(IN7);  if (in1_val == 1 && in7_val == 0 && in4_val == 0) {    Serial.println("Tourner à gauche");    g();  } else if (in1_val == 0 && in7_val == 0 && in4_val == 1) {    Serial.println("Tourner à droite");    d();  } else if (in1_val == 0 && in7_val == 1 && in4_val == 0) {    Serial.println("Avancer");    av();  } else if (in1_val == 0 && in7_val == 0 && in4_val == 0) {    Serial.println("Reculer");    rec();  } else if (in1_val == 1 && in7_val == 1 && in4_val == 1) {    Serial.println("S'arrêter");    arreter();  }}void arreter() {  digitalWrite(DA, LOW);  digitalWrite(DB, LOW);  digitalWrite(GA, LOW);  digitalWrite(GB, LOW);}
lobodol lobodol 864 Messages BIG BOSS
Salut @BlablacarBleu,

Avant de répondre à ta question, peux-tu stp mettre en forme ton code en le plaçant entre deux balises "code", comme ceci :



Sans ça, c'est très difficile de lire ton code.
Merci

PS : tu peux éditer ton message directement
Vous devez être connecté pour pouvoir répondre à ce sujet.
Utilisation des données

Afin d'améliorer ton expérience utilisateur, nous utilisons des cookies 🍪