Arduino ile L298N motor sürücü kullanma
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.
298N 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ı ş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ı
//Kodmek.com 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); //Tüm pinlerden güç çıkışı olacağı için OUTPUT olarak ayarladık. pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop() { // motor 1 digitalWrite(in1, HIGH); digitalWrite(in2, LOW); // motor 2 digitalWrite(in3, HIGH); digitalWrite(in4, LOW); }
L298N motor sürücü motor hız kontrolü arduino kodları
//Kodmek.com 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); }