SG90 -servomotorn är en liten och lätt servomotor som vanligtvis används i robotik, RC -fordon och andra projekt som kräver exakt vinkelkontroll. I den här tutorialen visar vi dig hur du gränssnittet SG90 Servomotor med en Arduino.
Vad du behöver
- SG90 servomotor
- Arduino Board (t.ex. Uno, Mega, Nano)
- Bakbord
- Bulttrådar
- Extern strömförsörjning (valfritt för flera servon)
- En dator med Arduino Ide installerad
Steg 1: Förstå SG90 -servomotorn
SG90 -servomotorn har tre stift:
SG90 -stift | Fungera |
---|---|
Brun | Mark (GND) |
Röd | Power (VCC) |
Orange | Signal (PWM) |
Notera: Servomotorn arbetar vid 4,8V-6V. Om du driver flera servon använder du en extern strömförsörjning.
Steg 2: Kopplar SG90 till Arduino
Så här ansluter du SG90 Servomotorn till Arduino Uno:
SG90 -stift | Arduinosnål |
---|---|
Brun | Gard |
Röd | 5V |
Orange | Stift 9 |
Steg 3: Installera servobiblioteket
Arduino IDE innehåller ett inbyggt servobibliotek, så du behöver inte installera något extra.
Steg 4: Ladda upp koden
Här är en enkel exempelkod för att styra SG90 -servomotorn:
#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
}
}
Steg 5: Testa installationen
- Anslut din Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn från den Verktyg meny.
- Ladda upp koden genom att klicka på Ladda upp knapp.
- När koden har laddats upp börjar servomotorn svepa från 0 till 180 grader och tillbaka kontinuerligt.
Steg 6: Kontrollera servo dynamiskt
Du kan också styra servo dynamiskt med seriell monitor. Här är ett exempel:
#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.");
}
}
}
Felsökning
- Servo rör sig inte: Kontrollera ledningarna och se till att rätt stift definieras i koden.
- Jittering servo: Använd en extern strömförsörjning för att ge stabil kraft.
- Servoöverhettning: Undvik att hålla servon i en position under lång tid under belastning.
Applikationer av SG90 -servo
- Robotarmar
- Pan-and-lutande kamerafästen
- RC -fordon
- Automatiserade dörröppnare
Slutsats
Du har framgångsrikt blandat SG90 Servomotorn med Arduino och kontrollerat sin position. SG90: s mångsidighet och användarvänlighet gör det idealiskt för olika DIY- och robotprojekt. Experimentera med olika kontrollmetoder och skapa dina egna servobrivna projekt!