Motor shield V3 + 2 moteurs DC + joystick +

Bonjour, Je suis complètement débutant dans le monde de l'arduino et voici mon projet : - Un moteur DC sur l'axe X : mobilise l'objet horizontalement - Un moteur DC sur l'axe Y : mobilise l'objet verticalement - Une carte Arduino Motor shield V3 comprenant : Blindage Contrôleur de Moteur Arduino V3 + Microcontrôleur Arduino Mega 2560 Rev3 - Une plaque à essai, des résistances 10 Ohms, des potentiomètres des cables pour breadboard M/M - Un joystick avec carte de déploiement intégrée : http://www.robotshop.com/eu/fr/mini-capteur-manche-cytron.html - 4 interrupteurs de fin de course placés aux extrémités X et Y pour stopper le moteur concerné

Je souhaite que l'objet puisse se déplacer avec le joystick dans la direction X ou Y ou les deux simultanément selon une vitesse de moteur constante mais diminuée par rapport à l'initiale avec un arrêt du moteur concerné lorsque l'interrupteur de fin de course est enclenché.

Pouvez-vous m'aider en termes de branchements (je ne comprends pas les schémas théoriques) ? Pouvez-vous m'aider pour le code de la carte Arduino ?

Je vous remercie

Bonsoir, As-tu faits des recherches sur la toile ? Pour avoir plus de réponses, il faudrait qu'un modo déplace ton topic dans la bonne rubrique, ici c'est les projets finis. @+

Ok désolé pour la mauvaise rubrique

Voici mon code ainsi qu’une photo des branchements à partir de ce que j’ai pu trouver sur le net

Merci pour ton aide

/ --- Déclaration des constantes ---

// --- Inclusion des librairies ---

// --- Déclaration des constantes utiles ---

// --- Déclaration des constantes des broches E/S numériques ---

int MotA=12; // Constante pour la broche 12
int MotB=13; // Constante pour la broche 13



// --- Déclaration des constantes des broches analogiques ---


//const int Voie[6]={0,1,2,3,4,5}; //declaration constante de broche analogique


// --- Déclaration des variables globales ---


// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---

// --- Déclaration des constantes des broches analogiques ---

int axe1Joystick = A2; // Constante pour la broche analogique 2
int axe2Joystick = A3; // Constante pour la broche analogique 3
int JoyStick_Z = 3; //

// --- 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 positionAxe1=0; // Variable pour acquisition résultat brut de conversion analogique numérique axe 1 Joystick
int positionAxe2=0; // Variable pour acquisition résultat brut de conversion analogique numérique axe 2 Joystick



// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation ////////////////////////// 
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter 1 seule fois au démarrage du programme --- 

// ------- Initialisation fonctionnalités utilisées -------  

Serial.begin(115200); 

// ------- Broches en sorties numériques -------  
pinMode (MotA,OUTPUT); // Broche vitesseMotA configurée en sortie
pinMode (MotB,OUTPUT); // Broche vitesseMotB configurée en sortie

// ------- Broches en entrées numériques ------- 
pinMode (axe1Joystick,INPUT); // Broche axe1joystick configurée en entrée
pinMode (axe2Joystick,INPUT); // Broche axe2joystick configurée en entrée
pinMode (JoyStick_Z,INPUT); // Broche JoyStick_Z configurée en entrée

// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------  

// Les BP du shield Joystick + BPx2 dispose d'un rappel au plus sur le shield


// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------  

// ------- Initialisation des variables utilisées -------  

// ------- Codes d'initialisation utile -------  
digitalWrite(MotA,LOW); // a l'arret
digitalWrite(MotB,LOW); // à l'arret 

} // fin de la fonction setup()
// ********************************************************************************

////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()
//----- lecture position Joytstick
positionAxe1=analogRead(axe1Joystick); // acquisition conversion analogique numérique sur broche analogique axe 1
positionAxe2=analogRead(axe2Joystick); // acquisition conversion analogique numérique sur broche analogique axe 2

int x,y,z;
if (positionAxe1>700) {
  digitalWrite(MotA,HIGH);
}
else if (positionAxe1<300) {
  digitalWrite(MotA,HIGH);
}
else if (positionAxe2>700) { 
  digitalWrite(MotB,HIGH);
}
else if (positionAxe2<300) {
   digitalWrite(MotB,HIGH);
} 
else if (analogRead(JoyStick_Z)) {
   digitalWrite(MotA,LOW);
   digitalWrite(MotB,LOW);
   
} 

while(1); // stop loop
} 
// fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************