Contrôler deux moteur avec une pont en H et un joystick

Bonjour, je me présente je m'appelle Noa et je suis pas très fort en codage et en câblage.
Du coup j'aimerai savoir si quelqu'un peut m'aider a faire en sorte que quand je met le joystick vers le haut, le moteur A tourne dans un sens, et vers le bas, le moteur A tourne dans le sens inverse. Pour le moteur B, la même chose avec joystick a droite et joystick a gauche.

J'aimerais utiliser ce matériel que j'ai déjà avec moi :
-Pont en H L298N
-Carte Arduino Uno r3
-Joystick PS2 (https://www.amazon.fr/PS2-Manette-Bi-axial-contrôle-Joystick-Raspberry/dp/B06Y1HB7KR/ref=sr_1_14/260-4770037-5978534?ie=UTF8&qid=1503738505&sr=8-14&keywords=joystick+ps2)
ainsi que deux moteur bien sur.

Voila, je n'avais pas trouver de topic la dessus, Merci d'avance !

Bonjour

Et vous avez essayé quoi? (Ici on ne va pas coder pour vous - c'est votre projet - on vous aidera à débuger si nécessaire)

Si vous n'avez rien fait pour le moment attaquez par les tutos d'eskimon sur les bases, les boutons, les joysticks et les moteurs - ensuite vous n'aurez plus qu'à mettre tout cela ensemble

Bah enfaite j'ai ce montage : http://image.noelshack.com/fichiers/2017/34/6/1503769216-p-20170826-191501.jpg

et j'ai ce code : http://image.noelshack.com/fichiers/2017/34/6/1503770101-capture.png

mais je ne sais pas comment ajouter mon joystick, pour le deuxième moteur je ferais plus tars.
Merci

Lisez comment utiliser le forum pour poster des images et du code...

Bah enfaite j'ai ce montage :

et j'ai ce code :

//-- MOTEUR B --
int ENB=6; //Connecté à Arduino pin 6 (Sortie pwm)
int IN3=7; //Connecté à Arduino pin 7
int IN4=8; //Connecté à Arduino pin 8

void setup() {
  pinMode(ENB,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);

  digitalWrite(ENB, LOW); //Moteur B ne tourne pas

  //Direction Moteur B

  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
}

void loop() {
  //Moteur B - Mi-régime
  analogWrite(ENB,128);
  delay(2000) ;
  analogWrite(ENB,255);
  delay(3000) ;

  //On change le sens de rotation :
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  
}

mais je ne sais pas comment ajouter mon joystick, pour le deuxième moteur je ferais plus tars.
Merci

Et vous avez regardé ça ?

Nevized:
Bah enfaite j'ai ce montage :

J'adore ce schéma de montage, je ne sais pas s'il marche car le décoder est du ressort de l'enquête minutieuse d'après photo.

Mais je le trouve très réaliste en tout cas.

Je me demande s'il n'y manque pas un fil de GND quelque part?

Salut,

Il y a plus simple que de passer par une plaques à trous pour le GND.
Le GND piles 9V sur GND du L298N (POWER) , puis un fil GND 298N(POWER) vers GND Arduino.
Il est possible de mettre deux fils dans le bornier GND du L298.

@+

Voici un exemple de programme qui gère sens de rotation moteur via joystick, il avait une gestion d'un affichage LCD, mais le principe de fonctionnement est la.

// déclaration LCD et Joystick//
#include <LCD5110_Graph.h>

LCD5110 myGLCD(9, 10, 11, 12, 13);

extern uint8_t SmallFont[];

#define PIN_ANALOG_X 0

#define PIN_ANALOG_Y 1

int axe_X;
int axe_Y;

// Déclaration des variables pont en H L298N//

int ENA = 45; //Branché sur Arduino pin 5(output pwm)
int IN1 = 47; //Sur Arduino pin 2
int IN2 = 49; //Sur Arduino pin 3
//int ENB=53;//Sur Arduino pin 6(output pwm)
//int IN3=51;//Sur Arduino pin 4
//int IN4=18;//Sur Arduino pin 7

void setup()
{
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);

  pinMode(ENA, OUTPUT); //Configuré en sorties
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  digitalWrite(ENA, LOW);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH); //setting motorA's direction
  Serial.begin(9600);  //Serial monitor

}

void loop()
{
  axe_X = (analogRead(PIN_ANALOG_X) - 506);
  axe_Y = (analogRead(PIN_ANALOG_Y) - 515);
  myGLCD.print("Joystick", 10, 0);
  myGLCD.print("Axe X:", 2, 10);
  myGLCD.printNumI(axe_X, 40, 10, 4);
  myGLCD.print("Axe Y:", 2, 20);
  myGLCD.printNumI(axe_Y, 40, 20, 4);
  if (axe_X < -100)
  {
    avant();
    Serial.println(axe_X);
  }
  if (axe_X > 100)
  {
    arriere();
    Serial.println(axe_X);
  }

  if (axe_X == 0)
  {
    arret();
  }

  myGLCD.update();
  delay(10);

}

// Définition des procédures gestion mvt du moteur A//

void avant ()
{
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 255);
}
void arret()
{
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
}
void arriere()
{
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 255);
}

hameau:
Salut,

Il y a plus simple que de passer par une plaques à trous pour le GND.
Le GND piles 9V sur GND du L298N (POWER) , puis un fil GND 298N(POWER) vers GND Arduino.
Il est possible de mettre deux fils dans le bornier GND du L298.

@+

Merci, ça me libère de la place