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

Arduino L298N Kullanımı

Bu yazımızda dc motor ve Rpm motorları yönetmemizi sağlayan L298N motor sürücüyü ele alacaz. Lafı uzatmadan yazımıza başlayalım.

L298N Motor Sürücü Nedir ?

L298N motor sürücü, L298N motor sürücü entegre edilmiş olan ve birbirinden bağımsız şekilde iki motoru kontrol etmekte yardımcı olan, 5Volt ile 46Volt arasındaki motorları sürmek için yapılmış sürücü kartıdır.

L298N Motor Sürücü

Motor sürücüler hayatımızın aslında her yerindedir. Buna en küçük örnek olarak ise son yıllarda evlerimize kadar giren 3 boyutlu yazıcılar dahi olmak üzere motor sürücü bulunmaktadır ve bu motor sürücüler step motorların adım adım hareketini sağlamakta ve böylelikle evimizi atölye çevirmemizi sağlamaktadır. Motorların sınıflarına göre çeşitli motor sürücüler kullanılır.

A4988 Step Motor Sürücü

Bu kat üzerinde bulunan L298N motor sürücüsü sayesinde iki motoru birbirinden bağımsız şekilde yönetebilmektedir. Bu sayede bir çok çeşitte motor ve bir çok çeşitte volttaki motoru kolaylıkla yönetimini sağlar. İki ayrı motora 2 Amper gücünde güç verebilmektedir.

L298N

L298N motor sürücü sayesinde bir çok projede motorların bağımsız şekilde yönetilebilmesi sağlamaktadır ve sumo, uzaktan kumandalı araba, çizgi izleyen robot ve bu tur tekerlekli araçların motor kontrolleri L298N motor sürücüden sorulmaktadır.

Arduino Bluetooth Araba

L298 Motor Sürücüyü tanımlayıp kullanım alanlarına göz attığımıza göre şimdi ise basit projeler ile bu sürücüyü tanımlayalım. İlerleyen vakitlerde bu sürücüyü araç projelerimizde oldukça sık kullanacağımızı belirtip projelere geçelim.

Proje 1

Bu projemizde L298N motor sürücüyü kullanımı anlamak amacıyla iki tane Rpm motor bağlantısını yapacaz ve bu motorların ileri yönlü gitmesini amaclıyacaz. Lafı uzatmadan malzemeleri listeyelim.

Şimdi ise kod satırlarını oluşturalım. Kod satırlarını oluşturmadan önce Rpm motorlar hakkında bilginiz yoksa  Tıklayınız.tıklayarak bilgi edinebilirsiniz ve burada benzer projeler bulunmaktadır. Şimdi ise kod satırlarını oluşturalım.

//omerfarukyildiz.com
const int in1 = 8;     //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in2 = 9;      //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in3 =  10; //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in4 =  11;  //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
void setup() 
{
pinMode(in1, OUTPUT);  //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in2, OUTPUT);   //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in3, OUTPUT); //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in4, OUTPUT); //Tanımlamış oldugumuz pinleri açıyoruz. 
}
void loop() 
{
digitalWrite(in1, HIGH); //sağ ve sol motoru ileri yönlü gidecek şekilde açıyoruz. 
digitalWrite(in3, HIGH);
digitalWrite(in2,  LOW);  
digitalWrite(in4,  LOW);  
}

Bu kod satıları sayesinde bağlayacağımız iki motorumuzun da eşit hızda ileri doğru hızlı bir şekilde hareketini gerçekleştirecektir. Şimdi ise devre şemasını çizelim.

Proje 1 Şeması

Bu projemizde oldukça basit şekilde L298N motor sürücü ile motorları ileri yönlü ve sürekli gidecek şekilde ayarladık ve bu sayede motorların ve L298N Motor sürücünün sorunsuz çalıştığını görmüş olduk. Şimdi ise diğer projemize geçelim.

Proje 2

Bu projemizde Yukarıdaki malzemeleri aynısını kullanarak L298N motor sürücü ile aracımızı önce ileri gitmesi sonra sağa daha sonra geri ve sola dönmesi ile aracımız kendi etrafında dans etmesini sağlayacaz. Lafı uzatmadan malzemeleri listeleyelim.

Şimdi ise kod satırlarını oluşturalım.

//omerfarukyildiz.com
const int in1 = 8;     //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in2 = 9;      //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in3 =  10; //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
const int in4 =  11;  //Motor sürücüye baglı olan pinleri sırası ile tanımlıyoruz.
void setup() 
{
pinMode(in1, OUTPUT);  //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in2, OUTPUT);   //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in3, OUTPUT); //Tanımlamış oldugumuz pinleri açıyoruz. 
pinMode(in4, OUTPUT); //Tanımlamış oldugumuz pinleri açıyoruz. 
}
void loop() 
{
analogWrite(in1, 150); //Aracın 50 milisaniye boyunca ileri yönlü hareket etmesini sağlayacak. 
analogWrite(in3, 150);
digitalWrite(in2,  LOW);  
digitalWrite(in4,  LOW);  
delay(500);

analogWrite(in1, 150); //Aracın 1 saniye boyunca sağa yönlü hareket etmesini sağlayacak. 
analogWrite(in4, 150);
digitalWrite(in2,  LOW);  
digitalWrite(in3,  LOW); 
delay(1000);
analogWrite(in2, 150); //Aracın 50 milisaniye boyunca geri yönlü hareket etmesini sağlayacak. 
analogWrite(in4, 150);
digitalWrite(in1,  LOW);  
digitalWrite(in3,  LOW);  
delay(500);
analogWrite(in2, 150);  //Aracın 1 saniye boyunca sola yönlü hareket etmesini sağlayacak. 
analogWrite(in3, 150);
digitalWrite(in1,  LOW);  
digitalWrite(in4,  LOW); 
delay(1000);
digitalWrite(in1,  LOW);   //Aracın 1 saniye boyunca hareketsiz kalmasını sağlayacak. 
digitalWrite(in2,  LOW);  
digitalWrite(in3,  LOW);  
digitalWrite(in4,  LOW);  
delay(1000);
}

Kod satıların ile iki tekerlekli olan motor sistemizi sürekli halde dans edecek ve dans işlemi bitince 1 saniye durum devam edecektir. Şimdi ise semayı ekleyelim.

Proje 2 Şeması

Bu yazımızda L298N motor sürücüyü ele aldık ve giriş seviyesinde projeler yaptık. Bundan sonraki yazılarımızda bu sürücü ile uzaktan kumandalı araç, engelden kaçan araç ve çizgi izleyen robotları da ele alacaz. Takipte kalın.

Yazı gezinmesi

Mobil sürümden çık