Commander une Del avec Ardublock Déscriptif de la carte Arduino Installer Ardublock Faire de la musique avec Arduino Commander un Servomoteur Contrôler un robot avec le LM293 et un joystick utiliser un Joystick Contrôler un moteur avec le LM293 Photoresistance et hystérésis interrupteur et rebond Mesurer un champ électrique Communiquer en 433MHz Commander une diode en fonction de la lumière avec Arduino Oscilloscope avec Processing commander l’Arduino par IR Communiquer sans fil avec Arduino Fabriquer une PlacTest pour Arduino
Accueil du site | Accessibilité | Rechercher | Menu | Contenu | Plan du site | | Contact

°°TechNoLand°°

°°TechNoLand°°

 
Voir en ligne

Commander un Servomoteur

23 mai 2013 - Dernier ajout 25 mars 2014
par chamayou

Un servo-moteur est un type de moteur électrique. C’est un dispositif typiquement utilisé en modélisme pour, par exemple, contrôler la direction d’une voiture télécommandée.

Sur un servo-moteur, l’angle de l’axe reste fixé dans une position et peu varier entre 0 et 180° en fonction du signal envoyé. Un servo-moteur comprend :

Un moteur électrique (continu), généralement assez petit. Des engrenages réducteur en sortie du ce moteur (pour avoir moins de vitesse et plus de couple ou de force). Un capteur type "potentiomètre" raccordé sur la sortie. Il s’agit d’une résistance qui varie en fonction de l’angle, ce qui permet de mesurer l’angle de rotation sur l’axe de sortie. Un asservissement électronique pour contrôler la position/rotation, de cet axe de sortie pour le maintenir à la bonne position.

 Montage :

Brancher le servo sur la sortie (Output) O0 du TinkerKit !

La sortie O0 correspond à la sortie 11 de l’Arduino

 Programme :

 Le neutre du servomoteur :

#include <Servo.h>
Servo servo;
void setup()

{
 servo.attach(11); // On attache le servomoteur à la patte 10 de l'arduino
 Serial.begin(9600); // On va envoyer des informations à l'ordinateur grâce à ce port
}

void loop()

{
 int i = 0;
  while(i <= 180)
  {
     servo.write(i); //On fait avancer le servomoteur de 5 en 5, de 0 jusqu'à 180  
     Serial.println(i); //On affiche la valeur en cours de l'angle  
     delay(1000); // On attend une seconde pour avoir le temps de lire la valeur qui nous interesse
    i = i+5;  
  }
  while(i >= 180)
  {
     servo.write(i); //on fait reculer ensuite le servomoteur
     Serial.println(i);
     delay(1000);
    i = i-5;  
  }
}

calle

calle