| 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); |
#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
}
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #