« Utilisation d'un servo moteur » : différence entre les versions
Aller à la navigation
Aller à la recherche
(→Code source : Correction) |
m (Administrateur a déplacé la page Utilisation d'un servo analogique vers Utilisation d'un servo moteur) |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 22 : | Ligne 22 : | ||
// Attache le servo à la broche 9 de l'Arduino |
// Attache le servo à la broche 9 de l'Arduino |
||
monservo.attach(9); |
monservo.attach(9); |
||
Serial.begin(9600); |
|||
} |
} |
||
Ligne 31 : | Ligne 30 : | ||
for(int angle = 0; angle <= 180; angle ++) { |
for(int angle = 0; angle <= 180; angle ++) { |
||
monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » |
monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » |
||
Serial.println(angle); |
|||
delay(15); |
delay(15); |
||
} |
} |
||
Ligne 37 : | Ligne 35 : | ||
for(int angle = 180; angle >= 0; angle --) { |
for(int angle = 180; angle >= 0; angle --) { |
||
monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » |
monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » |
||
Serial.println(angle); |
|||
delay(15); |
delay(15); |
||
} |
} |
Dernière version du 20 septembre 2015 à 07:53
Notes
- Fonctionnement d'un servo moteur : impulsions toutes les 20 ms (au plus), durée d'impulsion de 1 ms à 2 ms => angle de 0° à 180°
Branchement
- La broche 5V de l'Arduino sur le fil rouge / orange du servo moteur
- La broche GND de l'Arduino sur le fil noir / marron du servo moteur
- La broche 9 de l'Arduino sur le fil blanc / jaune du servo moteur
Code source
#include <Servo.h> Servo monservo; // Objet de contrôle du servo moteur // La fonction setup est exécutée une unique fois quand on appuie sur le bouton RESET ou alimente la carte void setup() { // Attache le servo à la broche 9 de l'Arduino monservo.attach(9); } // La fonction loop est exécutée indéfiniment void loop(){ // On va parcourir tous les angles de 0° à 180°, par pas de 1° for(int angle = 0; angle <= 180; angle ++) { monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » delay(15); } // On va parcourir tous les angles de 180° à 0°, par pas de 1° for(int angle = 180; angle >= 0; angle --) { monservo.write(angle); // On demande au servo moteur de se placer à l'angle « angle » delay(15); } }