Le servomoteur SG90 est un servomoteur petit et léger couramment utilisé dans la robotique, les véhicules RC et d'autres projets nécessitant un contrôle d'angle précis. Dans ce tutoriel, nous vous montrerons comment interfacer le servomoteur SG90 avec un Arduino.
Ce dont vous aurez besoin
- Motor SG90
- Board Arduino (par exemple, Uno, Mega, Nano)
- Planche à pain
- Fils de cavalier
- Alimentation externe (facultative pour plusieurs servos)
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le servomoteur SG90
Le servomoteur SG90 a trois épingles:
Broche SG90 | Fonction |
---|---|
Brun | Terre (GND) |
Rouge | Power (VCC) |
Orange | Signal (PWM) |
Note: Le servomoteur fonctionne à 4,8 V-6V. Si vous alimentez plusieurs servos, utilisez une alimentation externe.
Étape 2: Câblage du SG90 à Arduino
Voici comment connecter le servomoteur SG90 à l'Arduino Uno:
Broche SG90 | Épingle arduino |
---|---|
Brun | GND |
Rouge | 5V |
Orange | PIN 9 |
Étape 3: Installez la bibliothèque servo
L'IDE Arduino comprend une bibliothèque de servo intégrée, vous n'avez donc pas besoin d'installer quoi que ce soit de plus.
Étape 4: Téléchargez le code
Voici un exemple simple de code pour contrôler le servomoteur SG90:
#include <Servo.h>
Servo myServo; // Create a Servo object
void setup() {
myServo.attach(9); // Attach the servo to pin 9
Serial.begin(9600);
Serial.println("SG90 Servo Test");
}
void loop() {
for (int angle = 0; angle <= 180; angle += 1) { // Sweep from 0 to 180 degrees
myServo.write(angle); // Set servo to angle
delay(15); // Wait for the servo to reach the position
}
for (int angle = 180; angle >= 0; angle -= 1) { // Sweep from 180 to 0 degrees
myServo.write(angle); // Set servo to angle
delay(15); // Wait for the servo to reach the position
}
}
Étape 5: tester la configuration
- Connectez votre Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port de Outils menu.
- Téléchargez le code en cliquant sur le Télécharger bouton.
- Une fois le code téléchargé, le servomoteur commencera à balayer de 0 à 180 degrés et en continu.
Étape 6: Contrôle du servo dynamiquement
Vous pouvez également contrôler le servo dynamiquement à l'aide du moniteur série. Voici un exemple:
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9);
Serial.begin(9600);
Serial.println("Enter an angle (0-180):");
}
void loop() {
if (Serial.available()) {
int angle = Serial.parseInt(); // Read the angle from Serial Monitor
if (angle >= 0 && angle <= 180) {
myServo.write(angle);
Serial.print("Servo set to: ");
Serial.println(angle);
} else {
Serial.println("Invalid angle. Enter a value between 0 and 180.");
}
}
}
Dépannage
- Servo ne bouge pas: Vérifiez le câblage et assurez-vous que la bonne broche est définie dans le code.
- Servo en tremblant: Utilisez une alimentation externe pour fournir une puissance stable.
- Surchauffe du servo: Évitez de tenir le servo en position pendant une longue période sous charge.
Applications de SG90 Servo
- Bras robotiques
- Supports de caméra pan et inclinaison
- Véhicules RC
- Ouvre-portes automatisées
Conclusion
Vous avez réussi à interfacer le servomoteur SG90 avec Arduino et à contrôler sa position. La polyvalence et la facilité d'utilisation du SG90 le rendent idéal pour divers projets de bricolage et de robotique. Expérimentez avec différentes méthodes de contrôle et créez vos propres projets servants!