Bonjour à toutes et à tous,
Je suis nouveau sur ce forum. Je suis un pationé d'informatique qui réalise des études dans ce domaine (Terminale STI2D). J'ai une question à vous poser : Mon programme devrait marcher en théorie, mais en pratique, il ne fonctionne pas. Il est bien compilé vers ma carte arduino mega 2560, mais il est buggé : les moteurs ne réagissent pas du tout comme prévu. Je soupçonne la variable de type string d'être responsable de tout ces bugs. Je tiens à préciser que j'ai utiliser un motor shield de marque Adafruit pour cette réalisation.
Voilà mon programme :
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_StepperMotor *myMotor1 = AFMS.getStepper(200, 1);
Adafruit_StepperMotor *myMotor2 = AFMS.getStepper(200, 2);
void setup() {
Serial.begin(9600);
AFMS.begin();
myMotor1->setSpeed(1000);
myMotor2->setSpeed(1000);
}
void loop()
{
while(Serial.available()>0)
{
String chaine="";
chaine = Serial.readStringUntil('\n');
if (chaine=="m1")
{
myMotor1->step(1000, FORWARD, SINGLE);
Serial.println(chaine);
chaine="";
}
if (chaine=="m2");
{
myMotor2->step(1000, FORWARD, SINGLE);
Serial.println(chaine);
chaine="";
}
if (chaine=="m3");
{
int i=0;
for (i=0;i=1000;i++)
{
myMotor1->step(1, FORWARD, SINGLE);
myMotor2->step(1, FORWARD, SINGLE);
}
Serial.println(chaine);
i=0;
chaine="";
}
}
}