Contrôler un servo avec un Arduino et une alimentation extérieure

Contrôler un servo avec un Arduino et une alimentation extérieure

Voici un exemple rapide qui permet de comprendre comment contrôler un servo avec un Arduino. La particularité de ce montage est d’utiliser une alimentation indépendante pour le servo. En effet, un servo peut générer un courant plus important que ce qui est admis par l’alimentation fournie par l’Arduino. C’est vrai si on veut contrôler plusieurs servos.

Dans ce cas, il faut faire attention à connecter les masses des deux alimentations ensembles. Sinon le servo ne suit pas la consigne donnée par la carte Arduino.

Voici le montage ainsi que le code fonctionnel. Une entrée dans la console Série permet de donner la consigne au servo et de le voir bouger. (Ouvrez le montage dans Tinkercad en liquant sur le logo coloré pour qu’il soit plus aisé de voir code, montage et console Série en même temps).

Et ici on reproduit le code:

#include <Servo.h> // Include Servo library

Servo servo; // Instanciate Servo object
int position; // Declare variable to store servo position

// Setup procedure (executed once)
void setup() {
  Serial.begin(9600); // Serial comm begin at 9600bps
  servo.attach(9);// Declare servo pin as Arduino pin 9. Pin 2 to 13 can be used for servos.
}

// Loop procedure (executed endlessly)
void loop() {
  if (Serial.available()) // When serial stream is available, allow reading
  {
    position = Serial.parseInt(); // Parse Serial buffer looking for int
    servo.write(position); // Set position value to servo object
    delay(20);// Wait for Servo to reach position before reading Serial again
  }
}

1 Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *