J'ai utilisé plusieurs de ces petits moteurs. C'est assez facile quand on a cerné leur fonctionnement et surtout compris les commandes possibles à l'aide de la bibliothèque Servo.h qui nous mâche le travail.
Rien ne vaut un exemple de programme qui fonctionne pour aider un copain, du moins c'est ma façon de voir.
Ci-joint, le petit commentaire que je rédige chaque fois que j'expérimente un nouveau domaine sur Arduino.
Je te joins également en fichier attaché le documentation que je me rédige chaque fois que j'étudie dans le détail une bibliothèque relative au C d'Arduino.
Voici le petit programme dont il est question dans mes notes personnelles :
// Test de pilotage d'un Servomoteur par gestion angulaire.
// Un potentiomètre sur une entrés analogique génère la valeur de l'angle de commande.
// Utilise la librairie Servo.h fournie d'origine dans l'IDE.
#include <Servo.h>
Servo ServoMoteur; // Identificateur du moteur.
const byte Entree_mesuree = 5; // Entrée analogique 5 utilisée.
const byte Sortie_PWM = 10; // Broche PWM 10 utilisée.
float CNA; // Mesure analogique retournée par le CNA.
// Attention : Déclarer en float et non en byte, car
// les décimales affichées seraient des zéros.
byte CNA_binaire; // Conversion sur un octet.
void setup() {
ServoMoteur.attach(10); // Servo commandé par la PWM 10.
Serial.begin(19200);
}
void loop() {
CNA = analogRead(Entree_mesuree); //Sens direct si moteur RS2 MG/BB.
// CNA = 1024-CNA ; // Inverser le sens si moteur c'est le MC-1811 qui est utilisé.
CNA_binaire = CNA / 5.69; // Génère une valeur comprise entre 0 et 180.
ServoMoteur.write(CNA_binaire); // Transmet la consigne au servomoteur.
// Serial.println(CNA_binaire); // Affiche la valeur de la consigne sur la ligne USB.
}
Avec ce programme tu branches un potentiomètre entre le +5Vcc et la masse. Tu relie son curseur à l'entrée analogique A5. Ton servomoteur piloté par la sortie binaire PWM (D 10) va suivre angulairement les consignes du potentiomètre.
Bibli-Servo.pdf (23.8 KB)
Servomoteurs.pdf (76.9 KB)