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.
Photo du montage
Montage dans 123d.circuits.io
Attention : ici le sens des pattes du servo sont inversées par rapport à la photo. Les pistes + et - sont aussi inversées !
Le code
/* 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); }