DFRduino Romeo et moteur cc

Bonjour j’ai récemment fait l’acquisition d’une carte DFRduino romeo censée pouvoir controler des moteurs.
Mes deux probleme sont que je n’arrive pas à arreter le moteur une fois lancé et que le moteur va très lentement en faisant une sorte de “bip” : je n’y comprend rien :s
voici mon code arduino :

int E1 = 5;     //M1 Speed Control
int E2 = 6;     //M2 Speed Control
int M1 = 4;    //M1 Direction Control
int M2 = 7;    //M1 Direction Control
int moveMotor = 0;
void stopper(void)                    //Stop
        {
          digitalWrite(E1,LOW);  
          digitalWrite(E2,LOW);     
        }  
void advance(char b)          //Move forward
        {   
          analogWrite (E2,b);   
          digitalWrite(M2,HIGH);
        } 
void back_off (char b)          //Move backward
        { 
          analogWrite (E2,b);   
          digitalWrite(M2,LOW);
}
void turn_L (char a)             //Turn Left
        {
          analogWrite (E1,a);
          digitalWrite(M1,LOW);   
        }
void turn_D (char a)             //Turn Right
        {
          analogWrite (E1,a);
          digitalWrite(M1,HIGH); 
        }
void setup(void)
{
    int i;
    for(i=6;i<=9;i++)
    pinMode(i, OUTPUT); 
    Serial.begin(9600);      //Set Baud Rate
     Serial.println("      Arduino Serial Motor Control");
     Serial.println();
}
void loop(void)
{
      // wait for serial input
  if (Serial.available() > 0) {
    // read the incoming byte:
    moveMotor = Serial.read();
 
    if (moveMotor == '1') { advance (100); }
    if (moveMotor == '2') { back_off (100); }
    if (moveMotor == '3') { turn_L (100); }
    if (moveMotor == '4') { turn_D (100); }
    if (moveMotor == '5') { stopper ; } 

  }
}

Merci d’avance :wink:

Remplace ta valeur analogique par 255 pour voir, car 100 c’est peu être trop faible pour faire tourner le moteur.

Merci cela fonctionne mieux mais par contre je ne peux toujours pas arrêter les moteurs une fois lancés :s

Salut,

Essaie avec

if (moveMotor == '5') { stopper() ; }

_ Merciii !!!!!!!! ÇA MARCHE !!!! Merci vraiment beaucoup :)

De rien :P

Sache qu'une fonction, même sans paramètre, doit toujours être suivie de ses parenthèses lors de son appel. Et que quand tu déclares une fonction sans paramètres, tu n'as pas besoin de mettre 'void' entre les parenthèses :)

Je débute alors merci pour ces précieux conseils ;)