Arduino ve L298N Motor Sürücü ile DC Motor Kontrolü ve Hız Ayarı

👤 Yazar: ozcan 📅 Tarih: 09.07.2026 09:44 👁️ Görüntüleme: 30

Arduino ve L298N Motor Sürücü ile DC Motor Kontrolü ve Hız Ayarı

Robotik projelerin, çizgi izleyen araçların ve uzaktan kumandalı arabaların kalbi motor sürücülerdir. Arduino’nun kendi pinleri yüksek akım çeken DC motorları doğrudan çalıştırmaya yetmez; zorlandığında kartınız yanabilir. Bu rehberde, hobicilerin en çok tercih ettiği L298N Çift Kanallı Motor Sürücü modülünü kullanarak iki adet DC motorun yönünü ve hızını (PWM ile) nasıl kontrol edeceğimizi adım adım öğreneceğiz.

Gerekli Malzemeler

  • Arduino Uno
  • L298N Motor Sürücü Kartı
  • 2 Adet DC Motor (Tekerlekleri ile birlikte)
  • Harici Güç Kaynağı (9V Pil veya 2 Adet 18650 Pil)
  • Jumper Kablolar

1. L298N ve Motor Bağlantı Şeması

L298N modülünü bağlarken yapılan en büyük hata, harici pilin eksisi (GND) ile Arduino'nun eksisini (GND) birleştirmemektir. Devrenizin çalışması için bu ortak GND bağlantısı şarttır. Bağlantıları yaparken aşağıdaki görseli ve tabloyu takip edebilirsiniz:

arduino l298N ile motor kontrol

L298N Üzerindeki Pin/Klemens Bağlanacağı Yer
12V Girişi Harici Pilin Artı (+) Kutbu
GND Girişi Harici Pilin Eksi (-) Kutbu VE Arduino GND Pini (Ortak)
5V Girişi Boş bırakın (Eğer sürücü üzerindeki 5V jumper takılıysa, burası dışarıya 5V çıkış verir)
OUT1 - OUT2 Klemensleri 1. Motorun Kabloları
OUT3 - OUT4 Klemensleri 2. Motorun Kabloları
ENA (Hız Pini - Motor A) Arduino Pin 5 (PWM Pini) - *Jumper'ı söküp kablo bağlayın*
IN1 / IN2 (Yön Pinleri) Arduino Pin 6 / Pin 7
IN3 / IN4 (Yön Pinleri) Arduino Pin 8 / Pin 9
ENB (Hız Pini - Motor B) Arduino Pin 10 (PWM Pini) - *Jumper'ı söküp kablo bağlayın*

2. Arduino Kod Blokları

Bu kodda motorların hem yönünü hem de hızını kontrol ediyoruz. analogWrite fonksiyonu ile motorlara 0 (durma) ile 255 (tam hız) arasında hız değerleri göndereceğiz.

// Motor A (Sol Motor) Pin Tanımlamaları
const int ena = 5;
const int in1 = 6;
const int in2 = 7;

// Motor B (Sağ Motor) Pin Tanımlamaları
const int in3 = 8;
const int in4 = 9;
const int enb = 10;

void setup() {
  // Tüm motor kontrol pinlerini çıkış olarak ayarlıyoruz
  pinMode(ena, OUTPUT);
  pinMode(enb, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}

void loop() {
  // ---- 1. ADIM: Motorları Yarı Hızda İleri Döndürme ----
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  
  analogWrite(ena, 150); // Hız değeri: 150 (Maksimum 255)
  analogWrite(enb, 150);
  delay(3000); // 3 saniye boyunca ileri git
  
  // ---- 2. ADIM: Motorları Durdurma ----
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(1000); // 1 saniye dur
  
  // ---- 3. ADIM: Motorları Tam Hızda Geri Döndürme ----
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  
  analogWrite(ena, 255); // Maksimum hız
  analogWrite(enb, 255);
  delay(3000); // 3 saniye boyunca geri git

  // ---- 4. ADIM: Motorları Durdurma ----
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(1000);
}

Sık Yaşanan Sorunlar ve Çözümleri

1. Motorlardan Biri İleri Giderken Diğeri Geri Gidiyor

Çözüm: Motorların dönüş yönü kabloların takılış şekline bağlıdır. Ters dönen motorun L298N üzerindeki (OUT klemensindeki) iki kablosunun yerini birbiriyle değiştirin (Örn: OUT1'deki kabloyu OUT2'ye, OUT2'dekini OUT1'e takın). Sorun çözülecektir.

2. Motorlar Hiç Dönmüyor Ama Arduino Çalışıyor

Çözüm: L298N sürücüsüne harici bir pil bağladığınızdan emin olun. Motorlar Arduino'nun 5V pini üzerinden gelen akımla dönemezler. Ayrıca yukarıda belirttiğimiz gibi, harici pilinizin eksi (-) kutbundan Arduino'nun GND pinine bir siyah jumper kablo çekerek şaseleri (GND) birleştirdiğinizi mutlaka kontrol edin.

3. Hız Kontrolü (analogWrite) Çalışmıyor, Motor Hep Tam Hızda Dönüyor

Çözüm: L298N kartının ENA ve ENB pinlerinin üzerinde siyah plastik kısa devre başlıkları (jumper) bulunur. Hız kontrolü yapmak için bu plastikleri elinizle söküp çıkarmalı ve açığa çıkan pinlere Arduino'nun 5 ve 10 numaralı PWM özellikli pinlerinden kablo çekmelisiniz.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder
© 2026 Yenidir.com
Yenidir CMS V0.1