Arduino ile L298N Motor Sürücü Kartı Kullanımı

Giriş

L298N motor sürücü kartı, DC motorları ve adım motorlarını kontrol etmek için kullanılan popüler bir H-Köprüsü motor sürücüsüdür. Arduino ile birlikte kullanıldığında, iki DC motorun hızını ve yönünü kolayca kontrol etmenizi sağlar. Bu makalede, L298N motor sürücü kartının Arduino ile nasıl kullanılacağını, bağlantılarını ve temel kod örneklerini detaylı bir şekilde ele alacağız.

L298N Motor Sürücü Kartının Özellikleri

  • İki adet DC motoru kontrol edebilir.
  • Her kanal için maksimum 2A akım.
  • 5-35V arasındaki gerilimlerle çalışabilir.
  • Hız kontrolü için PWM sinyali kullanabilir.
  • Dahili 5V regülatörüne sahiptir, bu sayede düşük gerilimli mikrodenetleyiciler ile uyumlu hale gelir.

L298N Motor Sürücü Kartının Pinleri

L298N motor sürücü kartı üzerinde aşağıdaki temel pinler bulunur:

  • IN1 ve IN2: Motor A’nın yön kontrolü için kullanılan girişler.
  • IN3 ve IN4: Motor B’nin yön kontrolü için kullanılan girişler.
  • ENA ve ENB: Motor A ve Motor B’nin hız kontrolü için kullanılan PWM girişleri.
  • OUT1 ve OUT2: Motor A’ya bağlı motorun çıkış pinleri.
  • OUT3 ve OUT4: Motor B’ye bağlı motorun çıkış pinleri.
  • 12V: Harici güç kaynağı için gerilim girişi.
  • 5V: Kart üzerindeki 5V regülatörünün çıkışı.
  • GND: Toprak bağlantısı.

Bağlantı Şeması

Arduino ve L298N motor sürücü kartını bağlamak için aşağıdaki adımları izleyin:

  1. Güç Bağlantısı: L298N kartının 12V pinine harici güç kaynağını bağlayın. GND pinini de güç kaynağının negatifine bağlayın. Bu motorları besleyecek olan ana güç kaynağıdır.
  2. Motor Bağlantısı:
    • Motor A’nın kablolarını L298N kartının OUT1 ve OUT2 pinlerine bağlayın.
    • Motor B’nin kablolarını OUT3 ve OUT4 pinlerine bağlayın.
  3. Arduino Bağlantısı:
    • L298N kartının IN1, IN2, IN3 ve IN4 pinlerini sırasıyla Arduino’nun 7, 6, 5 ve 4 numaralı dijital pinlerine bağlayın.
    • ENA pinini Arduino’nun 9 numaralı PWM pinine ve ENB pinini 10 numaralı PWM pinine bağlayın.
    • L298N kartının GND pinini Arduino’nun GND pinine bağlayın.

Kod Örneği

Aşağıda, iki DC motorun hızını ve yönünü kontrol etmek için basit bir Arduino kodu bulunmaktadır:

// Motor A pin tanımları
int enA = 9;
int in1 = 7;
int in2 = 6;

// Motor B pin tanımları
int enB = 10;
int in3 = 5;
int in4 = 4;

void setup() {
// Motor A pinleri çıkış olarak ayarlandı
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);

// Motor B pinleri çıkış olarak ayarlandı
pinMode(enB, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}

void loop() {
// Motor A ileri yönde hareket ediyor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
// Motor B geri yönde hareket ediyor
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);

// Motor hızını ayarlama
analogWrite(enA, 200); // Motor A hız
analogWrite(enB, 150); // Motor B hız

// 3 saniye boyunca bu şekilde çalıştır
delay(3000);

// Motorları durdur
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);

// 2 saniye bekle
delay(2000);

// Motor A geri yönde hareket ediyor
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
// Motor B ileri yönde hareket ediyor
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);

// Motor hızını ayarlama
analogWrite(enA, 255); // Motor A hız
analogWrite(enB, 100); // Motor B hız

// 3 saniye boyunca bu şekilde çalıştır
delay(3000);

// Motorları durdur
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);

// 2 saniye bekle
delay(2000);
}

Kod Açıklaması

  • setup() fonksiyonu, L298N kartının kontrol pinlerini çıkış olarak ayarlar.
  • loop() fonksiyonu, motorları belirli bir hızda ve yönde döndürür, ardından durdurur ve ters yönde çalıştırır.
  • digitalWrite() fonksiyonları, motorun yönünü belirler.
  • analogWrite() fonksiyonları ise motorun hızını kontrol eder. PWM sinyali ile motor hızını 0 ile 255 arasında ayarlayabilirsiniz.

Sonuç

L298N motor sürücü kartı, Arduino ile birlikte iki DC motorun hızını ve yönünü kontrol etmek için kolay ve etkili bir çözümdür. Bu makalede, L298N kartının temel özelliklerini, bağlantılarını ve örnek Arduino kodunu inceledik. Bu bilgilerle, kendi projelerinizde motor kontrolünü kolayca gerçekleştirebilirsiniz.