Carte md 25

bonjour,
J'aimerais savoir comment faire avancer un robot pendant une durée choisie avec une carte md 25 relié a l'arduino en I2c
Merci de votre aide :slight_smile:

Bonjour,

Harold_P:
J'aimerais savoir comment faire avancer un robot pendant une durée choisie avec une carte md 25 relié a l'arduino en I2c

En faisant tourner les moteurs pendant la durée choisie :smiling_imp:
Pour plus d'informations, il faudrait que ta question soit plus claire :wink:
@+

Bonjour. Fort heureux de ta réponse, j’ai approfondie mes recherches. Il se trouve que la carte MD25, stop toutes actions, si elle ne reçoit aucune commandes pendant 2 secondes. Donc, j’ai trouvé que l’on pouvait modifier ce paramètre à l’adresse 0x32. Ceci dit, je ne sait pas comment on le change. J’ai mis en début de programme #define CMD_TIMEOUT_DISABLE 0x32 et j’ai tenté de faire un wire.write avec l’adresse mais sans réussite.

Voilà, merci d’avance ! :smiley:

Re,
Tu as un exemple d'utilisation ICI

Désolé mais nous avons des problèmes pour l’ouvrir.

En fait nous pensons avoir une piste d’après ce doc : http://www.robot-electronics.co.uk/htm/md25i2c.htm#command%20register

En voulant modifier le register j’ai procédé de la sorte :

#include <SoftwareSerial.h>
#include <Wire.h>

#define CMD                 0x10                        
                                                              // This is a but with arduino 1
#define MD25ADDRESS         0x58                              // Address of the MD25
#define SOFTWAREREG         0x0D                              // Byte to read the software version, Values of 0 eing sent using write have to be cast as a byte to stop them being misinterperted as NULL
#define SPEED1              (byte)0x00                        // Byte to send speed to first motor
#define SPEED2              0x01                              // Byte to send speed to second motor
#define CMD_TIMEOUT_DISABLE 0x32
int x;




void setup(){

  Wire.beginTransmission(MD25ADDRESS); 
  Wire.write(CMD);
  Wire.write(CMD_TIMEOUT_DISABLE);
  Wire.endTransmission();
  x = 165; //on rentre la valeur pour la puissance des moteurs