Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
documentation:arduino:tutos:servo [2015/03/05 13:26]
admin créée
documentation:arduino:tutos:servo [2015/03/10 15:22]
admin ancienne révision (2015/03/10 15:16) restaurée
Ligne 2: Ligne 2:
  
 ====== Tuto Arduino - Servo ====== ====== 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 =====
 +
 +
 +{{:​documentation:​arduino:​tutos:​servo:​dsc00061.jpg?​600|}}
 +
 +===== 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 !//
 +{{:​documentation:​arduino:​tutos:​servo:​servo-breadboard-sim.png?​600|}}
 +
 +
 +===== Le code =====
  
 <code c> <code c>
Ligne 12: Ligne 30:
  
 const int analogInPin = A0; // Numéro de la broche à laquelle est connecté ​ const int analogInPin = A0; // Numéro de la broche à laquelle est connecté ​
-                            // le potentiometre ​(fil du milieu) +                            // le potentiomètre ​(fil du milieu) 
-const int servo      = 9;   // Numéro de pin du servo.+const int servo      = 9;   // Numéro de pin du servomoteur.
 const int DEG_CORR ​  = 1;   // Facteur étalonnage du mouvement angulaire. const int DEG_CORR ​  = 1;   // Facteur étalonnage du mouvement angulaire.
-Servo myServo; ​             // Créé un "​objet"​ de type servo, nommé "myservo"+Servo myServo; ​             // Créé un "​objet"​ de la classe Servo, nommé "myServo". 
-int pos = 20;               // Position servo, compteur utilisé dans les boucles+int sensorValue = 0;        // Valeur ​du potentiomètre 
-int sensorValue = 0;        // Valeur ​lue sur la photorésistance +int angleValue = 0;         // Valeur envoyée au servomoteur
-int angleValue = 0;         // Valeur envoyée au buzzer+
  
  
Ligne 27: Ligne 44:
                                // entrée analogique.                                // entrée analogique.
  
-  ​int sensorValue = 0;         // Valeur lue sur la photorésistance +  myServo.attach(servo); ​      // ​Attache ​la pin du servo à l'​objet "​myservo"​.
- +
-  ​myServo.attach(servo); ​      // ​attache ​la pin du servo sur l'​objet "​myservo"​.+
  
 } }
Ligne 37: Ligne 52:
 { {
  
-  // lit la valeur de la photorésistance et+  // Lit la valeur de la photorésistance et
   // stocke le résultat dans sensorValue :   // stocke le résultat dans sensorValue :
   sensorValue = analogRead(analogInPin);​   sensorValue = analogRead(analogInPin);​
  
-  // change ​sensorValue vers une intervalle de 0 à 180 (degrés)+  // Change ​sensorValue vers une intervalle de 0 à 180 (degrés)
   // et stocke le résultat dans angleValue :   // et stocke le résultat dans angleValue :
   angleValue = map(sensorValue,​ 0, 1023, 0, 180) ;   angleValue = map(sensorValue,​ 0, 1023, 0, 180) ;
  
 +  // Envoie l'​angle désiré à l'​objet myServo.
   myServo.write(angleValue);​   myServo.write(angleValue);​