SG90 Servo motoru, robotik, RC araçları ve hassas açı kontrolü gerektiren diğer projelerde yaygın olarak kullanılan küçük ve hafif bir servo motordur. Bu öğreticide, SG90 Servo motorunu bir Arduino ile nasıl arayüz edeceğinizi göstereceğiz.
Ne İhtiyacınız Olacak
- SG90 Servo Motoru
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard
- Jumper telleri
- Harici güç kaynağı (çoklu servolar için isteğe bağlı)
- Arduino IDE kurulu bir bilgisayar
1. Adım: SG90 Servo Motorunu Anlamak
SG90 Servo motorunun üç pimi vardır:
SG90 PIN | İşlev |
---|---|
Kahverengi | Zemin (GND) |
Kırmızı | Güç (VCC) |
Turuncu | Sinyal (PWM) |
Not: Servo motoru 4.8V-6V'de çalışır. Birden fazla servo güç veriyorsanız, harici bir güç kaynağı kullanın.
Adım 2: SG90'ı Arduino'ya bağlama
SG90 Servo motorunu Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:
SG90 PIN | Arduino pimi |
---|---|
Kahverengi | Gnd |
Kırmızı | 5V |
Turuncu | Pin 9 |
Adım 3: Servo kitaplığını yükleyin
Arduino IDE yerleşik bir servo kütüphanesi içerir, bu nedenle ekstra bir şey yüklemenize gerek yoktur.
4. Adım: Kodu yükleyin
İşte SG90 Servo motorunu kontrol etmek için basit bir örnek kod:
#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
}
}
Adım 5: Kurulumu test edin
- Arduino'nuzu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman ondan Aletler menü.
- Kodu tıklayarak yükleyin. Yüklemek düğme.
- Kod yüklendikten sonra, Servo motoru 0'dan 180 dereceye kadar süpürmeye başlayacak ve sürekli olarak geri olacaktır.
Adım 6: Servo'nun dinamik olarak kontrol edilmesi
Seri monitörü kullanarak servoyu dinamik olarak kontrol edebilirsiniz. İşte bir örnek:
#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.");
}
}
}
Sorun giderme
- Servo hareket etmiyor: Kabloları çift kontrol edin ve doğru pimin kodda tanımlandığından emin olun.
- Jittering Servo: Kararlı güç sağlamak için harici bir güç kaynağı kullanın.
- Servo aşırı ısınma: Servoyu yük altında uzun süre bir konumda tutmaktan kaçının.
SG90 Servo uygulamaları
- Robot kolları
- Pan-ve Tent Kamera Montajları
- RC araçları
- Otomatik kapı açıcıları
Çözüm
SG90 Servo motorunu Arduino ile başarıyla arayüz ettiniz ve konumunu kontrol ettiniz. SG90’ın çok yönlülüğü ve kullanım kolaylığı, çeşitli DIY ve robot projeleri için idealdir. Farklı kontrol yöntemlerini deneyin ve kendi servo destekli projelerinizi oluşturun!