Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

Avec Amazon prime vous bénéficiez de la livraison gratuite en 1 jours ouvré. 30 jours d’essais gratuits dans obligation d’abonnement!

Contrôler un Servo moteur avec Arduino – Tutoriel Arduino

Comment contrôler un Servo moteur avec Arduino

Le servomoteur en général, est un petit moteur ayant un axe de rotation de 0 à 180°. Il existe biensur des servomoteurs à rotation continue mais nous ne les verrons pas dans cet article.

LE servo de base, sans doute le moins chère est le Tower pro sg90. On le trouve a environ 2€. Celui dont on se sert pour s’amuser.

Spécifications d’un Servo Sg90:

  • Son poid : 9g pour un sg90.
  • Ses  dimension: 22.2 x 11.8 x 31 mm approximativement.
  • Son couple qui s’exprime en kg par cm : 1.8kg par cm.
  • La vitesse de rotation: 0.1 s pour 60 degree
  • Sa tension d’alimentation:  4.8 V (~5V)

Disponible ici

Niveau branchement, on part sur 3 cables:

  • Rouge : Alimentation (5V).
  • Noir ou marron : La masse.
  • Jaune, orange ou blanc : “Sig”,  c’est le signal, controlé par une sortie PWM.

Des tutos sur les servos, il y en à a la pelle.

Je vous met le code le plus simple qu’il y ai. Il se trouve directement dans les exemples de l’IDE: Fichiers -> Exemples -> Servo -> knob.

Le code est comme celui-ci, il sagit de commander un servo par le biais d’un potentiomètre.

Et l’image officiel d’Arduino.cc

knob_bb

         /* 
             Controlling a servo position using a potentiometer (variable resistor) 
             by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 

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

            #include <Servo.h> 
             
            Servo myservo;  // create servo object to control a servo 
             
            int potpin = 0;  // analog pin used to connect the potentiometer
            int val;    // variable to read the value from the analog pin 
             
            void setup() 
            { 
              myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
            } 
             
            void loop() 
            { 
              val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
              val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180) 
              myservo.write(val);                  // sets the servo position according to the scaled value 
              delay(15);                           // waits for the servo to get there 
            }

 

Pour ma part pour pouvoir tester mon servo directement, j’ai décidé de me passer du potentiomètre et de définir un déplacement bien spécifique et en boucle. Voici le code:  

            #include <Servo.h> 
             
            Servo myservo;  // create servo object to control a servo 
             

             
            void setup() 
            { 
              myservo.attach(9);  // On défini la pin 9 PWM
            } 
             
            void loop() 
            { 
              myservo.write(5);  // Positionnement du servo à 5°
              delay(1000);  // délais d'une seconde
              myservo.write(175); // Positionnement du servo à 175°            
              delay(1000);  // délais d'une seconde                   
            } 

 Il va pour commencer se positionner à 5°, patienter une seconde, se positionner à 175°, patienter une seconde, etc.. etc.. en boucle.

Pour mon modèle de servo, le SG90, un servo d’entrée de gamme. Son angle est de 0° à 180° Je le fais passer de 5 à 175 pour éviter le grésillement qu’il se passe lors qu’il est au bout ou au début de sa course.

  • Servomoteur SG90 pour modélisme & Arduino

3 Commentaires

  1. Salvator

    Bonjour, il serai possible d’avoir un schéma avec le potentimètre si possible.
    Merci 😉 et très bon boulot pour les tutos , très simple à comprendre .

    Réponse
    • leroyd

      Bonjour salvator,

      Voilà qui est fais j’ai ajouter l’image dans l’article. Il s’agit du schéma officiel vu que j’utilise dans le code avec potentiomètre le script par défaut présent dans l’IDE 🙂

      à bientôt

      Réponse
      • Salvator

        Merci beaucoup 😉

        Réponse

Soumettre un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Inscrivez-vous a la newsletter

Inscrivez-vous a la newsletter

Soyez les premiers avertis de nouveaux tutos, mises à jours, bon plans,...

Merci et à bientôt!

Pin It on Pinterest

Share This