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
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
Pour plus d'informations, il faudrait que ta question soit plus claire
@+
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 !
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