moteur réducteur POLOLU avec arduino

Bonjour,

J’ai acheté un Moteur réducteur miniature “POLOLU 993” :
http://www.lextronic.notebleue.com/P4234-moteur-reducteur-miniature-pololu-993.html

J’aimerais le contrôler avec l’arduino uno, j’ai fait le programme suivant :

void setup()
{
pinMode(motorPin, OUTPUT);
}
/*
* loop() – this function will start after setup finishes and then repeat
* we call a function called motorOnThenOff()
*/
void loop()                     // run over and over again
{
motorOnThenOff();
//motorOnThenOffWithSpeed();
//motorAcceleration();
}
/*
* motorOnThenOff() – turns motor on then off
* (notice this code is identical to the code we used for
* the blinking LED)
*/
void motorOnThenOff(){
  int onTime = 2500;  //the number of milliseconds for the motor to turn on for
  int offTime = 1000; //the number of milliseconds for the motor to turn off for
  
  digitalWrite(motorPin, HIGH); // turns the motor On
  delay(onTime);                // waits for onTime milliseconds
  digitalWrite(motorPin, LOW);  // turns the motor Off
  delay(offTime);               // waits for offTime milliseconds
}
/*
* motorOnThenOffWithSpeed() – turns motor on then off but uses speed values as well
* (notice this code is identical to the code we used for
* the blinking LED)
*/
void motorOnThenOffWithSpeed(){
  
  int onSpeed = 200;  // a number between 0 (stopped) and 255 (full speed)
  int onTime = 2500;  //the number of milliseconds for the motor to turn on for
  
  int offSpeed = 50;  // a number between 0 (stopped) and 255 (full speed)
  int offTime = 1000; //the number of milliseconds for the motor to turn off for
  
  analogWrite(motorPin, onSpeed);   // turns the motor On
  delay(onTime);                    // waits for onTime milliseconds
  analogWrite(motorPin, offSpeed);  // turns the motor Off
  delay(offTime);                   // waits for offTime milliseconds
}
/*
* motorAcceleration() – accelerates the motor to full speed then
* back down to zero
*/
void motorAcceleration(){
  int delayTime = 50; //milliseconds between each speed step
  
  //Accelerates the motor
  for(int i = 0; i < 256; i++){ //goes through each speed from 0 to 255
    analogWrite(motorPin, i);   //sets the new speed
    delay(delayTime);           // waits for delayTime milliseconds
  }
  
  //Decelerates the motor
  for(int i = 255; i >= 0; i--){ //goes through each speed from 255 to 0
    analogWrite(motorPin, i);   //sets the new speed
    delay(delayTime);           // waits for delayTime milliseconds
  }
}

mais ça ne marche pas.

J’aimerais en fait construire un petit robot à roues, mais il faut d’abord que je contrôle ce moteur avec l’arduino, pourriez-vous m’aider en me donnant un programme qui fonctionne avec ce type de moteur ?

Savez-vous où on achète des fils électriques ?

J’ai aussi acheté un capteur infrarouge :
http://www.lextronic.fr/P1749-telemetre-infrarouge-sharp-gp2d120.html

Si vous avez un exemple de programme pour ça, merci.

Merci de votre aide.

L'arduino seul n'as pas assez de puissance pour faire tourner un moteur il faut utilisez un transistor de puissance pour ça ;) Pour controler un moteur il faut un truc dans ce genre par exemple: http://www.lextronic.fr/P5073-platine-de-commande-de-moteurs-dc.html

Pour les fils: http://www.lextronic.fr/P5500-assortiment-fils-de-cablage-multibrins---60-m.html (par exemple)

Et pour les servomoteurs, est-ce que c'est la même chose ?

Les servomoteur peuvent être directement contrôler par l'arduino. (l'électronique de commande se situe dans le servomoteur). Attention cependant un servomoteur n'as pas la même puissance qu'un motoréducteur et l'angle de rotation max est de 60° environ (sauf servomoteur à rotation continu).