Ceci est une ancienne révision du document !


Tuto Arduino - Servo

Faire fonctionner un servomoteur de modéliste à l'aide d'une Arduino UNO et d'un potentiomètre 1Kohms.

On fait appel à la librairie Servo.h de l'environement Arduino.

Attention : ici le sens des pattes du servo sont inversées par rapport à la photo. Les pistes + et - sont aussi inversées !

/*
Un potentiomètre 1Kohms sert de commande pour actionner un servomoteur
*/
 
 
#include <Servo.h> 
 
const int analogInPin = A0; // Numéro de la broche à laquelle est connecté 
                            // le potentiomètre (fil du milieu)
const int servo      = 9;   // Numéro de pin du servomoteur.
const int DEG_CORR   = 1;   // Facteur étalonnage du mouvement angulaire.
Servo myServo;              // Créé un "objet" de la classe Servo, nommé "myServo".
int pos = 20;               // Position du servomoteur, compteur utilisé dans les boucles.
int sensorValue = 0;        // Valeur du potentiomètre
int angleValue = 0;         // Valeur envoyée au servomoteur
 
 
void setup() 
{
 
  pinMode(analogInPin, INPUT); // Indique que la broche analogInPin est une
                               // entrée analogique.
 
  myServo.attach(servo);       // Attache la pin du servo à l'objet "myservo".
 
}
 
 
void loop()
{
 
  // Lit la valeur de la photorésistance et
  // stocke le résultat dans sensorValue :
  sensorValue = analogRead(analogInPin);
 
  // Change sensorValue vers une intervalle de 0 à 180 (degrés)
  // et stocke le résultat dans angleValue :
  angleValue = map(sensorValue, 0, 1023, 0, 180) ;
 
  // Envoie l'angle désiré à l'objet myServo.
  myServo.write(angleValue);
 
  delay(33);
 
}