B02 – Servomoteur

Servomoteur

Un servomoteur est composé d’un semble électromécanique, capable d’effectuer des mouvements d’un amplitude de 180°. Ils sont passablement utilisée en modélisme, où ils actionnent les volets et ailerons sur un avion, la direction sur une voiture.

Principe de fonctionnement

On utilise une librairie spécialisé (Servo), qui permet de définir le mode de fonctionnement du servo et ses connexions.

Le schéma de branchement est le suivant :

Branchement d’un servomoteur

Le code

L’exemple qui suit, qui est basé sur l’exemple proposé sur le site d’Arduino.

/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.

 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

Laisser un commentaire