Arduino ile motor kontrolü, robotik projelerden otomasyon sistemlerine kadar birçok uygulama için temel bir beceridir. Bu yazıda, bir DC motorun nasıl yönetileceğini adım adım öğreneceksiniz. Arduino kullanarak bir DC motoru kontrol etmek, çeşitli projelerde motor hızını ve yönünü ayarlamak için kullanışlı bir yöntemdir. İşte bu süreci baştan sona anlatan rehberimiz.
Gerekli Malzemeler ve Bağlantılar
Bir DC motoru Arduino ile kontrol etmek için aşağıdaki malzemelere ihtiyacınız olacak:
- Arduino kartı (Arduino Uno veya benzeri)
- DC motor
- Motor sürücü kartı (L298N veya benzeri)
- Güç kaynağı (motor için uygun voltajda)
- Jumper kabloları
- Breadboard (isteğe bağlı)
İlk olarak, motor sürücü kartını Arduino kartına bağlamalısınız. Motor sürücü kartının IN1 ve IN2 pinlerini Arduino’nun dijital pinlerine bağlayın (örneğin, D9 ve D10). Motorun iki kablosunu motor sürücü kartının çıkışlarına bağlayın ve motor sürücü kartının güç girişine motorun çalışması için gereken voltajı sağlayın. Bu bağlantılar, motoru Arduino ile kontrol edebilmeniz için gereklidir.
Arduino Kodunu Yazma ve Yükleme
Bağlantılar tamamlandıktan sonra, Arduino IDE'yi açın ve motoru kontrol etmek için aşağıdaki kodu kullanın:
const int motorPin1 = 9; // Motor sürücü kartının IN1 pini const int motorPin2 = 10; // Motor sürücü kartının IN2 pini
void setup() { pinMode(motorPin1, OUTPUT); // Motor kontrol pinlerini çıkış olarak ayarla pinMode(motorPin2, OUTPUT); }
void loop() { digitalWrite(motorPin1, HIGH); // Motoru döndürmeye başla digitalWrite(motorPin2, LOW); delay(1000); // 1 saniye çalış digitalWrite(motorPin1, LOW); // Motoru durdur digitalWrite(motorPin2, LOW); delay(1000); // 1 saniye bekle }
Bu kod, motorun bir yönde döndürülmesini sağlar ve ardından 1 saniye durur. Motorun yönünü değiştirmek için motorPin1 ve motorPin2 pinlerinin durumlarını değiştirmeniz yeterlidir. Kodunuzu Arduino kartınıza yükleyin ve motorun doğru çalışıp çalışmadığını kontrol edin.
Motor Hızını ve Yönünü Ayarlama
Motor hızını ve yönünü daha hassas bir şekilde kontrol etmek için PWM (Pulse Width Modulation) kullanabilirsiniz. PWM sinyalleri, motorun hızını ayarlamanıza olanak sağlar. Kodunuza PWM sinyalleri eklemek için analogWrite() fonksiyonunu kullanabilirsiniz:
const int motorPin1 = 9; const int motorPin2 = 10; const int motorSpeed = 255; // Maksimum hız
void setup() { pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); }
void loop() { analogWrite(motorPin1, motorSpeed); // Hızı ayarla digitalWrite(motorPin2, LOW); delay(1000); analogWrite(motorPin1, 0); // Hızı durdur digitalWrite(motorPin2, LOW); delay(1000); }
Bu kod, motorun hızını kontrol etmek için PWM sinyali kullanır ve motorun daha yavaş veya daha hızlı dönmesini sağlar. Motorun yönünü değiştirmek için motorPin1 ve motorPin2 pinlerinin durumlarını değiştirmeyi unutmayın.