Arduino ile L298N motor sürücü kullanımı

Arduino ile L298N motor sürücü kullanımı

Bu yazımızda L298N motor sürücü kartının arduino devre bağlantı şemasını, L298N motor sürücü kartının arduino kodlarını ve çeşitli ipuçlarını inceleyeceğiz. 

L298N motor sürücü kartı ne işe yarar?

L298N motor sürücü kartı ile arduino kullanarak motor kontrolü gerçekleştirebilirsiniz. Motor sürücü kartına bağlayacağınız 2 motoru ileri veya geri tam güçte ya da istediğiniz hızda sürebilirsiniz. Motor sürücü kartları DC motor kullanılacak projelerde işinize oldukça yarayacak ve kullanımı ve kodlaması oldukça basit bir karttır.

L298N motor sürücü kartı arduino bağlantısı nasıl yapılır?

L298N motor sürücü kartının arduino bağlantı şemasına geçmeden önce kartın harici bir güç kaynağına ihtiyacı olduğunu bilmeliyiz. Bunun için 9V pil kullanabilirsiniz.

Pilin + kutbunu motor sürücünün +12V , – kutbunu ise GND girişine bağlanmalıdır. Ayrıca motor sürücünün çalışabilmesi için motor sürücünün GND girişinden bir ek kablo ile arduino GND pinine bağlantı yapılmalıdır.


l298n motor sürücü kartı arduino bağlantı devre şeması

L298N motor sürücü kartı arduino bağlantı şeması görseldeki gibi yapılmalıdır. Burada Sürücü kart üzerindeki IN1 ve IN2 soldaki motoru, IN3 ve IN4 ise sağdaki motoru kontrol etmek için kullanılmaktadır. Arduinoda sırasıyla 8,9,10 ve 11 numaralı pinlere bağlantı yapabilirsiniz. Motorları tam güçte sürmek için ENA ve ENB pinlerine bağlı kelepçeler çıkarılmamalıdır.

L298N motor sürücü arduino kodları

const int in1 = 8;     // Motor sürücümüze bağladığımız pinleri tanımlıyoruz
const int in2 = 9;     
const int in3 =  10;
const int in4 =  11;
 
void setup() 
 
{
pinMode(in1, OUTPUT);  // Güç çıkışı olacağı için OUTPUT olarak ayarladık.
pinMode(in2, OUTPUT);  
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
 
void loop() 
{
digitalWrite(in1, HIGH);   // motor 1 İleri
digitalWrite(in2,  LOW);  

digitalWrite(in3, HIGH);   // motor 2 ileri
digitalWrite(in4,  LOW);

/*
Eğer motorlar yanlış hareket ediyorsa in1, in2, in3 ve in4 pinlerinin yerlerini değiştirin.
*/
}

L298N Motor sürücü kartı arduino kodları

Burada dikkat edilmesi gereken nokta motorların çalışabilmesi için motora bağlı iki pinden birisi HIGH pozisyonunda iken diğeri LOW pozisyonunda olmalıdır. İki pin birden HIGH pozisyonunda iken gerilim olmayacağı için motor çalışmayacaktır. Motoru ters yönde sürmek için pinlerin HIGH ve LOW pozisyonlarını değiştirebilirsiniz.

Örneğin;

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

kodları ile motor ileri yönde dönüyorsa,

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH); kodları ile motoru geri yönde sürebilirsiniz.

Yukarıdaki kodlarla arduino ile L298N motor sürücü kartını kullanarak 2 adet motoru tam güçte ileri veya geri sürebilirsiniz.

L298N arduino kullanarak motor hız kontrolü nasıl yapılır?

L298N motor sürücü kartını kullanarak motorları istediğimiz hızda sürebiliriz. Bunun için ENA ve ENB pinlerine bağlı kelepçeler çıkarılmalıdır. Motor hız kontrolü yapabilmek için bu pinleri arduino PWM pinlerinden birine bağlanmalıdır. PWM pinleri ~ işareti ile gösterilir ve arduinonun 3,5,6,9,10 ve 11 numaralı pinleri PWM pinleridir.

ENA ve ENB pwm pinlerinden analogWrite(enA,  255); komutuyla 0 ile 255 arasında bir değer ile motor hız kontrolünü sağlayabilirsiz.

L298N motor sürücü kartı ile motor hız kontrolü

L298N motor sürücü motor hız kontrolü arduino kodlarıL298N motor sürücü motor kontrolü için arduino kodları

const int in1 = 8;     // Motor sürücümüze bağladığımız pinleri tanımlıyoruz
const int in2 = 9;     
const int in3 =  10;
const int in4 =  11;
 
const int enA = 5;  //Enable pinlerini arduino 5,6 pwm pinlerine bağladık.
const int enB = 6;
 
void setup() 
 
{
pinMode(in1, OUTPUT); 
pinMode(in2, OUTPUT);  
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
 
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
}
 
void loop() 
 
{
 // motor 1
analogWrite(enA,  255);   //1. motor 255 ile tam hızda dönüyor...
digitalWrite(in1, LOW);
digitalWrite(in2,  HIGH);  
 
 // motor 2
analogWrite(enB,  40);  //2. motor 40 ile yavaş dönüyor...
digitalWrite(in3, HIGH);
digitalWrite(in4,  LOW);
}

Bu yazımızda L298N motor sürücü kartının arduino bağlantı devre şemasını inceledik, l298N motor sürücü arduino kodlarını ve l298N motor sürücü ve arduino ile motor hız kontrolünün nasıl yapılacağını açıklamaya çalıştık.

Yazar hakkında

Orhan Gazi DEMİRCİ administrator

1984 Samsun doğumluyum. Ondokuz Mayıs Üniversitesi Bilgisayar öğretmenliği 2007 Mezunuyum. Bafra İlçe Milli Eğitim Müdürlüğünde Fatih Projesi eğitmenliği görevinde bulunmaktayım. KodlaBafra yürütücülüğü 2017 yılından beri yürütmekteyim. Evli ve bir çocuk babasıyım.