Ligne 5 : | Ligne 5 : | ||
|Cost=5 | |Cost=5 | ||
|Currency=EUR (€) | |Currency=EUR (€) | ||
− | |ItemLongDescription=Il existe deux types de servomoteurs : | + | |ItemLongDescription=Il existe deux types de servomoteurs : |
− | |||
+ | * "'''classiques'''", qui permettent de se positionner à un angle entre 0 et 180°, | ||
+ | * et "'''à rotation continue'''", tel que celui-ci, où l'angle est remplacé par une vitesse (et un sens de rotation). | ||
Ces servomoteurs ont trois connexions : 2 pour l'alimentation (GND et 5V), et la troisième est utilisée pour définir l'angle ou la vitesse de rotation, qui va dépendre du signal reçu. Celui-ci est de type PWM (Pulse-Width Modulation = modulation de largeur d'impulsion). Cela signifie qu'on utilise simplement une des sorties numériques ('pins') du microcontrôleur, où l'on va alterner les 0 et les 1. C'est la durée pendant laquelle on reste en position 1, qui donnera la valeur considérée par le servomoteur :<br />{{#annotatedImageLight:Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|0=1094px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=(image Signal PWM servomoteur)|align=center|src=https://www.wikidebrouillard.org/images/4/4f/Item-micro-servo_a_rotation_continue_Signal_servomoteur.jpg|href=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|resource=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|caption=Signal PWM servomoteur|size=1094px}} | Ces servomoteurs ont trois connexions : 2 pour l'alimentation (GND et 5V), et la troisième est utilisée pour définir l'angle ou la vitesse de rotation, qui va dépendre du signal reçu. Celui-ci est de type PWM (Pulse-Width Modulation = modulation de largeur d'impulsion). Cela signifie qu'on utilise simplement une des sorties numériques ('pins') du microcontrôleur, où l'on va alterner les 0 et les 1. C'est la durée pendant laquelle on reste en position 1, qui donnera la valeur considérée par le servomoteur :<br />{{#annotatedImageLight:Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|0=1094px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=(image Signal PWM servomoteur)|align=center|src=https://www.wikidebrouillard.org/images/4/4f/Item-micro-servo_a_rotation_continue_Signal_servomoteur.jpg|href=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|resource=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|caption=Signal PWM servomoteur|size=1094px}} | ||
Ligne 15 : | Ligne 16 : | ||
− | '''MAIS PAS DE PANIQUE ! :-)''' ... | + | '''MAIS PAS DE PANIQUE ! :-)''' ... |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | La bibliothèque "Servo.h" du logiciel Arduino, facilite grandement l'utilisation d'un servomoteur. | |
− | + | Une fois déclaré, l'activation du servomoteur se fait via | |
− | / | + | [nom du servo].write(A/V); |
− | + | où A/V est une valeur entre 0 et 180, et qui donne l'angle (servo classique), ou la vitesse (servo à rotation continue). | |
− | '''Caractéristiques techniques :''' | + | '''Caractéristiques techniques :'''<br /> |
− | <br /> | ||
*Dimensions : 23,2 x 12,5 x 22 mm | *Dimensions : 23,2 x 12,5 x 22 mm | ||
Ligne 63 : | Ligne 42 : | ||
*Type de moteur : Métal | *Type de moteur : Métal | ||
*Longueur du fil : 20 cm | *Longueur du fil : 20 cm | ||
+ | |||
+ | == Code Minimal == | ||
+ | |||
+ | |||
+ | Le servomoteur à rotation continu se pilote en fonction de la valeur de l'angle qu'on lui donne, comme ceci : | ||
+ | |||
+ | * à 90 il est immobile. | ||
+ | * entre 0 et 90 il tourne dans un sens | ||
+ | * entre 90 et 180 il tourne dans l'autre sens. | ||
+ | |||
+ | |||
+ | {| class="wikitable" cellspacing="0" border="0" | ||
+ | | height="17" bgcolor="#999999" align="left" | | ||
+ | | valign="middle" bgcolor="#999999" align="center" | | ||
+ | | bgcolor="#999999" align="center" |Servo moteur | ||
+ | |- | ||
+ | | rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque | ||
+ | | valign="middle" align="left" |#include <Servo.h> | ||
+ | |- | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Création de l’objet | ||
+ | | valign="middle" align="left" |Servo monservo; | ||
+ | |- | ||
+ | | valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet | ||
+ | | valign="middle" align="left" |monservo.attach(broche du servo); | ||
+ | |- | ||
+ | | valign="middle" height="28" bgcolor="#999999" align="center" |Dans le Loop | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Utilisation | ||
+ | | valign="middle" align="left" |monservo.write(180);<br /> | ||
+ | |}<br /><syntaxhighlight lang="arduino" line="1"> | ||
+ | #include <Servo.h> //importation de la bibliothèque servo | ||
+ | |||
+ | Servo monservo; // Création de l'objet monservo | ||
+ | |||
+ | void setup() { | ||
+ | monservo.attach(12); //Démarrage de l'objet | ||
+ | |||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | monservo.write(180); // En avant toute ! | ||
+ | delay(1000); // pendant une seconde | ||
+ | monservo.write(0); // En arrière toute ! | ||
+ | delay(1000); // pendant une seconde | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Pour les servomoteur ordinaires, voir [[Item:Servomoteur]] | ||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
|Complete=Published | |Complete=Published | ||
}} | }} |
Ce petit moteur peut être alimenté directement depuis un microcontrôleur de type Arduino ou D1 mini, à l'aide de la bibliothèque "servo.h".
Il existe deux types de servomoteurs :
(les graphiques ne sont pas à l'échelle, la durée du "1" va de 2ms à 10 ms sur un cycle de 20 ms)
MAIS PAS DE PANIQUE ! :-) ...
La bibliothèque "Servo.h" du logiciel Arduino, facilite grandement l'utilisation d'un servomoteur.
Une fois déclaré, l'activation du servomoteur se fait via
[nom du servo].write(A/V);
où A/V est une valeur entre 0 et 180, et qui donne l'angle (servo classique), ou la vitesse (servo à rotation continue).
Caractéristiques techniques :
Le servomoteur à rotation continu se pilote en fonction de la valeur de l'angle qu'on lui donne, comme ceci :
Servo moteur | ||
Avant le Setup | Importation de la bibliothèque | #include <Servo.h> |
Création de l’objet | Servo monservo; | |
Dans le Setup | Démarrage de l’objet | monservo.attach(broche du servo); |
Dans le Loop | Utilisation | monservo.write(180); |
1 #include <Servo.h> //importation de la bibliothèque servo
2
3 Servo monservo; // Création de l'objet monservo
4
5 void setup() {
6 monservo.attach(12); //Démarrage de l'objet
7
8 }
9
10 void loop() {
11 monservo.write(180); // En avant toute !
12 delay(1000); // pendant une seconde
13 monservo.write(0); // En arrière toute !
14 delay(1000); // pendant une seconde
15 }
Pour les servomoteur ordinaires, voir Item:Servomoteur
Item-micro-servo___rotation_continue_micro-servo-a-rotation-continue-fs90r.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #