Serwo SG90 Servo to mały i lekki silnik serwo powszechnie stosowany w robotykach, pojazdach RC i innych projektach wymagających dokładnej kontroli kąta. W tym samouczku pokażemy, jak połączyć silnik serwosowy SG90 z Arduino.
Czego będziesz potrzebować
- Silnik SG90 Servo
- Arduino Board (np. UNO, Mega, Nano)
- Tablica chleba
- Przewody zworki
- Zewnętrzny zasilacz (opcjonalnie dla wielu serwomosów)
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie silnika serwomechanizmu SG90
Serwo SG90 ma trzy szpilki:
SG90 PIN | Funkcjonować |
---|---|
Brązowy | Ground (GND) |
Czerwony | Power (VCC) |
Pomarańczowy | Sygnał (PWM) |
Notatka: Silnik serwo działa na poziomie 4,8 V-6 V. Jeśli zasilasz wiele serwotesów, użyj zewnętrznego zasilacza.
Krok 2: Okablowanie SG90 do Arduino
Oto jak podłączyć silnik serwo SG90 z Arduino Uno:
SG90 PIN | PIN Arduino |
---|---|
Brązowy | GND |
Czerwony | 5v |
Pomarańczowy | Pin 9 |
Krok 3: Zainstaluj bibliotekę serwomechanizmu
Arduino IDE zawiera wbudowaną bibliotekę serwomechanizmu, więc nie musisz instalować niczego dodatkowego.
Krok 4: Prześlij kod
Oto prosty przykładowy kod do sterowania silnikiem serwomechanizmu 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
}
}
Krok 5: Przetestuj konfigurację
- Podłącz swoje Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port z Narzędzia menu.
- Prześlij kod, klikając Wgrywać przycisk.
- Po przesłaniu kodu silnik serwo zacznie zamiatać od 0 do 180 stopni i nieustannie z powrotem.
Krok 6: dynamiczne kontrolowanie serwomechanizmu
Możesz także kontrolować dynamicznie serwo za pomocą monitora szeregowego. Oto przykład:
#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.");
}
}
}
Rozwiązywanie problemów
- Servo Nie porusza się: Sprawdź dwukrotnie okablowanie i upewnij się, że prawidłowy pin jest zdefiniowany w kodzie.
- Roztrzęsiający serwo: Użyj zewnętrznego zasilania, aby zapewnić stabilną zasilanie.
- Serwo przegrzanie: Unikaj trzymania serwomechanizmu w pozycji przez długi czas pod obciążeniem.
Zastosowania serwo SG90
- Robotyczne ramiona
- Mocowanie aparatu na patelni
- Pojazdy RC
- Zautomatyzowane otwieracze drzwi
Wniosek
Z powodzeniem połączyłeś silnik serwo SG90 z Arduino i kontrolowałeś jego pozycję. Wszechstronność i łatwość użytkowania SG90 sprawiają, że jest idealny do różnych projektów DIY i Robotics. Eksperymentuj z różnymi metodami kontroli i stwórz własne projekty zasilane serwotrami!