Académique Documents
Professionnel Documents
Culture Documents
Ils sont utiles dans de nombreux projets de robotique, comme pour faire
tourner les roues avant sur un modèle RC pour diriger ou faire pivoter un
capteur pour regarder autour d'un véhicule robotique.
Qu'est-ce que Servo?
Servo est un terme général pour un système de contrôle en boucle fermée .
Si l'impulsion est élevée pendant 1,5 ms, alors le servo sera à sa position
centrale.
Brochage du servomoteur
Les servomoteurs ont généralement trois connexions et sont les suivants:
Si vous avez un servo qui consomme plus de 250 mA, pensez à utiliser une
alimentation séparée pour votre servo.
Connectez le fil rouge au 5V sur Arduino (ou prise CC) et le fil noir / marron à
la terre. Enfin, connectez le fil orange / jaune à la broche 9 activée par PWM.
#include <Servo.h>
int servoPin = 9;
Servo servo;
int angle = 0; // servo position in degrees
void setup() {
servo.attach(servoPin);
}
void loop() {
Explication:
Contrôler les servos n'est pas une tâche facile, mais heureusement pour nous,
Arduino IDE contient déjà une très belle bibliothèque appelée Servo . Il
comprend des commandes simples afin que vous puissiez rapidement
demander au servo de se tourner vers un angle particulier.
#include <Servo.h>
int servoPin = 9;
Servo servo;
Vous pouvez en fait définir jusqu'à huit servos de cette manière, par exemple,
si nous avions deux servos, alors nous pourrions écrire quelque chose comme
ceci:
Servo servo1;
Servo servo2;
int angle = 0;
servo.attach(servoPin);
servo.write(angle);
Dépannage
Parfois, votre servo peut mal se comporter si vous décidez de l'exécuter
directement à partir de l'Arduino. La raison en est que le servo consomme une
puissance considérable, en particulier lors du démarrage, ce qui peut entraîner
la réinitialisation de la carte Arduino.
Ce projet peut être très utile lorsque vous souhaitez contrôler le panoramique
et l'inclinaison d'un capteur connecté au servo.
Câblage
Comme le montre le schéma de câblage, vous aurez besoin d'un
potentiomètre, toute valeur à partir de 10k sera OK. Connectez une extrémité
du pot à la terre, l'autre extrémité à l'Arduino 5V et l'essuie-glace à l'entrée
analogique A0.
Code Arduino
Le code permettant au servo de suivre la position du bouton est plus simple
que de le faire balayer.
#include <Servo.h>
int potPin = 0;
int servoPin = 9;
Servo servo;
void setup() {
servo.attach(servoPin);
}
void loop() {
int reading = analogRead(potPin);
int angle = map(reading, 0, 1023, 0, 180);
servo.write(angle);
}
Cela nous donne une valeur comprise entre 0 et 1023. Mais nous devons la
réduire, car le servo ne peut tourner que de 180 degrés.
servo.write(angle);