IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Programme du arduino ne fonctionne pas


Sujet :

Arduino

  1. #1
    Membre confirmé Avatar de hassiba_45
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    127
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 127
    Par défaut Programme du arduino ne fonctionne pas
    Bonsoir,
    S'il vous plait, j'ai un robot voiture avec 4 moteurs, 2 moteurs represente moteur A et les 2 autres represente moteur B
    Et il y'a un probleme dans la programmation du arduino avec logiciel arduino ide
    Où les 2 moteurs A fonctionne et les autres non
    Voici le programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    // Définition des broches du moteur gauche
    const int IN1 = 8;
    const int IN2 = 7;
    const int ENA = 9;
     
    // Définition des broches du moteur droit
    const int IN3 = 4;
    const int IN4 = 5;
    const int ENB = 3;
     
     
     
    void setup() {
      // Configuration des broches en sortie
      pinMode(IN1, OUTPUT);
      pinMode(IN2, OUTPUT);
      pinMode(ENA, OUTPUT);
     
      pinMode(IN3, OUTPUT);
      pinMode(IN4, OUTPUT);
      pinMode(ENB, OUTPUT);
    }
     
    void loop() {
      // Marche avant des deux moteurs
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
     
      // Accélération progressive des deux moteurs
      for (int i = 0; i < 256; i++) {
        analogWrite(ENA, i); // Moteur gauche
        analogWrite(ENB, i); // Moteur droit
        delay(10); // Douceur du mouvement
      }
     
      // Décélération progressive
      for (int i = 255; i >= 0; i--) {
        analogWrite(ENA, i);
        analogWrite(ENB, i);
        delay(10);
      }
    }
    Je veux une solution.
    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 124
    Billets dans le blog
    47
    Par défaut
    Bonjour

    Citation Envoyé par hassiba_45 Voir le message
    S'il vous plait, j'ai un robot voiture avec 4 moteurs, 2 moteurs represente moteur A et les 2 autres represente moteur B
    Euh... 4 moteurs ? Ce ne serait pas plutôt 2 moteurs au total ? 4 roues, mais 2 roues motrices (gauche et droit). C'est ce que suggère ton code.


    Citation Envoyé par hassiba_45 Voir le message
    Et il y'a un probleme dans la programmation du arduino avec logiciel arduino ide
    Où les 2 moteurs A fonctionne et les autres non
    Donc, LE moteur A fonctionne, mais pas LE moteur B (je ne vois que 2 moteurs, gauche et droit d'après ton code). Sois plus précis, le moteur B ne réagit pas du tout ? Il ne tourne pas assez vite ? Il tourne dans le mauvais sens ?

    On dirait un de ces robots piloté avec un L298N, ce serait bien de donner un lien vers le robot que tu utilises.

  3. #3
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    C’est bien une carte UNO ?
    Comment tout cela est alimenté et câblé ?

  4. #4
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 582
    Par défaut
    Bonjour,

    Par symétrie du code, si celui ne fonctionnait pas, les deux moteurs auraient un même problème.

    Il y a donc une très forte probabilité que l'un des moteurs est mal câblé : logique (erreur de broche par exemple) ou physique (mauvais contact par exemple). Relever le câblage tel qu'il est et non tel qu'il devrait être puis le comparer au câblage présupposé (notamment par les broches déclarées dans le code). S'il est différent le problème est réglé. Sinon faire un test de continuité au multimètre de toutes les liaisons concernant le moteur en défaut.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #5
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 755
    Par défaut
    Hello,

    Je ne vais pas répondre au sujet du problème, mais au sujet de programme. Il serait plus agréable à lire sans devoir se souvenir que IN_1 et IN_2 c'est le moteur gauche, et que IN_3 et IN_4 c'est le droit. Mettre des noms parlants, ça aide et ça fatigue moins les neurones:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    // Définition des broches du moteur gauche
    const int MOTOR_LEFT_1 = 8;
    const int MOTOR_LEFT_2 = 7;
    const int MOTOR_LEFT_EN = 9;
     
    // Définition des broches du moteur droit
    const int MOTOR_RIGHT_1 = 4;
    const int MOTOR_RIGHT_2 = 5;
    const int MOTOR_RIGHT_EN = 3;
     
    void setup() {
      // Configuration des broches en sortie
      pinMode(MOTOR_LEFT_1, OUTPUT);
      pinMode(MOTOR_LEFT_2, OUTPUT);
      pinMode(MOTOR_LEFT_EN, OUTPUT);
     
      pinMode(MOTOR_RIGHT_1, OUTPUT);
      pinMode(MOTOR_RIGHT_2, OUTPUT);
      pinMode(MOTOR_RIGHT_EN, OUTPUT);
    }
     
    void loop() {
      // Marche avant des deux moteurs
      digitalWrite(MOTOR_LEFT_1, HIGH);
      digitalWrite(MOTOR_LEFT_2, LOW);
      digitalWrite(MOTOR_RIGHT_1, HIGH);
      digitalWrite(MOTOR_RIGHT_2, LOW);
     
      // Accélération progressive des deux moteurs
      for (int i = 0; i < 256; i++) {
        analogWrite(MOTOR_LEFT_EN, i);
        analogWrite(MOTOR_RIGHT_EN, i);
        delay(10); // Douceur du mouvement
      }
     
      // Décélération progressive
      for (int i = 255; i >= 0; i--) {
        analogWrite(MOTOR_LEFT_EN, i);
        analogWrite(MOTOR_RIGHT_EN, i);
        delay(10);
      }
    }
    C'est parce que je ne connais pas les fonctions associées à _1, _2 et _EN que j'ai dû laisser ces indications.
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent ;)

  6. #6
    Membre confirmé Avatar de hassiba_45
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    127
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 127
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Bonjour


    Euh... 4 moteurs ? Ce ne serait pas plutôt 2 moteurs au total ? 4 roues, mais 2 roues motrices (gauche et droit). C'est ce que suggère ton code.




    Donc, LE moteur A fonctionne, mais pas LE moteur B (je ne vois que 2 moteurs, gauche et droit d'après ton code). Sois plus précis, le moteur B ne réagit pas du tout ? Il ne tourne pas assez vite ? Il tourne dans le mauvais sens ?

    On dirait un de ces robots piloté avec un L298N, ce serait bien de donner un lien vers le robot que tu utilises.
    Le moteur B ne réagit du tout

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 124
    Billets dans le blog
    47
    Par défaut
    Citation Envoyé par hassiba_45 Voir le message
    Le moteur B ne réagit du tout
    ça ressemble plus à un problème matériel que logiciel, comme dit plus haut. Vérifie le câblage, inverse les moteurs A et B, teste le moteur B à part, etc.

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    On ne sait toujours rien sur l’alimentation

Discussions similaires

  1. association Programme par défaut ne fonctionne pas correctement
    Par NewbieOnLine dans le forum Windows 10
    Réponses: 0
    Dernier message: 12/10/2018, 10h21
  2. Réponses: 0
    Dernier message: 17/07/2018, 11h42
  3. Essai de programmes et ils ne fonctionnent pas, pourquoi ?
    Par Jeff1950 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/12/2017, 18h32
  4. Réponses: 0
    Dernier message: 10/04/2008, 00h45
  5. Réponses: 18
    Dernier message: 19/04/2007, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo