De SG90 -servomotor is een kleine en lichtgewicht servomotor die vaak wordt gebruikt in robotica, RC -voertuigen en andere projecten die nauwkeurige hoekregeling vereisen. In deze zelfstudie laten we u zien hoe u de SG90 -servomotor met een Arduino kunt koppelen.
Wat u nodig hebt
- SG90 -servomotor
- Arduino Board (bijv. UNO, Mega, Nano)
- Breadboard
- Jumper draden
- Externe voeding (optioneel voor meerdere servo's)
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de SG90 -servomotor
De SG90 -servomotor heeft drie pennen:
SG90 -pin | Functie |
---|---|
Bruin | Grond (GND) |
Rood | Power (VCC) |
Oranje | Signaal (PWM) |
Opmerking: De servomotor werkt op 4.8V-6V. Als u meerdere servo's voedt, gebruikt u een externe voeding.
Stap 2: De SG90 bedraden aan Arduino
Hier leest u hoe u de SG90 -servomotor aansluit op de Arduino Uno:
SG90 -pin | Arduino Pin |
---|---|
Bruin | GND |
Rood | 5V |
Oranje | Pin 9 |
Stap 3: Installeer de servo -bibliotheek
De Arduino IDE bevat een ingebouwde servo-bibliotheek, dus u hoeft niets extra te installeren.
Stap 4: Upload de code
Hier is een eenvoudige voorbeeldcode om de SG90 -servomotor te bedienen:
#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
}
}
Stap 5: Test de installatie
- Sluit uw Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven van de Hulpmiddelen menu.
- Upload de code door te klikken Uploaden knop.
- Zodra de code is geüpload, begint de servomotor van 0 naar 180 graden te vegen en continu terug.
Stap 6: Dynamisch de servo besturen
U kunt de servo ook dynamisch regelen met behulp van de seriële monitor. Hier is een voorbeeld:
#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.");
}
}
}
Problemen oplossen
- Servo niet bewegen: Controleer de bedrading dubbel en zorg ervoor dat de juiste pin in de code is gedefinieerd.
- Jittering Servo: Gebruik een externe voeding om stabiele stroom te leveren.
- Servo oververhitting: Houd de servo niet lang onder lading in een positie.
Toepassingen van SG90 Servo
- Robotachtige armen
- Pan-and-Tilt camerabevestigingen
- RC -voertuigen
- Geautomatiseerde deuropeners
Conclusie
Je hebt met succes de SG90 -servomotor met Arduino gekoppeld en zijn positie geregeld. De veelzijdigheid en gebruiksgemak van de SG90 maken het ideaal voor verschillende doe -het -zelf- en robotica -projecten. Experimenteer met verschillende besturingsmethoden en maak uw eigen servo-aangedreven projecten!