problème programme voiture arduino

Bonjour,
je suis encore débutant.
mon projet avait pour but de créer une voiture télécommander (en avant et en arrière uniquement pour le moment).
Cependant je me trouve un problème, il y a seulement un moteur qui tourne parfaitement en arrière et avant mais l’autre ne bouge pas

je sais pas trop comment se blog marche mais si qqun peut m’aider?
voici quelque information:

j’utilise un pilote de moteur appelé TB6612FNG pour controler les moteurs
voici mon code pour l’instant:

[color=#222222]
[/color]
[color=#222222]const int PWMA = 11;[/color]
[color=#222222]const int AI2 = 12;[/color]
[color=#222222]const int AI1 =  13;[/color]
[color=#222222]const int BI1 = 8;[/color]
[color=#222222]const int BI2 = 9;[/color]
[color=#222222]const int PWMB = 10;[/color]
[color=#222222]int avant = 230;[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]#include <IRremote.h>[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]#define DIN_RECEPTEUR_INFRAROUGE 4[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]IRrecv monRecepteurInfraRouge (DIN_RECEPTEUR_INFRAROUGE);[/color]
[color=#222222]
[/color]
[color=#222222]decode_results messageRecu;[/color]
[color=#222222]void setup() {[/color]
[color=#222222]  // put your setup code here, to run once:[/color]
[color=#222222]  pinMode(PWMA, OUTPUT);[/color]
[color=#222222]  pinMode (PWMB, OUTPUT);[/color]
[color=#222222]  pinMode(AI2, OUTPUT);[/color]
[color=#222222]  pinMode(AI1, OUTPUT);[/color]
[color=#222222]  pinMode(BI2, OUTPUT);[/color]
[color=#222222]  pinMode(BI1, OUTPUT);[/color]
[color=#222222]  [/color]
[color=#222222]  monRecepteurInfraRouge.enableIRIn();[/color]
[color=#222222]  monRecepteurInfraRouge.blink13(true);[/color]
[color=#222222]  Serial.begin(9600);[/color]
[color=#222222]
[/color]
[color=#222222]}[/color]
[color=#222222]
[/color]
[color=#222222]void loop() {[/color]
[color=#222222]  // put your main code here, to run repeatedly:[/color]
[color=#222222]  if (monRecepteurInfraRouge.decode(&messageRecu))[/color]
[color=#222222]  {[/color]
[color=#222222]    Serial.println(messageRecu.value, HEX);[/color]
[color=#222222]
[/color]
[color=#222222]    if (messageRecu.value == 0x97483BFB) { // flèche avant (avancer)[/color]
[color=#222222]      analogWrite(PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222]      [/color]
[color=#222222]
[/color]
[color=#222222]      DigitalWrite (AI1, HIGH);[/color]
[color=#222222]      DigitalWrite (AI2, LOW);[/color]
[color=#222222]      digitalWrite (BI1, HIGH);[/color]
[color=#222222]      digitalWrite (BI2, LOW);[/color]
[color=#222222]
[/color]
[color=#222222]    }[/color]
[color=#222222]    if (messageRecu.value == 0xFF9867) {// flèche avant (avancer)[/color]
[color=#222222]      analogWrite (PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222]      [/color]
[color=#222222]
[/color]
[color=#222222]      DigitalWrite (AI1, HIGH);[/color]
[color=#222222]      DigitalWrite (AI2, LOW);[/color]
[color=#222222]      digitalWrite (BI1, HIGH);[/color]
[color=#222222]      digitalWrite (BI2, LOW);[/color]
[color=#222222]
[/color]
[color=#222222]    }[/color]
[color=#222222]    if (messageRecu.value == 0x488F3CBB) {// flèche du bas (en arrière)[/color]
[color=#222222]
[/color]
[color=#222222]      analogWrite (PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]    DigitalWrite (AI1, LOW);[/color]
[color=#222222]      DigitalWrite (AI2, HIGH);[/color]
[color=#222222]      digitalWrite (BI1, LOW);[/color]
[color=#222222]      digitalWrite (BI2, HIGH);[/color]
[color=#222222]
[/color]
[color=#222222]    }[/color]
[color=#222222]
[/color]
[color=#222222]    if (messageRecu.value == 0xFF38C7) {// flèche du bas (en arrière)[/color]
[color=#222222]
[/color]
[color=#222222]      analogWrite (PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222]    [/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]      DigitalWrite (AI1, LOW);[/color]
[color=#222222]      DigitalWrite (AI2, HIGH);[/color]
[color=#222222]      digitalWrite (BI1, LOW);[/color]
[color=#222222]      digitalWrite (BI2, HIGH);[/color]
[color=#222222]
[/color]
[color=#222222]    }[/color]
[color=#222222]
[/color]
[color=#222222]    if (messageRecu.value == 0x20FE4DBB) {// la touche c[/color]
[color=#222222]
[/color]
[color=#222222]      analogWrite (PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222]     [/color]
[color=#222222]
[/color]
[color=#222222]      Serial.println ("LOWBREAK"); // s'arreter doucement[/color]
[color=#222222]      DigitalWrite (AI1, LOW);[/color]
[color=#222222]      DigitalWrite (AI2, LOW);[/color]
[color=#222222]      digitalWrite (BI1, LOW);[/color]
[color=#222222]      digitalWrite (BI2, LOW);[/color]
[color=#222222]    }[/color]
[color=#222222]
[/color]
[color=#222222]    if (messageRecu.value == 0xFFC23D) {// la touche c[/color]
[color=#222222]
[/color]
[color=#222222]      analogWrite (PWMA, avant);[/color]
[color=#222222]      analogWrite (PWMB, avant);[/color]
[color=#222222] [/color]
[color=#222222]
[/color]
[color=#222222]      Serial.println ("LOWBREAK"); // s'arreter doucement[/color]
[color=#222222]      DigitalWrite (AI1, LOW);[/color]
[color=#222222]      DigitalWrite (AI2, LOW);[/color]
[color=#222222]      digitalWrite (BI1, LOW);[/color]
[color=#222222]      digitalWrite (BI2, LOW);[/color]
[color=#222222]    }[/color]
[color=#222222]
[/color]
[color=#222222]
[/color]
[color=#222222]    monRecepteurInfraRouge.resume ();[/color]
[color=#222222]  }[/color]
[color=#222222]}[/color]
[color=#222222]

Pas de doublons sur ce Forum, il fallait demander au Modérateur le déplacement du message initial et attendre ce déplacement !!

postez du code propre... sans les couleurs...
décrivez votre câblage

(lisez les règles du forum)

Il manque le raccordement de la pin standby du driver moteur à la carte arduino, dans l’exemple j’ai choisi la pin 6.

// lien utile pour l'explication
// https://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide/all
// une lib est disponible aussi
// https://github.com/sparkfun/SparkFun_TB6612FNG_Arduino_Library

#include <IRremote.h>

// moteur A
const int PWMA = 11;
const int AI2 = 12;
const int AI1 =  13;

// moteur B
const int PWMB = 10;
const int BI1 = 8;
const int BI2 = 9;

// Standby
const int Standby = 6;
  
int vitesse = 230;

#define DIN_RECEPTEUR_INFRAROUGE 4

IRrecv monRecepteurInfraRouge (DIN_RECEPTEUR_INFRAROUGE);
decode_results messageRecu;

void setup() {
  // moteur A
  pinMode(PWMA, OUTPUT);
  pinMode(AI2, OUTPUT);
  pinMode(AI1, OUTPUT);

  // moteur B
  pinMode (PWMB, OUTPUT);
  pinMode(BI2, OUTPUT);
  pinMode(BI1, OUTPUT);

  // Standby
  pinMode(Standby, OUTPUT);
  digitalWrite(Standby, HIGH); // mettre à l'état haut pour activer le pont
  
  monRecepteurInfraRouge.enableIRIn();
  monRecepteurInfraRouge.blink13(true);
  
  Serial.begin(9600);
}


void loop() {
  // put your main code here, to run repeatedly:
  if (monRecepteurInfraRouge.decode(&messageRecu))
  {
    Serial.println(messageRecu.value, HEX);

    if ((messageRecu.value == 0x97483BFB) || (messageRecu.value == 0xFF9867)) { // flèche avant (avancer)
      // moteur A
      analogWrite(PWMA, vitesse);
      digitalWrite (AI1, HIGH);
      digitalWrite (AI2, LOW);
      // moteur B
      analogWrite (PWMB, vitesse);
      digitalWrite (BI1, HIGH);
      digitalWrite (BI2, LOW);
    }

    if ((messageRecu.value == 0x488F3CBB) || (messageRecu.value == 0xFF38C7)) {// flèche du bas (en arrière)
      // moteur A
      analogWrite (PWMA, vitesse);
      DigitalWrite (AI1, LOW);
      DigitalWrite (AI2, HIGH);
      // moteur B
      analogWrite (PWMB, vitesse);
      digitalWrite (BI1, LOW);
      digitalWrite (BI2, HIGH);
    }

    if ((messageRecu.value == 0x20FE4DBB) || (messageRecu.value == 0xFFC23D)) {// la touche c
      Serial.println ("LOWBREAK"); // s'arreter doucement
      // moteur A
      analogWrite (PWMA, 0); // ou analogWrite (PWMA, 255);
      digitalWrite (AI1, HIGH);
      digitalWrite (AI2, HIGH);
      // moteur B
      analogWrite (PWMB, 0);
      digitalWrite (BI1, HIGH);
      digitalWrite (BI2, HIGH);
    }

    if ((messageRecu.value == 0x20FE4DBB) || (messageRecu.value == 0xFFC23D)) {// la touche c
      Serial.println ("STOP"); // s'arreter au plus vite
      // moteur A
      analogWrite (PWMA, 255);
      digitalWrite (AI1, LOW);
      digitalWrite (AI2, LOW);
      // moteur B
      analogWrite (PWMB, 255);
      digitalWrite (BI1, LOW);
      digitalWrite (BI2, LOW);
    }
    monRecepteurInfraRouge.resume ();
  }
}