Soykann
GadgetEfsanesi
Merhaba, Arduino kullanarak motor kontrolü yapmak için bir uygulama üzerinde çalışıyorum. Aşağıdaki kodu kullandım, motorun sağa ve sola dönüşünü kontrol etmek için PWM değeriyle hız ayarı yaptım. Kod şu şekilde:
Sorularım:
1. PWM değeri çok düşük olduğunda motor dönmüyor. Hangi minimum değeri önerirsiniz?
2. Motoru daha hızlı döndürmek için PWM değerini nasıl optimize edebilirim?
3. Kodda iyileştirme veya eklenebilecek önerileriniz var mı?
Teşekkürler!
C++:
// Motor pin tanımlamaları
const int motorPin1 = 8; // IN1
const int motorPin2 = 9; // IN2
const int enablePin = 10; // ENA
// Motor hız ayarları
const int pwmValue = 50; // PWM değeri (0-255 arası, düşük değerlerle başla)
const unsigned long duration = 30000; // 30 saniye (ms)
void setup() {
// Motor pinlerini çıkış olarak ayarlama
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
// Motoru açma
digitalWrite(enablePin, HIGH);
}
void loop() {
// Motoru sağa döndürme
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
analogWrite(enablePin, pwmValue); // PWM ile motor hızını ayarlama
delay(duration); // 30 saniye döndür
// Motoru durdurma
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
analogWrite(enablePin, 0); // Motoru durdurma
delay(10000); // 10 saniye bekle
// Motoru sola döndürme
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
analogWrite(enablePin, pwmValue); // PWM ile motor hızını ayarlama
delay(duration); // 30 saniye döndür
// Motoru durdurma
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
analogWrite(enablePin, 0); // Motoru durdurma
delay(10000); // 10 saniye bekle
// Tekrar döngüyü başlat
}
Sorularım:
1. PWM değeri çok düşük olduğunda motor dönmüyor. Hangi minimum değeri önerirsiniz?
2. Motoru daha hızlı döndürmek için PWM değerini nasıl optimize edebilirim?
3. Kodda iyileştirme veya eklenebilecek önerileriniz var mı?
Teşekkürler!