Arduino L293D Motor Shield Kullanımı Nasıl Yapılır?

arduino-motor-shield-arduino-shield-china-31560-32-B

Arduino L293D Motor Shield Kullanımı Nasıl Yapılır?

L293D Motor Shield Kullanımı

L293D entegresine sahip bu Motor Shield en çok kullanılan Arduino Shield Çeşitlerindendir. Kart üzerinde 4 adet DC motor çıkışı, 2 adet Bipolar Step Motor ve 2 adet Servo Motor sürmek için çıkış vardır.

arduino-l293d-motor-shield

Arduino L293D Motor Shield Kullanımı için gerekli malzemeler:

Arduino Motor Shield L293D Özellikleri

L293D entegresine sahip olan Motor sürücü shield, standart bileşenlerle çok kullanışlı bir modüldür. İki L293D motor sürücüsü ve bir 74HC595 entegresi ile hızlı kontrol sağlar.

L293D, monolitik entegre, yüksek voltajlı, yüksek akımlı, 4 kanallı bir motor sürücüsüdür.

Temel olarak, bu çipi DC motorları ve 10 Volt’a kadar güç kaynaklarını kullanmak için kullanabileceğiniz ve çipin kanal başına maksimum 600mA akım sağlayabileceği anlamına gelir.

– 4 adet DC motor veya 2 adet step motor veya 2 adet servo kontrol edebilir.

– Ayrı 8-bit hıza sahip 4 adete kadar çift yönlü DC motor.

– Tek bobinli, çift bobinli veya ara kademeli kademeli 2 adede kadar step motor (tek kutuplu veya bipolar).

– 4 H – köprüler: Köprü başına, termal korumalı 0.6A (1.2 A pik akım) sağlar, motorlar 4,5V ila 10V DC’de kontrol edebilir.

– Çekme dirençleri, başlatma sırasında motorları kapalı tutar.

– sıfırlama düğmesi.

– Ayrı mantık / motor için 2 harici terminal Güç Arabirimi.

– Arduino Uno, Mega, Diecimila & Duemilanove ile uyumlu.

l293d-servo-motor-baglanti-semasi

Kodu Arduino Kartınıza yükledikten sonra sistem otomatik olarak çalışacaktır.

L293D Modül Kütüphanesini Arduino programının kurulu olduğu dizindeki “libraries” alanına eklemeniz gerekir. Bu eklemeden sonra L293D Motor Shield Arduino Kodu dosyası direkt olarak çalışacaktır.

arduino ya kütüphane eklemek

Arduino L293D Motor Shield Kodu

#include <AFMotor.h>
#include <Servo.h>
 
Servo myservo;  // servo
int pos = 0;    // servo pozisyonu
AF_DCMotor motor1(1); // create motor #1
AF_DCMotor motor2(2); // create motor #2
AF_DCMotor motor3(3); // create motor #1
AF_DCMotor motor4(4); // create motor #2
 
void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Motor test!");
  myservo.attach(9);  // servo pini 9  
  motor1.setSpeed(200);     //Hız 200 - 255
  motor2.setSpeed(200);     //Hız 200 - 255
  motor3.setSpeed(200);     //Hız 200 - 255
  motor4.setSpeed(200);     //Hız 200 - 255
}
 
void loop() {
  Serial.print("ileri");
  motor1.run(FORWARD);      
  motor2.run(FORWARD);      
  motor3.run(FORWARD);      
  motor4.run(FORWARD);      
  delay(1000);
 
  Serial.print("geri");
  motor1.run(BACKWARD);    
  motor2.run(BACKWARD);  
  motor3.run(BACKWARD); 
  motor4.run(BACKWARD); 
  delay(1000);
  
  Serial.print("dur");
  motor1.run(RELEASE);  
  motor2.run(RELEASE); 
  motor3.run(RELEASE); 
  motor4.run(RELEASE); 
  delay(1000);

// servo test
    for (pos = 0; pos <= 180; pos += 1) { // servoyu 180 derece döndürmek için for dongusu kullan
    myservo.write(pos);              // pozisyonu yaz
    delay(15);                       // 15 ms bekle
  }
  for (pos = 180; pos >= 0; pos -= 1) { // servoyu 180 derece döndürmek için for dongusu kullan
    myservo.write(pos);              //pozisyonu yaz
    delay(15);                       // 15 ms bekle
  }

  
}