Menü

L293d ile Engelden Kaçan Robot

9 Aralık 2017 - Arduino, Genel
Rate this post

 

AMAÇ

Engelden kaçan robot (araba) arduino uno’unu içine attığımız program ile hareket ettiğinde önünde (Ultrasonik Mesafe Sensörü) ile bir cisim algıladığında belli bir mesafe sağladığında sağına, soluna veya geriye dönerek ilerler.

 

L293D ve L293B Motor Sürücü Entegreleri

L293D Motor Sürücü Entegre

L293D ve L293B motor sürücü entegreleri içlerinde iki adet H köprüsü barındıran 16 bacaklı motor sürücü      entegrelerdir. Genellikle DC motor kontrolünde tercih edilen motor sürücü entegreler olan L293D ve L293B ile iki motor birbirinden bağımsız olarak çift yönlü kontrol edilebilmektedir. Ayrıca L293 motor sürücü entegrelerin enable bacaklarının kullanılmasıyla PWM kontrolü de yapılabilmektedir.

 

L293D motor sürücü entegresi 4,5 V ile 36 V aralığında maksimum 600 mA akım sınırına kadar kullanılabilir. L293B motor sürücü entegrenin ise aynı voltaj aralığında, maksimum 1 A akım sınırına kadar kullanılması mümkündür.

 

L293 Motor sürücü entegre bacak yapısı

 

HC-SR04 Sensörü 

HC-SR04 Ultrasonik SensörHC-SR04 Ultrasonik Sensör

1)  Mesafe ölçümü için ve robot projelerinde kullanılabilir.

2)  Arduino devreleri ile kullanılabilir.

 3)  2 cm ile 400 cm arasınde mesafe ölçümü yapabilir.

4)  Ölçüm hassasiyeti 3 mm dir.

 

 

MALZEMELER     

 

 

1-  Arduino Uno

 

2-  6V Redüktörlü DC motor + Tekerlek

 

3-  L293B Motor Sürücü

 

4-  Hc-Sr04 Ultrasonik Mesafe Sensörü

 

5-  Sarhoş Tekerlek

 

6-  Ortaboy Breadbord

 

7-  Çeşitli Vida ve Somunlar

 

8-  12×12 cm Pertinaks ya da Bakır Plaket

 

9-  4 Adet Kablo bağı

 

10-  9V pil + Pil başlığı

 

 

ELEKTRONİK ŞEMASI

 

 

YAPIM AŞAMASI

 

1)  Pertinaks üzerine L293d motor sürücüsünü yerleştriyoruz.

 

2) L293d motor sürücüsü Pertinaksa lehim yapıyoruz.

 

3) Jumper kablolar ile devreyi kuruyoruz.

 

4) Jumper kablolarla kurduğumuz devreyi Pertinaks üzerine lehimliyoruz.

 

5)  Arduino Uno  ile L293d motor sürücüsünü jumper kablolar yardımıyla devreyi tamamlıyoruz.

 

6) Ve Arduino Uno’ya program atıyoruz.

 

7) Robotumuzun son halidir.

 

 

 

ARDUINO UNO KODU

 

const int trig = 12;
const int echo = 11;
const int leftForward = 2;
const int leftBackward = 3;
const int rightForward = 4;
const int rightBackward = 5;

int duration = 0;
int distance = 0;

void setup() 
{
  pinMode(trig , OUTPUT);
  pinMode(echo , INPUT);
  pinMode(leftForward , OUTPUT);
  pinMode(leftBackward , OUTPUT);
  pinMode(rightForward , OUTPUT);
  pinMode(rightBackward , OUTPUT);
  
  Serial.begin(9600);

}

void loop()
{
  digitalWrite(trig , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig , LOW);


  duration = pulseIn(echo , HIGH);
  distance = (duration/2) / 28.5 ;
  Serial.println(distance);
  

  if ( distance < 20 )
  {
    digitalWrite(leftForward , LOW);
    digitalWrite(leftBackward , HIGH);
    digitalWrite(rightForward , HIGH);
    digitalWrite(rightBackward , LOW);
    delay(100);
  }
  else
  {
    digitalWrite(leftForward , HIGH);
    digitalWrite(leftBackward , LOW);
    digitalWrite(rightForward , HIGH);
    digitalWrite(rightBackward , LOW);
  }
 
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Araç çubuğuna atla