Le servomoteur Arduino est un élément important dans la conception de divers robots et mécanismes. C'est un actionneur précis, qui dispose d'un retour d'information permettant de contrôler avec précision les mouvements des mécanismes. Considérons la structure et le principe de fonctionnement du servomoteur 3 points. Analysons des exemples simples de code pour le contrôle d'un servo en utilisant un potentiomètre et un bouton poussoir. Cours pour débuter sur Arduino. Pour cette activité, nous aurons besoin:
Arduino Uno / Arduino Nano / Arduino Mega;
le servo-moteur 3 points;
un potentiomètre Arduino;
un bouton-poussoir;
les fils de connexion. Fonctionnement servomoteur Arduino
Fonctionnement servo (conception du servomoteur)
Les servomoteurs sont largement utilisés pour simuler les mouvements mécaniques des robots. Un servomoteur se compose d'un capteur (vitesse, position, etc. ), d'une unité de commande d'entraînement provenant d'un système mécanique et de circuits électroniques. Les boîtes de vitesses du dispositif sont en métal, en carbone ou en plastique.
Pour cette expérience, j'ai branché un multimètre (réglé en mode "ohmmètre") aux pins 6 et 7. Résumé des connexions:
Potentiomètre
Arduino
1
10
2
13
3
11
4
GND
8
5 V
Programmation
À la lecture de la fiche technique, on constate que, pour régler la résistance, il faut envoyer au potentiomètre un premier message d'un octet indiquant la commande à effectuer. MENU LCD PAR POTENTIOMÈTRE - PlaisirArduino. Pour la commande "write data" (la seule qui me semble utile), il faut envoyer le nombre binaire xx01xx01 dans lequel la valeur des x n'a aucune importance. Si on remplace les x par des 0, on envoie donc le nombre binaire 00010001, qui correspond au nombre hexadécimal 11, ou tout simplement au nombre décimal 17. Il faut ensuite envoyer un deuxième message d'un octet: un nombre entre 0 et 255 qui indique à quelle valeur la résistance doit être réglée (0 pour la valeur minimale, 255 pour la valeur maximale). Voici donc un sketch qui règle d'abord la résistance à sa valeur minimale pendant 10 secondes (mon multimètre affiche alors 145 Ω), puis à sa valeur maximale (mon multimètre affiche 90.
Cours Pour Débuter Sur Arduino
On va donc réaliser un bargraphe à l'aide de 8 LED. 8 LED;
8 résistances de 220 Ω;
Circuit 14
XVIII-D. Code 20: fficher la valeur d'un potentiomètre à l'aide d'un bargraphe ▲
Le cas de ce code est très intéressant. Nous savons maintenant que nous avons 1024 paliers sur l'entrée analogique de l'Arduino. Lorsque l'Arduino reçoit la valeur de 1024, 8 LED devront être allumées. Ainsi, lorsqu'il recevra la valeur de 512, 4 LED devront être allumées (512 étant naturellement la moitié de 1024). On va donc diviser nos 1024 paliers par 8, pour obtenir l'intervalle qui allumera les LED les unes après les autres. Attention, on commence à compter à 0, pas à 1. Programme potentiomètre arduino uno. C'est la raison pour laquelle nos 1024 paliers se terminent à 1023. On arrive au résultat suivant:
LED1: de 0 à 127
LED2: de 128 à 255
LED3: de 256 à 383
LED4: de 384 à 511
LED5: de 512 à 639
LED6: de 640 à 767
LED7: de 768 à 895
LED8: de 769 à 1023
À partir de là, il suffit d'aller chercher la valeur reçue, qu'on va stocker dans la variable readValue, puis de la faire passer dans 8 tests à partir de if … else consécutifs.
Branchement servo-moteur avec Arduino et bouton-poussoir
Contrôler un servo moteur avec bouton-poussoir
int val = analogRead (A1); // lit la valeur actuelle du boutton
if (val < 512) { servo. write (0);}
if (val > 512) { servo. write (90);}}
Explication du code contrôler servo avec bouton-poussoir:
les valeurs de la variable val peuvent varier (tout dépend de la résistance du résistor dans le circuit) et peuvent prendre des valeurs comprises entre 0 et 1023. Programme potentiomètre arduino.cc. Conclusion. Les servomoteurs sont souvent utilisés dans divers projets Arduino pour diverses fonctions: faire tourner des structures, déplacer des pièces de mécanismes. Comme le servo-moteur Arduino s'efforce constamment de maintenir un angle de rotation donné, préparez-vous à une consommation d'énergie accrue. Cela sera particulièrement sensible dans les robots autonomes alimentés par des piles ou des batteries rechargeables.